Tạo chuyển hướng 301 cho Apache và Nginx
Chuyển website hay đổi URL đòi hỏi hàng trăm lệnh chuyển hướng, và chỉ một dòng sai cũng có thể tạo ra vòng lặp. Hãy tạo quy tắc từ bảng ánh xạ của bạn và kiểm tra trước khi triển khai.
Sau khi quy tắc đã chạy, công cụ mở tối đa 50 URL cũ và so sánh nơi chúng thực sự dẫn đến với bảng ánh xạ. Đường dẫn tương đối cần điền trường tên miền.
Khi kiểm tra trực tuyến, chỉ địa chỉ được gửi đến máy chủ IndexFix Tools; máy chủ tải trang công khai đó và trả kết quả về. Không có gì được lưu lại.
Dữ liệu của bạn chỉ nằm trong trình duyệt. Không có gì bị tải lên hay lưu lại.
Thông tin chính
- Google khuyến nghị dùng chuyển hướng vĩnh viễn phía máy chủ, như 301 và 308, khi URL thay đổi.
- Hãy chuyển hướng thẳng đến đích cuối cùng; nếu không tránh được chuỗi chuyển hướng, tốt nhất giữ không quá 3 bước và trong mọi trường hợp dưới 5 bước.
- Trình thu thập của Google đi theo tối đa 10 bước chuyển hướng; 301 và 308 là tín hiệu mạnh, 302 và 307 là tín hiệu yếu.
- Hãy giữ chuyển hướng càng lâu càng tốt, thường là ít nhất 1 năm.
Tải checklist: chẩn đoán sự cố lập chỉ mục
Từng bước: trạng thái trong Search Console, khả năng truy cập trang, robots.txt, noindex, URL chính tắc, chuyển hướng, sitemap và backlink, kèm việc cần làm cho từng trường hợp.
Tải PDF PDF · 3 trangCách sử dụng
- Chuẩn bị bảng ánh xạ: mỗi dòng gồm một URL cũ và URL mới tương ứng, phân tách bằng dấu phẩy, tab hoặc mũi tên.
- Dán bảng ánh xạ hoặc chọn file CSV, rồi nhập host của website nếu URL cũ là địa chỉ đầy đủ.
- Chọn máy chủ (Apache, Nginx hoặc cả hai) và mã trạng thái.
- Bấm Tạo quy tắc và xử lý hết các mục trong “Cần kiểm tra trước”.
- Sao chép hoặc tải quy tắc về, chạy thử trên máy chủ staging rồi mới triển khai.
Lấy dữ liệu ở đâu
Dữ liệu crawl website cũ
Danh sách đầy đủ URL cũ, kể cả URL có tham số.
Sitemap cũ và dữ liệu analytics
File sitemap cũ và những trang được truy cập nhiều nhất, để không bỏ sót URL quan trọng.
Bảng tính ánh xạ của bạn
Hai cột cũ và mới, xuất ra dạng CSV.
Khớp chính xác trên Apache
Chỉ thị Redirect của Apache khớp theo tiền tố, nên quy tắc cho /old cũng bắt luôn /old-page. Công cụ dùng RedirectMatch với ^ và $ để khớp chính xác. URL có chuỗi truy vấn cần đến mod_rewrite, nên với những dòng này công cụ tạo RewriteCond và RewriteRule kèm cờ QSD để bỏ chuỗi truy vấn cũ (Apache 2.4 trở lên).
Nginx với map
Với Nginx, công cụ tạo một map trên $request_uri (bao gồm cả chuỗi truy vấn) và một khối if trả về lệnh chuyển hướng. Map đặt trong ngữ cảnh http, còn khối if đặt trong khối server.
Chuỗi và vòng lặp chuyển hướng
Nếu URL mới lại tiếp tục được chuyển hướng ở một dòng khác trong danh sách, URL cũ sẽ được trỏ thẳng đến đích cuối cùng. Vòng lặp, tức các URL chuyển hướng qua lại lẫn nhau, sẽ bị loại ra và liệt kê để bạn sửa bảng ánh xạ.
Bước tiếp theo
Sau khi triển khai, hãy rà lại checklist SEO sau khi chuyển website.
Câu hỏi thường gặp
301 hay 308?
Cả hai đều là chuyển hướng vĩnh viễn và được Google xử lý như nhau. 308 còn yêu cầu client giữ nguyên phương thức của yêu cầu.
Công cụ có hỗ trợ mẫu hoặc ký tự đại diện không?
Không. Công cụ chỉ tạo quy tắc một-đối-một chính xác – lựa chọn an toàn nhất cho bảng ánh xạ URL.
Còn URL cũ nằm trên tên miền khác thì sao?
Hãy nhập host của website cũ; những dòng có URL cũ thuộc host khác sẽ bị bỏ qua và được liệt kê.
Nên giữ chuyển hướng trong bao lâu?
Google khuyên thường là ít nhất một năm, và lâu hơn nếu có thể.
Nguồn tham khảo
- Site moves with URL changes — Google Search Central: https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes
- How HTTP status codes and network errors affect Google Search — Google Search Central: https://developers.google.com/search/docs/crawling-indexing/http-network-errors
- mod_alias — Apache HTTP Server documentation: https://httpd.apache.org/docs/2.4/mod/mod_alias.html
- ngx_http_map_module — nginx documentation: https://nginx.org/en/docs/http/ngx_http_map_module.html