Cách Khắc Phục Lỗi “XML declaration allowed only at the start of the document” Trong Sitemap WordPress

Những điểm chính

 

  • Nguyên nhân lỗi XML: Lỗi xuất hiện khi có ký tự thừa nằm trước dòng khai báo XML, thường do theme, plugin hoặc một file PHP trong WordPress tạo ra.

 

  • Ảnh hưởng đến website: Sitemap bị lỗi khiến Google không thể thu thập dữ liệu, gây giảm thứ hạng SEO.

 

  • Cách sửa lỗi: Tạo một file PHP chuyên dụng để loại bỏ ký tự thừa và nhúng vào WordPress qua vài thao tác đơn giản.

 

  • Lưu ý sau khi sửa lỗi: Kiểm tra toàn bộ file liên quan, xóa cache và xác minh lại sitemap.

 

Lỗi “XML declaration allowed only at the start of the document” là gì?

 

Lỗi này xảy ra khi có ký tự bất kỳ (dấu cách, dòng trống, ký tự vô hình…) xuất hiện trước dòng khai báo XML:


 
<?xml version="1.0" encoding="UTF-8"?>
 

Điều này khiến trình phân tích XML (XML parser) không thể xử lý tài liệu, dẫn đến website trả về báo lỗi khi truy cập sitemap. Trong WordPress, lỗi này xuất hiện nhiều nhất ở file sitemap.xml.

 

Một số nguyên nhân thường gặp trên WordPress

 

  • Có khoảng trắng hoặc ký tự không hợp lệ ở đầu các file như wp-config.php, functions.php.

 

  • Plugin SEO (Yoast, Rank Math…) sinh ra output không mong muốn.

 

  • Theme đang sử dụng chèn ký tự lạ vào đầu nội dung.

 

  • Lỗi chỉnh sửa file sitemap hoặc nhầm lẫn trong quá trình upload mã nguồn.

 

XML declaration, website, wordpress

 

Ảnh hưởng của lỗi “XML declaration allowed only at the start of the document”

 

  • Giảm hiệu quả SEO: Khi sitemap bị hỏng, Google sẽ không đọc được cấu trúc website và giảm khả năng index trang mới.

 

  • Gây lỗi cho trình duyệt hoặc ứng dụng: Các hệ thống cần đọc XML sẽ không thể phân tích dữ liệu.

 

  • Trang hiển thị trắng hoặc báo lỗi: Chỉ cần một ký tự thừa là toàn bộ tập tin XML không thể xử lý.

 

Cách sửa lỗi “XML declaration allowed only at the start of the document”

 

Dưới đây là phương pháp đơn giản nhất để xử lý tự động, không phải dò từng file một.

 

Bước 1: Tạo file whitespace_fix.php

 

Truy cập hosting qua FTP, File Manager hoặc SSH, sau đó điều hướng đến thư mục gốc WordPress (chứa file index.php).

 

Tạo một file mới tên whitespace_fix.php.

 

XML declaration, website, wordpress

 

Mở file vừa tạo và nhấn Edit.

 

XML declaration, website, wordpress

 

Dán đoạn mã xử lý whitespace vào file:

 

XML declaration, website, wordpress

 

XML declaration, website, wordpress

 

Lưu lại tệp.

 

Bước 2: Nhúng file whitespace_fix.php vào index.php

 

Tiếp theo, mở file index.php tại thư mục gốc WordPress.

 

XML declaration, website, wordpress

 

Thêm dòng sau ở ngay đầu file, trước mọi đoạn mã có thể sinh output:


 
include('whitespace_fix.php');
 

Ví dụ minh họa vị trí đúng:


 
<?php include('whitespace_fix.php'); // Các đoạn mã phía sau...
 

XML declaration, website, wordpress

 

Lưu lại tập tin.

 

Bước 3: Kiểm tra lại sitemap

 

Truy cập lại sitemap chính — thường là:


 
/sitemap_index.xml
 

Nhấn F5 để làm mới trang.


Nếu sitemap hiển thị bình thường và không còn báo lỗi, tức là bạn đã xử lý thành công.

 

Lưu ý quan trọng khi sửa lỗi

 

Dù cách khắc phục bằng file whitespace_fix.php rất hiệu quả, nhưng để xử lý triệt để bạn nên:

 

  • Kiểm tra kỹ lại file wp-config.php, functions.php và file của theme để đảm bảo không còn ký tự thừa.

 

  • Xóa toàn bộ cache của website và cache plugin (WP Super Cache, LiteSpeed Cache…).

 

  • Nếu dùng plugin SEO, hãy làm mới sitemap và kiểm tra lại trong Search Console.

 

Khi sitemap đã hoạt động bình thường, Google sẽ lập chỉ mục trở lại mà không ảnh hưởng đến SEO.

 HỖ TRỢ TRỰC TUYẾN