Redirect là gì?

Redirect là một cách để điều hướng người dùng và công cụ tìm kiếm từ một URL này tới một URL.

Redirect URL bao gồm mã được thực hiện cho một URL hoặc nhiều URL để người dùng chuyển hướng tới một URL khác thực tế đã được nhập hoặc được nhấp vào.

Tại sao cần sử dụng redirect?

Khi nào cần Redirect

Các loại redirect

Trình duyệt của người dùng yêu cầu URL cũ (đã được redirect). Máy chủ sẽ tự động hiển thị website cho URL mới. Từ góc nhìn người dùng, HTTP redirects là ổn định và dễ dàng. Về mặt kỹ thuật, chúng được gọi là server-side redirects. Bởi vì website của bạn sẽ xử lý nó trước khi website của bạn được tải.

Việc này được thực hiện bằng cách phản hồi với một mã HTTP 3xx khi nhận yêu cầu cho URL đã được redirect. Những mã 3xx đó giống như các hướng dẫn cho trình duyệt của bạn. Chúng cho thấy URL được yêu cầu đã được redirect và nơi để tìm thấy website. Dưới đây là một danh sách đơn giản về các loại mã 3xx phổ biến nhất. Chúng ta sẽ đi vào chi tiết của từng mã dưới đây:

301 Redirect

301 Redirect đưa tín hiệu cho Google rằng việc di chuyển sẽ là vĩnh viễn. Chúng được coi là cách tốt nhất để truyền lại liên kết nếu bạn cần chuyển hướng sang một website khác. Điều này là do chúng truyền page authority từ URL cũ sang URL mới. Và mỗi lận như vậy thì độ uy tín của trang sẽ giảm dần vậy nên hãy sử dụng khi cần thiết.

302 Redirects (Found & Moved Temporarily)

Sử dụng 302 redirect khi URL tạm thời bị thay đổi. Một số nhân viên của Google đã cho thấy có trường hợp 301 và 302 có thể được xử lý như nhau. Tuy nhiên chúng tôi đã thử nghiệm và thấy rằng cách an toàn nhất để đảm bảo công cụ tìm kiếm và trình duyệt là sử dụng 301 khi chuyển hướng vĩnh viễn các URL.

Điều này là do cả 302 và 301 đều có thể chuyển cùng có một giá trị liên kết như nhau, nhưng có những trường hợp 301 có thể chuyển tín hiệu chuẩn hóa tốt   cho Google. Đối với các trường hợp redirect thực sự là tạm thời thì 302 là thích hợp nhất.

Các HTTP Redirects

Về mặt chuyển hướng phía máy chủ, trong hầu hết các trường hợp, bạn chỉ cần sử dụng 301 hoặc 302.

Nhưng cũng có các loại HTTP redirects khác ít khi xuất hiện. Tuy nhiên, chúng vẫn có thể hữu ích trong một số trường hợp nhất định:

303 redirect (see khác): Redirect đưa người dùng đến một trang khác liên quan khi trang cũ bị available.

307 redirect (move temporarity): Tương tự như 302, yêu cầu máy chủ cho trang web khác nhau (302 redirect thường được coi là tốt hơn cho SEO)

308 redirect (moved permanently): Chỉ ra một di chuyển vĩnh viễn và được xử lý giống như 301

Meta Refresh Redirects

Meta refresh redirects được thực hiện ở trang của website chứ không phải cấp máy chủ. Chúng thường chạy chậm hơn và không phải là một kỹ thuật SEO được khuyến khích sử dụng.

Có hai loại meta refresh redirects bao gồm:

meta refresh redirects tức thì kích hoạt ngay khi một trang được tải trong trình duyệt. Google sẽ hiểu đây là redirects vĩnh viễn.

<meta http-equiv=”refresh” content=”0; url=https://www.digitalstar.vn/”>

Meta refresh redirects bị trì hoãn sẽ hoạt động sau vài giây thì Google hiểu là redirect tạm thời 

Đây là một VD hoạt động sau 5 giây:

<meta http-equiv=”refresh” content=”5; url=https://www.digitalstar.vn/”>

JavaScript redirects xảy ra tại tại máy chủ client và không được khuyến khích sử dụng cho SEO. Bởi vì Google có thể không index chính xác các trang của bạn khi sử dụng JavaScript redirect.

Thực tế cho thấy rằng Google sẽ xử lý JavaScript redirects như 301 nhưng độ an toàn của nó không đảm bảo.

VD về dạng chuyển hướng

