![图片[1]-WordPress网站XML地图报错修复的方法-本站](https://img.cdn.st/images/2d4a17925bf31d4be2530b06c1a67f7d.jpg)
站点地图(sitemap.xml)是搜索引擎收录里绕不开的一环。地图文件生成好之后,直接在浏览器打开,有时会报一个 XML 相关的错误,导致整张地图无法被解析。
报错长什么样
典型的报错文本是这一句:
error on line 1 at column 6: XML declaration allowed only at the start of the document
它的含义是:第 1 行第 6 个字符处出现了 XML 声明,但声明必须放在文档最开头。多数情况下问题并不出在 sitemap 本身,而是根目录某个 PHP 文件在 <?php 之前多输出了空白(空行、空格或 BOM),这些空白被当成正文先吐出来,把真正的 XML 声明挤到了后面。
修复思路
打开网站根目录的 wp-blog-header.php,用下面的内容整体替换掉文件里的代码,关键是在加载 WordPress 库、执行查询的前后各做一次输出缓冲区控制:
<?php
if ( ! isset( $wp_did_header ) ) {
$wp_did_header = true;ob_start();
// Load the WordPress library.
require_once __DIR__ . '/wp-load.php';
// Set up the WordPress query.
wp(); ob_end_clean();
// Load the theme template.
require_once ABSPATH . WPINC . '/template-loader.php';
}
替换后保存文件,再刷新站点地图链接,报错一般就消失了。动手前先把原文件备份一份,万一改错能直接还原。
还是不行就继续排查空白字符
如果替换后依然报错,就挨个检查根目录里会被频繁引用的 PHP 文件,尤其是 wp-config.php:确认 <?php 之前没有任何空行,并且文件保存为不带 BOM 的 UTF-8 编码。用编辑器的“显示不可见字符 / 显示空白”功能最容易看出多余的空白。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















暂无评论内容