解决WordPress Feed、RSS以及Sitemap.xml访问报错问题

今天,查看百度站长平台的 sitemap 抓取情况时,发现提示解析错误:

解决WordPress Feed、RSS以及Sitemap.xml访问报错问题

很纳闷的点开看了下:

解决WordPress Feed、RSS以及Sitemap.xml访问报错问题

这个 sitemap_baidu_sp.xml 是 sitemap_baidu_sp.php 的伪静态,最近并没有改动过这个文件,怎么会出错呢?

于是访问http://zhangge.net/sitemap_m.xml试了下,发现如下报错:

解决WordPress Feed、RSS以及Sitemap.xml访问报错问题

 This page contains the following errors:

error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.

XML 解析错误:xml 处理指令不在实体的开始部分

 

右键查看源代码,发现<?xml version="1.0" encoding="UTF-8"?>前面存在空行!

以为是代码变动了,调试了半天的 sitemap_baidu_sp.php 的标题头,都没能搞定!

想到同为 xml 格式,于是继续打开了http://zhangge.net/feed http://zhangge.net/sitemap.xml 发现报的是同样的错误!

无奈之下度了下错误关键字,找到了一个大神的教程:

①、和某插件冲突。

....略....

①、有关 Feed 输出的某个 php 文件后有空行。

这里的某个文件指的是 wp-feed.php,wp-atom.php,wp-rss2.php,wp-config.php 和主题文件夹下的 functions.php 文件,一般来说 wp-feed.php,wp-atom.php,wp-rss2.php,wp-config.php 这些主程序文件我们是很少动的,
所以这些文件想都不用想直接排除掉,那么问题的症结就再 function.php 文件上了。

摘自翔子

不多想,直接编辑 functions.php,发现是昨天测试一个功能时,撤掉代码后在<?php 前留下了一个空行:

解决WordPress Feed、RSS以及Sitemap.xml访问报错问题

 

删除后,立竿见影!搞定:

解决WordPress Feed、RSS以及Sitemap.xml访问报错问题

评论已关闭!