Sau khi thay đổi cấu trúc đường dẫn (Permalink) trên WordPress, nhiều website gặp tình trạng hàng loạt bài viết, danh mục hoặc trang sản phẩm bị lỗi 404.Đây là lỗi rất phổ biến khi đổi URL nhưng WordPress hoặc server chưa cập nhật rewrite rule đúng cách. Nếu xử lý sai, website có thể mất traffic SEO và Google index hàng loạt link lỗi.
I. Vì sao đổi Permalink lại gây lỗi 404?
Permalink là cấu trúc URL của bài viết, trang và danh mục trên WordPress.Khi bạn thay đổi permalink, toàn bộ URL cũ sẽ đổi theo. Nếu WordPress hoặc server không cập nhật rewrite rule đúng cách, website sẽ xuất hiện lỗi 404 hàng loạt.Ví dụ:
/?p=123
đổi thành:
/ten-bai-viet/
Nếu rewrite rule chưa hoạt động đúng, server sẽ không hiểu URL mới và trả về lỗi 404.
II. Những nguyên nhân phổ biến gây lỗi 404 sau khi đổi permalink
Dưới đây là các nguyên nhân thường gặp nhất khiến WordPress lỗi 404 hàng loạt sau khi thay đổi cấu trúc đường dẫn.
2.1 File .htaccess chưa được cập nhật
Đây là nguyên nhân phổ biến nhất trên hosting Apache.WordPress sử dụng file .htaccess để rewrite URL thân thiện SEO. Nếu file này bị lỗi hoặc thiếu rule, toàn bộ URL mới có thể bị 404.
2.1.1 Dấu hiệu nhận biết
Khi .htaccess bị lỗi, bạn thường sẽ thấy:
- Trang chủ vẫn hoạt động
- Bài viết và category bị 404
- URL admin vẫn truy cập được
- Đổi permalink xong lỗi ngay lập tức
2.1.2 Cách xử lý
Bạn hãy vào:
Sau đó chỉ cần bấm:
WordPress sẽ tự tạo lại rewrite rule trong file .htaccess.Nếu vẫn lỗi, hãy kiểm tra thủ công file:
.htaccess
Và đảm bảo có đoạn:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
2.2 Hosting chưa bật mod_rewrite
WordPress cần Apache mod_rewrite để hoạt động với permalink dạng đẹp.Nếu mod_rewrite bị tắt, URL sẽ không rewrite được và gây lỗi 404.
2.2.1 Dấu hiệu nhận biết
Khi mod_rewrite chưa bật, bạn thường thấy:
- URL mặc định hoạt động
- URL đẹp bị 404 toàn bộ
- Save permalink không có tác dụng
2.2.2 Cách xử lý
Nếu dùng VPS Apache, hãy bật rewrite:
sudo a2enmod rewrite
Sau đó restart Apache:
sudo systemctl restart apache2
Nếu dùng shared hosting, hãy liên hệ nhà cung cấp hosting.
2.3 Website cache URL cũ
Một số plugin cache hoặc CDN vẫn lưu URL cũ sau khi đổi permalink.Điều này khiến website tiếp tục redirect sai hoặc trả về lỗi 404.
2.3.1 Những nơi cần xóa cache
- Plugin cache WordPress
- LiteSpeed Cache
- WP Rocket
- Cloudflare
- Browser cache
2.3.2 Cách xử lý
Sau khi đổi permalink, hãy:
- Purge toàn bộ cache
- Clear CDN cache
- Test bằng tab ẩn danh
Đây là bước rất nhiều người quên sau khi thay đổi cấu trúc URL.
2.4 Redirect cũ bị conflict
Một số plugin redirect hoặc rule redirect cũ có thể conflict với permalink mới.Điều này thường xảy ra sau nhiều lần đổi cấu trúc URL.
2.4.1 Dấu hiệu nhận biết
- Redirect vòng lặp
- 404 ngẫu nhiên
- URL bị thêm nhiều ký tự lạ
- Redirect sang URL cũ
2.4.2 Cách xử lý
Bạn nên kiểm tra:
- Plugin Redirection
- Rule trong .htaccess
- Redirect trong Cloudflare
- Redirect tại hosting
Sau đó xóa các redirect conflict hoặc redirect cũ không còn sử dụng.
III. Cách sửa lỗi 404 hàng loạt nhanh nhất
Nếu website đang bị lỗi 404 diện rộng sau khi đổi permalink, bạn nên xử lý theo thứ tự dưới đây.
3.1 Save lại permalink
Đây là cách sửa nhanh nhất trong đa số trường hợp.
- Settings
- Permalinks
- Save Changes
Ngay cả khi không thay đổi gì, vẫn nên bấm save lại.
3.2 Kiểm tra file .htaccess
Nếu save permalink không hiệu quả, hãy kiểm tra file .htaccess.Đảm bảo:
- file tồn tại
- rewrite rule đúng
- hosting cho phép rewrite
3.3 Xóa toàn bộ cache
Đừng quên xóa:
- cache plugin
- cache hosting
- cache CDN
- cache browser
Nhiều website thực tế chỉ lỗi do cache chưa refresh.
3.4 Redirect URL cũ sang URL mới
Nếu website đã có SEO hoặc traffic, bạn nên redirect URL cũ sang URL mới để tránh mất index Google.Có thể dùng:
- Plugin Redirection
- Rank Math
- Yoast SEO Premium
Việc redirect đúng giúp giữ lại phần lớn sức mạnh SEO của URL cũ.
IV. Cách tránh lỗi 404 khi đổi permalink trong tương lai
Để tránh lỗi 404 hàng loạt khi thay đổi permalink, bạn nên chuẩn bị trước thay vì đổi trực tiếp trên website đang hoạt động.
4.1 Backup website trước khi đổi permalink
Luôn backup:
- database
- source code
- file .htaccess
Điều này giúp khôi phục website nhanh nếu xảy ra lỗi.
4.2 Không đổi permalink nhiều lần
Việc đổi URL liên tục sẽ:
- gây lỗi redirect
- mất SEO
- tăng nguy cơ 404
Tốt nhất nên chọn cấu trúc URL chuẩn ngay từ đầu.
4.3 Kiểm tra redirect bằng Google Search Console
Sau khi đổi permalink, hãy kiểm tra:
- Coverage
- 404 errors
- Redirect issues
Điều này giúp phát hiện sớm các URL đang lỗi.
V. Kết luận
Lỗi 404 hàng loạt sau khi đổi permalink trên WordPress thường xảy ra do:
- .htaccess lỗi
- hosting chưa bật rewrite
- cache URL cũ
- redirect conflict
Trong đa số trường hợp, chỉ cần:
- save lại permalink
- kiểm tra .htaccess
- xóa cache
- kiểm tra redirect
là website sẽ hoạt động lại bình thường.Nếu website đang có SEO hoặc traffic lớn, hãy luôn backup và cấu hình redirect trước khi thay đổi cấu trúc URL.