window.location.replace(“https://example.com”);

Insert Content Template or Symbol

Cách thực hiện chuyển hướng

Sử dụng plugin WordPress

Nếu bạn sử dụng nền tảng WordPress bạn có thể redirect bằng các Plugin như Yoast SEO, All-in-one.

Sử dụng Wix

Nếu sử dụng Wix bạn có thể thiết lập redirect trực tiếp trong CMS của mình.

Sử dụng tệp .htaccess

Bạn có thể thực hiện redirect một các thủ công:

Lưu ý: Các làm này chỉ này cho những người có chuyên môn cao. Nếu bạn mặc lỗi có thể gây ra vấn đề lớn cho website của bạn.

Cách tạo ra redirect

Tạo ra URL Redirect đơn

Đây là loại redirect phổ biến và được sử dụng rộng rãi khi xoá trang hoặc thay đổi URL.

VD: Bạn đã thay đổi URL từ /old-page/ sang /new-page/ thì:

RewriteRule ^old-page(/?|/.*)$ /new-page/ [R=301,L]

Redirect All Except

Giả sử có nhiều URL như /category/old-subcategory-1/, /category/old-subcategory-2/, /category/final-subcategory/ và muốn hợp nhất với tất cả danh mục con vào category /category/final-subcategory/. We need the “all except” rule here.

RewriteCond %{REQUEST_URI} !/category/final-subcategory/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(category/). /category/final-subcategory/ [R=3

Directory Change

Chúng tôi muốn redirect tất cả trong /category/ trên dòng thứ ba trừ khi nó là /category/final-subcategory/ trên dòng thứ tư. Chúng tôi cũng có quy tắc “!-f” trên dòng thứ hai, bỏ qua mọi tệp như hình ảnh, CSS hoặc tệp JavaScript.

Mặt khác, nếu chúng tôi có một số nội dung như “/category/image.jpg,” nó cũng sẽ được redirect đến “/final-subcategory/” và gây ra hiện tượng vỡ hình ảnh.

Xoá ký tự trong URL

Giả sử có 100 URL trên website có tên “digital” và muốn xoá chúng.  

Đối với URL http://yourwebiste.com/example-digital-event/, quy tắc chuyển hướng sẽ là

RewriteRule ^(.*)-digital-(.*) http://%{SERVER_NAME}/$1-$2 [NC,R=301,L]

Nếu URL ví dụ ở dạng http://yourwebiste.com/example/digital/event/, thì chuyển hướng sẽ là:

RewriteRule ^(.*)/digital/(.*) http://%{SERVER_NAME}/$1/$2 [NC,R=301,L]

Sử dụng Canonical URL

Có các URL chuẩn là phần quan trọng nhất của SEO.

Bạn có thể gây nguy hiểm cho website của mình với các vấn đề về nội dung trùng lặp vì các công cụ tìm kiếm coi các URL có phiên bản “www” và “không phải www” là các trang khác nhau có cùng nội dung.

Do đó, bạn phải đảm bảo rằng bạn chỉ chạy website với một phiên bản bạn chọn.

Nếu bạn muốn chạy trang web của mình với phiên bản “www”, hãy sử dụng quy tắc này:

RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC] RewriteRule ^(.*)$ http://www.yourwebsite.com/$1 [L,R=301]

Redirect HTTP thành HTTPS 

Google khuyến khích chủ sở hữu trang web sử dụng SSL, việc chuyển sang HTTPS là một trong những redirect được sử dụng phổ biến mà hầu hết mọi website đều có.

RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC] RewriteRule ^(.*)$ https://www.yourwebsite.com/$1 [L,R =301,NC]

Bạn có thể kết hợp redirect phiên bản có www hoặc không có www thành một quy tắc chuyển hướng HTTPS.

Redirect từ domain cũng sang mới

Đây cũng là một trong những redirect được sử dụng nhiều nhất khi bạn quyết định đổi thương hiệu và cần thay đổi domain của mình. Quy tắc bên dưới chuyển hướng old-domain.com sang new-domain.com.

RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.old-domain.com$ RewriteRule (.*)$ http://www.new-domain.com/$1 [R =301,L]

Nó sử dụng hai trường hợp: một trường hợp có phiên bản URL “www” và trường hợp khác là “không phải www”.

Các câu hỏi thường gặp

Tại sao chúng ta cần sử dụng Redirect?

Chúng ta cần sử dụng Redirect để chuyển hướng người dùng từ một URL đến một URL khác. Điều này có thể xảy ra khi trang web có URL mới, URL cũ bị xóa hoặc di chuyển, hoặc để tạo các biến thể URL.

Có bao nhiêu loại Redirect và sự khác biệt giữa chúng là gì?

Có hai loại Redirect phổ biến: Redirect 301 và Redirect 302. Redirect 301 (Permanent Redirect) được sử dụng khi bạn muốn chuyển hướng vĩnh viễn từ URL gốc đến URL mới. Redirect 302 (Temporary Redirect) được sử dụng khi bạn muốn chuyển hướng tạm thời từ URL gốc đến URL mới.

Redirect có ảnh hưởng đến SEO như thế nào?

Redirect có ảnh hưởng đến SEO. Nếu thực hiện một Redirect chính xác và liên kết các trang web cũ và mới, công cụ tìm kiếm sẽ chuyển đổi xếp hạng và giữ lại giá trị SEO của trang web gốc. Tuy nhiên, việc sử dụng Redirect không chính xác hoặc quá nhiều có thể gây mất giá trị SEO và gây trải nghiệm không tốt cho người dùng.

Làm thế nào để thiết lập một Redirect?

Để thiết lập một Redirect, bạn có thể sử dụng các phương pháp như chỉnh sửa tập tin .htaccess (đối với máy chủ Apache), sử dụng plugin Redirect trong hệ thống quản lý nội dung (CMS) như WordPress, hoặc cấu hình trực tiếp trong máy chủ web. Bạn cần chỉ định URL gốc và URL mới mà bạn muốn chuyển hướng đến trong quá trình thiết lập Redirect.