WordPress Permalink Not Working: Nguyên Nhân Và Cách Khắc Phục Toàn Diện

wordpress permalink not working

Khi gặp lỗi wordpress permalink not working, trang web của

wordpress permalink not working - Hình 5

Permalink là đường dẫn cố định đến từng bài viết, trang hoặc danh mục trên website WordPress. Cấu trúc permalink quyết định cách URL hiển thị trên trình duyệt và ảnh hưởng đến SEO. Một permalink thân thiện với SEO thường chứa từ khóa chính và có cấu trúc rõ ràng như /danh-muc/bai-viet-mau thay vì /?p=123.

Khi permalink không hoạt động, toàn bộ hệ thống liên kết nội bộ bị phá vỡ. Công cụ tìm kiếm không thể thu thập dữ liệu đúng cách, người dùng nhận được thông báo lỗi 404, và tỷ lệ thoát trang tăng cao. Điều này đặc biệt nghiêm trọng với các website có lượng traffic lớn hoặc đang trong quá trình tối ưu SEO.

Nguyên Nhân Khiến WordPress Permalink Not Working

wordpress permalink not working - Hình 4

1. File.htaccess Bị Thiếu Hoặc Sai Cấu Hình

File.htaccess đóng vai trò điều hướng URL trong WordPress. Khi bạn thay đổi cấu trúc permalink, WordPress cần ghi lại quy tắc rewrite vào file này. Nếu file.htaccess không tồn tại, không thể ghi hoặc bị hỏng, lỗi permalink sẽ xuất hiện ngay lập tức.

Nguyên nhân thường gặp bao gồm quyền truy cập file không chính xác (thường là 644 hoặc 640), máy chủ không hỗ trợ mod_rewrite, hoặc plugin bảo mật chặn ghi file. Kiểm tra bằng cách truy cập FTP và xem file.htaccess trong thư mục gốc. Nếu không thấy, bạn cần tạo file mới với nội dung mặc định từ WordPress.

2. Mod_Rewrite Chưa Được Kích Hoạt Trên Máy Chủ

Apache sử dụng module mod_rewrite để xử lý URL rewriting. Nếu module này bị tắt, WordPress không thể chuyển đổi URL động thành URL tĩnh. Hầu hết các hosting chia sẻ đều bật sẵn mod_rewrite, nhưng với VPS hoặc máy chủ riêng, php phpinfo();?> và tìm kiếm “mod_rewrite” trong danh sách loaded modules. Nếu không thấy, liên hệ nhà cung cấp hosting hoặc kích hoạt qua dòng lệnh: sudo a2enmod rewrite trên Ubuntu/Debian.

3. Xung Đột Plugin Hoặc Theme

Một số plugin SEO, plugin cache hoặc plugin bảo mật có thể can thiệp vào cấu trúc permalink. Plugin như Yoast SEO, Rank Math, W3 Total Cache hoặc Wordfence đôi khi tạo ra xung đột khiến permalink không hoạt động. Theme kém chất lượng cũng có thể ghi đè các quy tắc rewrite mặc định.

Để kiểm tra, tạm thời vô hiệu hóa tất cả plugin và chuyển về theme mặc định (Twenty Twenty-Four). Nếu permalink hoạt động trở lại, kích hoạt từng plugin để xác định thủ phạm.

4. Cấu Hình Permalink Không Đồng Bộ Với Cơ Sở Dữ Liệu

Sau khi di chuyển website từ localhost lên hosting hoặc đổi tên miền, cấu trúc permalink trong cơ sở dữ liệu có thể không đồng bộ. Các URL cũ vẫn tồn tại trong bảng wp_posts nhưng không khớp với quy tắc rewrite mới. Điều này dẫn đến lỗi 404 ngay cả khi permalink đã được cập nhật.

5. Lỗi Do Cấu Hình Web Server Nginx

Với máy chủ sử dụng Nginx thay vì Apache, WordPress không thể tự động ghi quy tắc rewrite vào file.htaccess. Bạn cần thêm các quy tắc rewrite thủ công vào file cấu hình Nginx. Nếu bỏ qua bước này, permalink sẽ không hoạt động và tất cả URL đều trả về lỗi 404.

