Redirect 301 trong file .htaccess được sử dụng khi chuyển hướng vĩnh viễn một URL này sang một URL khác. Lý do nào để chúng ta sử dụng redirect 301 trong file .htaccess và phương pháp thực hiện như thế nào, hãy cùng xem nội dung dưới đây của Webb nhé!
Đầu tiên, Redirect 301 là gì?
- Redirect 301 (hay còn gọi là chuyển hướng 301) là chuyển hướng vĩnh viễn một URL sang một URL khác
- Trong trường hợp này, khi người dùng truy cập một URL cũ đã được chuyển hướng trên website thì trình duyệt sẽ tự động chuyển đến URL mới được chỉ định trong lệnh Redirect 301
- Điều này giúp cho người dùng đảm bảo quá trình truy cập website được liền mạch khi URL bị thay đổi hoặc nội dung bị di chuyển, duy trì trải nghiệm tích cực cho người dùng
- Với các công cụ tìm kiếm, Redirect 301 thông báo cho các công cụ tìm kiếm rằng nội dung đã bị di chuyển và nó vẫn đảm bảo việc hiển thị cho người xem tại địa chỉ URL mới, hạn chế thấp nhất đến việc sắp xếp thứ hạng website
Ví dụ: Chúng ta cần chuyển hướng trang nội dung SEO 2022 (đã cũ) về SEO 2023:
Tiếp theo, file .htaccess là gì?
- File .htaccess là file văn bản được sử dụng để cấu hình linh hoạt một số tính năng của website sử dụng các máy chủ Apache
- Sử dụng để viết lệnh chuyển hướng URL, sửa đổi cấu trúc URL, tùy chỉnh các trang lỗi,…
- File .htaccess là nơi thực hiện những thay đổi quan trọng cho website một cách dễ dàng
- Đòi hỏi sự chính xác, do vậy cần cẩn thận khi thay đổi/chỉnh sửa các câu lệnh trong file này, nếu sai xót nó sẽ có thể gây lỗi hoạt động của website
Khi nào nên thực hiện Redirect 301?
Có nhiều trường hợp có thể thực hiện Redirect 301 để đáp ứng phục vụ người dùng, tối ưu SEO cũng như duy trì mức độ thu thập dữ liệu của Google. Hãy ghi nhớ những thời điểm sau đây bạn có thể hoặc bắt buộc phải thực hiện Redirect 301:
- Khi thay đổi URL của một trang và muốn chuyển hướng URL cũ sang URL mới (bắt buộc)
- Khi website chuyển sang một tên miền mới => Chuyển hướng tất cả các trang từ tên miền cũ sang tên miền mới (Bắt buộc)
- Chuyển hướng tất cả các yêu cầu HTTP sang HTTPS (Bắt buộc)
- Chuyển hướng các trang nội dung trùng lặp về một trang duy nhất (Không bắt buộc)
- Chuyển hướng các trang đã xóa (Lỗi 404) đến một trang có liên quan khác hoặc trang chủ để đảm bảo lưu lượng truy cập và giảm thiểu các thông báo lỗi (Không bắt buộc)
Ngoài sử dụng file .htaccess, bạn có thể sử dụng dụng cấu hình chuyển hướng từ phía máy chủ, JavaScript. Mỗi phương pháp đều có ưu và nhược điểm riêng, tuy nhiên cách phổ biến và hiệu quả nhất và được Google khuyến khích sử dụng để thực hiện Redirect 301 là sử dụng tệp .htaccess.
Lợi ích của việc sử dụng file .htaccess để chuyển hướng
- Xử lý các mẫu chuyển hướng phức tạp bằng cách sử dụng các biểu thức thông thường và bạn cũng có thể dễ dàng thực hiện nó
- Có thể được sử dụng cho cả các trang riêng lẻ và toàn bộ thư mục
- Hoạt động với mọi loại file hoặc tài nguyên trên website
Toàn bộ cách thiết lập Redirect 301 bằng tệp .htaccess
Thiết lập Redirect 301 với tệp .htaccess trong Apache
File .htaccess thường được sử dụng trên các máy chủ Apache.
Đầu tiên, cần xác định vị trí RewriteEngine, nếu chưa có, bạn có thể thêm nó trong Module mod_rewrite tại file .htaccess.
Đoạn code thiết lập:
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
Thêm một hoặc nhiều các quy tắc chuyển hướng cho website bên dưới “RewriteEngine On”, tham khảo các quy tắc chuyển hướng dưới đây.
Chuyển hướng một URL duy nhất
Thêm quy tắc chuyển hướng sau dưới dòng “RewriteEngine On”:
Redirect 301 /old-page/ https://yourdomain.com/new-page/
Nhớ thay thế URL bằng URL thực tế của website nhé!
Đoạn code bắt đầu bằng lệnh Redirect 301 + Khoảng trắng + địa chỉ URL cũ (không chứa domain cũ) + khoảng trắng + full đường dẫn URL mới.
Chuyển hướng một thư mục
Thêm đoạn mã sau:
RewriteRule ^/?tin-tuc/(.\*)$ /blog/$1 [R,L]
Toàn bộ thư mục con Tin tức sẽ được chuyển hướng đến thư mục con Blog
Chú ý cần thêm chính xác đường dẫn của thư mục.
Redirect WWW sang không WWW
Thông thường, các tên miền cần sự ngắn gọn nhất có thể nên sẽ không cần hiển thị tiền tố www ở phía trước, do vậy bạn cần redirect tên miền từ www sang không có www.
Thêm đoạn code sau đây:
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]RewriteRule (.*) https://yourdomain.com/$1 [L,R=301]
Thay “yourdomain.com” bằng tên miền chính xác của website.
Cách Redirect 301 .htaccess trên website WordPress
Thực hiện nhanh chóng theo các bước sau:
- Vào thư mục File Manager của website trong cPanel hoặc sử dụng một chương trình quản lý file FTP (như FileZilla)
- Edit file .htaccess trong thư mục gốc của website
- Thêm các quy tắc chuyển hướng dưới dòng “RewriteEngine On”
Chuyển hướng một trang duy nhất
Thêm đoạn code sau:
Redirect 301 /old-page/ https://yourdomain.com/new-page/
Chuyển hướng tên miền cũ sang tên miền mới
Thêm đoạn code sau:
RewriteCond %{HTTP_HOST} ^(?:www\.)olddomain\.com$ [NC]
RewriteRule ^https://newdomain.com%{REQUEST_URI} [L,R=301]
Thay chính xác tên miền cũ (kể cả đuôi tên miền) tại olddomain và tên miền mới tại newdomain.
Tổng kết lại
Trong quá trình hoạt động của website, Webb chắc chắn rằng bạn sẽ phải sử dụng cú pháp Redirect 301 (có thể là thường xuyên) để chuyển hướng một số đường dẫn nội dung cho website của mình, do vậy bạn cần ghi nhớ những quy tắc thiết lập trên để áp dụng một cách chính xác và hiệu quả để đảm bảo website không bị lỗi ảnh hưởng đến người dùng cũng như việc thu thập dữ liệu của Google, tránh thấp nhất việc gây ảnh hưởng đến thứ hạng của website trên Google.
Chúc bạn thành công!