🛠️ Khắc phục lỗi 404 khi tạo sitemap trên WordPress (Yoast SEO & Rank Math)
Bạn đang sử dụng Yoast SEO hoặc Rank Math để tạo sitemap và submit lên Google Search Console (trước là Webmaster Tools), nhưng khi truy cập vào đường dẫn như /sitemap.xml
hoặc /sitemap_index.xml
, lại nhận được thông báo lỗi 404 – không tìm thấy trang?
Dưới đây là cách xử lý từng nguyên nhân phổ biến:
1. Xung đột với cấu hình Permalinks (Liên kết tĩnh)
Nếu cấu trúc liên kết tĩnh trên WordPress có vấn đề, sitemap rất dễ gặp lỗi 404. Cách làm:
- Truy cập Dashboard → Settings → Permalinks.
- Nhấn Save Changes mà không cần chỉnh gì thêm.
- Sau đó, vào lại URL sitemap (ví dụ:
/sitemap_index.xml
) để kiểm tra.
Thao tác đơn giản này sẽ làm WordPress cập nhật lại .htaccess
hoặc rewrite rules, từ đó sitemap được phục hồi
2. Sitemap bị ẩn do bạn đã loại trừ nội dung
Nếu chỉ bị lỗi ở các sitemap phụ như /category-sitemap.xml
, /post-sitemap.xml
, /post_tag-sitemap.xml
, nguyên nhân nằm ở thiết lập plugin. Bạn có khả năng đã vô tình loại bỏ một số loại nội dung khỏi XML sitemap.
Cách kiểm tra và bật lại:
- Mở menu SEO → XML Sitemaps (với Yoast) hoặc tương tự trên Rank Math.
- Kiểm tra các mục có đang bị tắt không, nếu có hãy bật chúng lên và lưu lại cấu hình
3. Lỗi server — do Apache hoặc Nginx chưa cấu hình đúng
3.1 Nếu bạn dùng Apache:
- Yoast SEO:Sao chép đoạn sau vào file
.htaccess
trong thư mục gốc WordPress (backup trước khi chỉnh):# Fix Yoast XML sitemap rewrite RewriteEngine On RewriteBase / RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L] RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L] RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L]
- Rank Math:
# Rank Math sitemap rewrite RewriteEngine On RewriteBase / RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L] RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L] RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?xsl=$1 [L]
3.2 Nếu bạn dùng Nginx:
Thêm vào cấu hình domain (ví dụ nginx.conf
):
- Yoast SEO setup:
location ~ ([^/]*)sitemap(.*)\.xml$ { rewrite ^/sitemap.xml$ /sitemap_index.xml permanent; rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last; rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last; rewrite ^/([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 last; }
Nếu bạn có nhiều site dạng đa site hoặc subfolder/subdomain, mở rộng rewrite theo cấu trúc tương tự
- Rank Math setup:
rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last; rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
Sau khi chỉnh, cần reload/nginx restart, rồi kiểm tra lại sitemap.
✅ Tổng kết tối ưu SEO
- Thẻ tiêu đề (H1/H2) rõ ràng, chứa từ khóa chính (ví dụ: “lỗi 404 sitemap WordPress”).
- Đoạn mở bài ngắn gọn, xác định vấn đề cụ thể.
- Phân đoạn rõ ràng, mỗi phần xử lý từng lỗi riêng biệt.
- Kết luận/tóm lược ngắn, hướng dẫn nhanh các bước để truy vết và giải quyết.
Kết luận
Nguyên nhân | Biện pháp khắc phục |
---|---|
Permalinks cấu hình sai | Save lại Permalinks |
Sitemap phụ bị ẩn | Bật nội dung trong plugin |
Server thiếu rule rewrite | Thêm code phù hợp cho Apache hoặc Nginx |
Chỉ cần làm theo các bước trên, bạn sẽ dễ dàng giải quyết lỗi 404 khi tạo sitemap trên Yoast SEO hoặc Rank Math một cách hiệu quả – đồng thời vẫn giữ website thân thiện với SEO. Nếu cần mình hỗ trợ chi tiết hơn từng bước, cứ nói nhé!