Cách Khắc Phục WordPress Permalink Not Working

wordpress permalink not working - Hình 3

Bước 1: Lưu Lại Cấu Trúc Permalink

Đây là giải pháp đơn giản nhất và thường hiệu quả với các lỗi nhẹ. Vào Dashboard > Settings > Permalinks, chọn lại cấu trúc mong muốn (ví dụ: Post name) và nhấn Save Changes. WordPress sẽ tự động ghi lại quy tắc rewrite vào file.htaccess. Thao tác này mất khoảng 5 giây và có thể khắc phục ngay lập tức.

Bước 2: Kiểm Tra Và Sửa File.htaccess

Truy cập thư mục gốc qua FTP hoặc File Manager. Nếu file.htaccess tồn tại, sao lưu và xóa nó. Sau đó quay lại Settings > Permalinks và nhấn Save Changes để WordPress tạo file mới. Nếu file không tồn tại, tạo file mới với tên .htaccess và thêm nội dung sau:

Nội dung file.htaccess mặc định cho WordPress:

    • # BEGIN WordPress
    • <IfModule mod_rewrite.c>
    • RewriteEngine On
    • RewriteRule.* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    • RewriteBase /
    • RewriteRule ^index.php$ – [L]
    • RewriteCond %{REQUEST_FILENAME}!-f
    • RewriteCond %{REQUEST_FILENAME}!-d
    • RewriteRule. /index.php [L]
    • </IfModule>
    • # END WordPress

    Đảm bảo quyền truy cập file là 644 hoặc 640 để WordPress có thể ghi.

    Bước 3: Kích Hoạt Mod_Rewrite Trên Apache

    Nếu bạn dùng hosting chia sẻ, yêu cầu nhà cung cấp kích hoạt mod_rewrite. Với VPS hoặc máy chủ riêng, chạy lệnh sau trong terminal:

    • sudo a2enmod rewrite
    • sudo systemctl restart apache2

    Sau đó kiểm tra lại bằng phpinfo() hoặc tạo file.htaccess với nội dung kiểm tra đơn giản.

    Bước 4: Vô Hiệu Hóa Plugin Và Theme

    Tạm thời vô hiệu hóa tất cả plugin qua Dashboard > Plugins. Nếu không truy cập được Dashboard, đổi tên thư mục plugins trong wp-content qua FTP. Chuyển theme về mặc định bằng cách đổi tên thư mục theme hiện tại. Kích hoạt lại từng thành phần để xác định nguyên nhân.

    Bước 5: Cập Nhật Quy Tắc Rewrite Cho Nginx

    Nếu dùng Nginx, thêm đoạn code sau vào file cấu hình (thường là /etc/nginx/sites-available/yourdomain):

    • location / {
    • try_files $uri $uri/ /index.php?$args;
    • }

Sau đó reload Nginx: sudo systemctl reload nginx. Kiểm tra lại permalink.

Bước 6: Reset Permalink Bằng Plugin

Sử dụng plugin như “Permalink Manager” hoặc “Yoast SEO” để reset và tối ưu cấu trúc permalink. Plugin “Yoast SEO” có tính năng “Permalink Cleanup” giúp loại bỏ các URL trùng lặp và sửa lỗi rewrite. Cài đặt, kích hoạt và chạy tính năng này từ SEO > Tools.

So Sánh Các Phương Pháp Khắc Phục

Phương Pháp Thời Gian Thực Hiện Hiệu Quả Phù Hợp Với
Lưu lại permalink 30 giây Cao (lỗi nhẹ) Người mới bắt đầu
Sửa file.htaccess 5 phút Rất cao Lỗi do file cấu hình
Kích hoạt mod_rewrite 10 phút Cao Máy chủ Apache
Vô hiệu hóa plugin 15 phút Trung bình Xung đột plugin
Cấu hình Nginx 20 phút Rất cao Máy chủ Nginx

Sai Lầm Thường Gặp Khi Xử Lý Lỗi Permalink

wordpress permalink not working - Hình 2

Không sao lưu trước khi thay đổi: Nhiều người dùng xóa file.htaccess hoặc thay đổi cấu hình mà không sao lưu. Điều này có thể làm mất các quy tắc rewrite tùy chỉnh từ plugin bảo mật hoặc cache.

