Bạn đang gặp phải các lỗi liên quan đến sitemap trong wordpress như Error on line 2 at column 6 hoặc Error on line 1 at column 8: XML declaration allowed only at the start of the document 

Hãy làm theo hướng dẫn sau đây có thể giúp được bạn loại bỏ vấn đề trên.

Bước 1: Vào public_HTML (Nơi chứa toàn bộ source code website)

Đầu tiên, bạn hãy đăng nhập vào Hosting/VPS của bạn. Tiếp đó, bạn di chuyển vào đúng đường dẫn chứa dữ liệu website và tạo mới một File mới và đặt tên là fixe.php. Sau đó, copy đoạn code sau và dán vào bên trong file mới tạo, tác dụng của đoạn code sau sẽ giúp bạn xóa khoảng trắng cũng như dấu xuống dòng khi thực thi tạo sitemap cho wordpress.

<?php
function fix_sitemap($input) {
$allowed = false;
$found = false;
foreach (headers_list() as $header) {
if (preg_match("/^content-type:\\s+(text\\/|application\\/((xhtml|atom|rss)\\+xml|xml))/i", $header)) {
$allowed = true;
}
if (preg_match("/^content-type:\\s+/i", $header)) {
$found = true;
}
}
if ($allowed || !$found) {
return preg_replace("/\\A\\s*/m", "", $input);
} else {
return $input;
}
}
ob_start("fix_sitemap");
?>

Bước 2: Sau đó vào file index.php thêm vào dòng sau:

include('fixe.php');

Bước 3: Trong quá trình làm theme, hoặc thêm chức năng nào đó thì bạn sẽ thêm các đoạn code vào trong file function.php, có thể các dòng code custom của bạn là nguyên nhân tạo ra lỗi XML declaration allowed only at the start of the document. Vậy thì bước này bạn cần thêm các dòng code sau vào trong file function.php của theme:

function fix_rankmath_sitemap_output() {
if (function_exists('is_feed') && is_feed()) {
while (ob_get_level()) {
ob_end_clean();
}
}
}
add_action('init', 'fix_rankmath_sitemap_output');

function start_output_buffer() {
ob_start();
}
add_action('init', 'start_output_buffer');
function clean_output_buffer() {
while (ob_get_level()) {
ob_end_clean();
}
ob_start();
}
add_action('init', 'clean_output_buffer');

Bước 4: Chạy file fixe.php trên trình duyệt và kiểm tra lại sitemap của bạn.

Chúc các bạn thành công!