Gần đây, tôi bắt đầu thấy lỗi Sitemap XML 404 Not Found trong một website WordPress tôi quản lý. Tôi đã sử dụng Plugin WordPress SEO by Yoast và tất cả mọi thứ điều hoạt động tốt ngoại trừ site map.
Và để kiểm tra nếu có sự xung đột giữa các plugins tôi đã vô hiệu hóa tất cả các plugin và cố gắng rất nhiều những thứ khác cũng có plugin nào gây ra lỗi này.
Sau đó, tôi đã thử tắt sitemap do plugin này tạo ra bằng cách vào phần quản lý của nó trong trang quản trị của WordPress trên thanh menu SEO=> XML Sitemaps=> bỏ chọn XML Sitemaps=> Lưu lại. Rồi tôi lại bật sitemap lên một lần nữa để kiểm tra, kết quả vẫn là Sitemap XML 404 Not Found. Zzzz!
Tôi không chắc chắn nguyên nhân gây ra lỗi này. Còn ở một website khác, tôi lại gặp phải tình trạng tương tự. nhưng là do plugin cache gây ra, cụ thể đó là do plugin W3 total cache không tương thích với site map do plugin Yoast tạo ra.
Cuối cùng, tôi cũng đã lần hồi lâu trên các blog WordPress của nước ngoài và đã khắc phục được lỗi Sitemap XML 404 Not Found.
Nhà phát triển plugin Yoast cho rằng vấn đề không phải là vì chỉ do không tương thích với các plugin cache, mà có là do mã theme nghèo (code không hỗ trợ tốt plugin này) hoặc plugin bạn đang sử dụng một số plugin tạo cache. Cuối cùng họ đưa ra cách giải quyết cho vấn đề này đó là thêm đoạn mã dưới đây trong tập tin .htaccess.
[php]# WordPress SEO – XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?xsl=$1 [L]
# END WordPress SEO – XML Sitemap Rewrite Fix[/php]
Vậy làm thế nào để thêm đoạn mã này vào file .htaccess? Dĩ nhiên là bạn đã cài đặ sẵn plugin Yoast rồi, cho nên các dễ dàng mở file này lên và thêm đoạn mã kia vào đó là vào chức năng Edit Files trong phần quản lý của plugin này.
Tức là, trên thanh menu của trang Dashboard: SEO => Edit Files=> Ta lăn chuột đến file .htaccess và thêm đoạn mã trên vào phần dưới cùng của nội dung file này=> Nhấn nút Save.
Nếu bạn đang sử dụng một số plugin bảo mật và nó có thay đổi nội dung của file .htaccess thì trong trường hợp đó, phải có một số thiết lập trong plugin để từ đó bạn có thể chỉnh sửa các tập tin .htaccess.
Và thế là 2 website mà mình quản lý đã không còn bị lỗi Sitemap XML 404 Not Found ở plugin WordPress SEO by Yoast. Nếu bạn có cách nào hay hơn, hãy share cho mọi người cùng biết nhé.