Chỉnh sửa file.htaccess bằng trình soạn thảo không phù hợp: Sử dụng Notepad trên Windows có thể thêm ký tự đặc biệt làm hỏng file. Luôn dùng FTP client hoặc trình soạn thảo mã nguồn như VS Code.

Bỏ qua kiểm tra quyền truy cập file: File.htaccess cần quyền 644 để WordPress ghi. Nếu quyền là 444 hoặc 600, WordPress không thể cập nhật.

Không kiểm tra log lỗi máy chủ: Log lỗi Apache hoặc Nginx chứa thông tin chi tiết về nguyên nhân. Bỏ qua bước này khiến việc debug kéo dài.

Lưu Ý Quan Trọng Khi Thay Đổi Permalink

Thay đổi cấu trúc permalink sau khi website đã hoạt động lâu dài có thể gây mất traffic. Các URL cũ bị thay đổi dẫn đến lỗi 404 và mất backlink. Sử dụng plugin Redirection để thiết lập chuyển hướng 301 từ URL cũ sang URL mới. Kiểm tra toàn bộ website bằng công cụ như Screaming Frog sau khi thay đổi.

Nếu website có lượng bài viết lớn (trên 1000 bài), thực hiện thay đổi vào giờ thấp điểm và theo dõi sát sao trong 24 giờ. Cập nhật sitemap XML và gửi lại cho Google Search Console.

Câu Hỏi Thường Gặp Về WordPress Permalink Not Working

wordpress permalink not working - Hình 1

Tại sao permalink WordPress không hoạt động sau khi cập nhật?

Sau khi cập nhật WordPress, theme hoặc plugin, các quy tắc rewrite có thể bị ghi đè. Lưu lại cấu trúc permalink trong Settings > Permalinks để khắc phục. Nếu vẫn lỗi, kiểm tra file.htaccess và mod_rewrite.

Làm thế nào để sửa lỗi 404 do permalink?

Lỗi 404 thường do file.htaccess bị hỏng hoặc mod_rewrite chưa kích hoạt. Tạo lại file.htaccess với nội dung mặc định, kích hoạt mod_rewrite và lưu lại permalink. Nếu dùng Nginx, thêm quy tắc rewrite vào cấu hình.

Có cần plugin để sửa lỗi permalink không?

Không bắt buộc, nhưng plugin như “Permalink Manager” hoặc “Yoast SEO” giúp tự động hóa quá trình sửa lỗi. Plugin hữu ích cho người không rành kỹ thuật hoặc website phức tạp.

Permalink không hoạt động trên localhost có sao không?

Trên localhost, lỗi permalink thường do Apache chưa kích hoạt mod_rewrite hoặc file.htaccess không được tạo. Kích hoạt mod_rewrite trong XAMPP hoặc WAMP và tạo file.htaccess thủ công.

Thay đổi permalink có ảnh hưởng đến SEO không?

Có, thay đổi permalink làm thay đổi URL, gây mất backlink và traffic nếu không thiết lập chuyển hướng 301. Luôn sử dụng plugin Redirection để chuyển hướng URL cũ sang URL mới.

Kết Luận

Lỗi wordpress permalink not working có thể xuất phát từ nhiều nguyên nhân khác nhau, từ file.htaccess bị hỏng, mod_rewrite chưa kích hoạt, xung đột plugin, đến cấu hình máy chủ không phù hợp. Việc xác định đúng nguyên nhân giúp tiết kiệm thời gian và tránh các sai lầm không đáng có. Bắt đầu bằng giải pháp đơn giản nhất là lưu lại cấu trúc permalink, sau đó kiểm tra file.htaccess và module máy chủ. Nếu vẫn thất bại, vô hiệu hóa plugin và theme để loại trừ xung đột. Với máy chủ Nginx, cần thêm quy tắc rewrite thủ công. Luôn sao lưu dữ liệu trước khi thực hiện bất kỳ thay đổi nào và thiết lập chuyển hướng 301 nếu thay đổi cấu trúc URL. Áp dụng đúng quy trình, bạn sẽ khôi phục hoạt động permalink và đảm bảo website vận hành ổn định.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *