Hosting - Server

Redirect 301 là gì? Cách thiết lập chuyển hướng 301

Cập nhật lần cuối:
Redirect 301 là gì?

Nếu bạn chuyển nhà nhưng quên thay đổi địa chỉ nhận hàng trên các app thương mại điện tử thì điều gì sẽ xảy ra? Những món đồ bạn đặt sẽ không thể đến tận tay bạn. Ví nhà bạn là website thì những món hàng chính là người truy cập vào website. Những người truy cập này ghé thăm website bạn để đọc một bài viết chẳng hạn, nhưng vì bạn đã đổi sang sử dụng URL mới nên sẽ hiện lỗi 404 – Trang không tồn tại. Thế là bạn đã bỏ lỡ các vị khách đó. Trong trường hợp này, Redirect 301 rất cần thiết để thông báo địa chỉ mới của trang web với khách truy cập. Cùng tìm hiểu xem Redirect 301 là gì nhé!

Redirect 301 là gì?

Redirect tạm dịch sang tiếng việt là “chuyển hướng”.

Redirect 301 (Moved permanently) là một mã phản hồi của giao thức HTTP để thông báo cho trình duyệt, các công cụ tìm kiếm biết URL trang web đó đã chuyển hướng vĩnh viễn sang một URL khác. Tức là tất cả dữ liệu của trang web đó như hình ảnh, nội dung,.. đã chuyển hết sang URL mới. Khi người dùng truy cập vào sẽ được tự động chuyển sang URL mới rất nhanh mà họ thường không kịp nhận ra. Nếu để ý một chút, người truy cập sẽ thấy URL của trang khác với URL họ đã nhập hoặc nhấp vào.

Hay nói một cách đơn giản hơn, redirect có nghĩa là chuyển hướng từ một URL A sang URL B.

Redirect 301 là một trong những Redirect quan trọng và phổ biến nhất trong các loại Redirect. Nó còn được xem là phương pháp chuyển hướng tốt nhất khi cần chuyển hướng một website.

Redirect 301 là gì? Nguồn: sitechecker.pro
Redirect 301 là gì? Nguồn: sitechecker.pro

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

Dưới đây là một số trường hợp bạn cần sử dụng redirect 301:

  • Thay đổi URL trang web hiện tại sang URL mới
  • Thay đổi cấu trúc URL mới cho trang web
  • Chuyển sang URL mới thân thiện hơn với người dùng và công cụ tìm kiếm
  • Trang báo lỗi 404 hoặc nội dung đã cũ, lỗi thời
  • Chuyển hướng từ www sang non-www và ngược lại
  • Giúp tăng lưu lượng truy cập website
  • Sửa lỗi trùng lặp nội dung trên trang bằng cách gộp các bài lại với nhau
  • Khôi phục liên kết cũ
  • Chuyển hướng từ HTTP sang HTTPS
  • Hợp nhất hai hoặc nhiều tên miền
  • Giải quyết vấn đề “Dấu gạch chéo” ở cuối URL
  • Giải quyết vấn đề về chữ hoa và chữ thường ở phần đường dẫn của URL

Một số loại Redirect khác

  • Redirect 302 là một mã phản hồi của giao thức HTTP để thông báo cho trình duyệt, các công cụ tìm kiếm biết URL trang web người dùng đang truy cập đã được chuyển hướng tạm thời sang một URL khác. Thường được sử dụng trong các trường hợp sửa chữa, bảo trì, nâng cấp trang web.
  • Redirect 303 (See Other Location): Mã phản hồi này hoạt động khi người dùng gửi yêu cầu truy cập cho một vị trí khác. Lúc này, máy chủ sẽ chuyển yêu cầu truy cập tới vị trí đó.
  • Redirect 304 (Not Modified): Mã phản hồi này thông báo không cần truyền lại các tài nguyên được yêu cầu. Đây là loại chuyển hướng ngầm đến các tài nguyên được lưu trữ.
  • Redirect 305 (Use proxy): Tài nguyên mà người dùng yêu cầu truy cập chỉ có thể thực hiện được khi sử dụng máy chủ proxy.
  • Redirect 307 (Temporary Redirect): Mã phản hồi này tương tự như mã 302. Khác nhau ở chỗ Redirect 307 thường được sử dụng trong trường hợp nâng cấp source hoặc website gặp sự cố. Nó sẽ thông báo với công cụ tìm kiếm rằng tài nguyên trên website này đang gặp sự cố và chắc chắn nó sẽ quay lại.

Phân biệt Redirect 301 & 302. Nên dùng Redirect 301 hay 302?

Nên dùng Redirect 301 hay 302? Nguồn: contentpowered.com
Nên dùng Redirect 301 hay 302? Nguồn: contentpowered.com

Sự khác biệt giữa Redirect 301 & 302 đơn giản chỉ là Redirect 301 là chuyển hướng vĩnh viễn sang URL mới còn Redirect 302 chỉ là chuyển hướng tạm thời.

Nên dùng Redirect 301 hay 302 là tuỳ thuộc vào nhu cầu và mục đích sử dụng của bạn:

  • Nếu website bạn đang bảo trì hoặc sửa chữa hệ thống trong thời gian ngắn thì bạn nên chọn Redirect 302. Tuy nhiên nó sẽ không tối ưu cho website và sẽ ảnh hưởng đến xếp hạng từ khoá nếu dùng trong thời gian dài.
  • Nếu website của bạn thay đổi sang tên miền mới thì bạn nên chọn Redirect 301. Cách này không những không ảnh hưởng đến xếp hạng từ khoá mà còn đẩy nhanh thời gian mà công cụ tìm kiếm lập chỉ mục cho URL mới của bạn.

Cách sử dụng Redirect 301 cải thiện SEO

Khi thực hiện Redirect 301 URL mới sẽ kế thừa toàn bộ link, lượng traffic, anchor text. Đồng nghĩa với việc URL mới sẽ có sẵn lượng traffic, thứ hạng từ khoá, điểm đánh giá của URL cũ kết hợp với lượng traffic có sẵn trên URL mới nên trang web sẽ thăng hạng rất nhanh. Chính vì điều đó, Redirect 301 thường sử dụng với mục đích xây dựng backlink trong SEO. Nó không những giúp tăng traffic và độ uy tín của website nhanh chóng mà còn đem lại backlink hiệu nghiệm. Tuy nhiên, nhiều người vẫn không đạt được kết quả như mong muốn, thậm chí còn gây nguy hiểm cho website.

Redirect có thể được dùng để cải thiện SEO
Redirect có thể được dùng để cải thiện SEO

Lỗi quan trọng mà nhiều người mắc phải là chọn sai trang web để chuyển hướng. Để backlink trở nên đáng tin cậy, bạn chỉ nên lấy domain đã hết hạn có chủ đề tương tự với website của mình. Chính những chủ đề tương tự nhau tạo nên sự liên quan giữa hai website giúp backlink uy tín. Nếu bạn lấy được website cùng chủ đề thì rất lý tưởng. Nhưng thực sự rất khó nên những website cùng lĩnh vực là đã ổn.

Ví dụ: Website bạn làm về Phật giáo thì cần chọn website về tôn giáo. Nếu bạn chọn website chủ đề tài chính thì khả năng rất cao sẽ bị huỷ lập index.

Khi sử dụng Redirect 301 cho mục đích SEO, bạn cần tối ưu SEO onpage theo đúng tiêu chuẩn trước đó. Tuy Redirect 301 mang lại hiệu quả cao cho SEO nhưng bạn cũng không nên lạm dụng nó. Vì có thể khiến trang web bạn khả năng cao bị Google phạt.

Cách thiết lập chuyển hướng 301

Cách tốt nhất để thiết lập Redirect 301 là thông qua cài đặt máy chủ. Cách thực hiện cũng khá đơn giản. Bạn chỉ cần thêm một đoạn code vào tập tin cấu hình máy chủ của website.

Sử dụng máy chủ Apache

Bước 1: Truy cập vào tệp .htaccess

Truy cập vào FTP client bạn đang dùng và kết nối hosting của bạn. Tìm file .htaccess, thường sẽ nằm trong thư mục gốc trên server.

Bước 2: Thêm mã chuyển hướng

Thêm một trong hai dòng code sau đây vào cuối file để chuyển hướng 301 trong cùng một website:

Redirect permanent /duong-link-cu /duong-link-moi
Redirect 301 /duong-link-cu /duong-link-moi

Nếu bạn muốn chuyển hướng sang một đường link bất kì (có thể ở trang web khác) bạn có thể thay thế /duong-link-moi trở thành https://tenmienmoi.com/duong-link-moi

Bước 3: Lưu và kiểm tra

Lưu lại các chỉnh sửa trên file. Sau đó vào lại URL cũ xem đã chuyển hướng chưa. Bạn thấy trình duyệt tự động chuyển hướng sang một URL mới là thành công. Nếu không thì bạn xóa cache rồi kiểm tra lại nha.

Sử dụng máy chủ Nginx

Bước 1: Truy cập vào tệp cấu hình Nginx

Truy cập vào FTP client bạn đang dùng và kết nối hosting của bạn. Tìm tập tin cấu hình của Nginx (thường có tên là nginx.conf) trong thư mục cấu hình của máy chủ Nginx. Đường dẫn thường là /etc/nginx/nginx.conf hoặc /usr/local/nginx/conf/nginx.conf.

Bước 2: Thêm mã chuyển hướng

Tìm khối server của trang web mà bạn muốn chuyển hướng URL. Nếu bạn không tìm thấy khối server, hãy tạo một khối server mới với cú pháp sau:

server {
    listen 80;
    server_name tenmien.com www.tenmien.com;
}

Đừng quên thay tenmien.com bằng tên miền của bạn nhé.

Sau đó trong khối server, thêm đoạn mã sau để chuyển hướng từ URL cũ sang URL mới:

rewrite ^/duong-link-cu/?$ /duong-link-moi permanent;

Nếu bạn muốn chuyển hướng sang một đường link bất kì (có thể ở trang web khác) bạn có thể thay thế /duong-link-moi trở thành https://tenmienmoi.com/duong-link-moi

Bước 3: Lưu lại các chỉnh sửa

Lưu lại các chỉnh sửa trên file cấu hình của Nginx.

Bước 4: Khởi động lại Nginx

Để áp dụng các thay đổi, bạn cần khởi động lại máy chủ Nginx. Sử dụng một trong hai lệnh sau trong terminal (bạn có thể làm được điều này thông qua kết nối SSH với server):

sudo service nginx restart
sudo systemctl restart nginx

Bước 5: Kiểm tra chuyển hướng

Sau đó vào lại URL cũ xem đã chuyển hướng chưa. Bạn thấy trình duyệt tự động chuyển hướng sang một URL mới là thành công. Nếu không thì bạn xóa cache rồi kiểm tra lại nha.

Ngoài ra, vẫn còn nhiều cách khác như chuyển hướng trong cài đặt của nhà đăng ký tên miền của bạn, các nền tảng hoặc các plugin của WordPress.

Các mẫu chuyển hướng redirect 301 thường gặp

Chuyển hướng từ non-www sang www

Cấu hình cho máy chủ Apache:

Thêm đoạn mã sau vào tệp .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Cấu hình cho máy chủ Nginx:

Thêm đoạn mã sau vào khối server trong tệp cấu hình Nginx:

server {
    listen 80;
    server_name your-domain.com;
    return 301 $scheme://www.your-domain.com$request_uri;
}

Thay tenmien.com thành tên miền thực tế của bạn.

Chuyển hướng từ www sang non-www 301

Cấu hình cho máy chủ Apache:

Thêm đoạn mã sau vào tệp .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Cấu hình cho máy chủ Nginx:

Thêm đoạn mã sau vào khối server trong tệp cấu hình Nginx:

server {
    listen 80;
    server_name www.tenmien.com;
    return 301 $scheme://tenmien.com$request_uri;
}

Thay tenmien.com thành tên miền thực tế của bạn.

Chuyển hướng toàn bộ website sang tên miền mới

Cấu hình cho máy chủ Apache:

Thêm đoạn mã sau vào tệp .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)tenmiencu\.com$ [NC]
RewriteRule ^http://tenmienmoi.com%{REQUEST_URI} [L,R=301]

Thay tenmiencu.comtenmienmoi.com bằng tên miền thực tế của bạn.

Cấu hình cho máy chủ Nginx:

Thêm đoạn mã sau vào khối server trong tệp cấu hình Nginx:

server {
    listen 80;
    server_name old-domain.com;
    return 301 $scheme://new-domain.com$request_uri;
}

Thay tenmiencu.comtenmienmoi.com bằng tên miền thực tế của bạn.

Chuyển hướng từ http sang https

Cấu hình cho máy chủ Apache:

Thêm đoạn mã sau vào tệp .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} 
[L,R=301]

Cấu hình cho máy chủ Nginx:

Thêm đoạn mã sau vào khối server trong tệp cấu hình Nginx:

server {
    listen80;
    server_name tenmien.com www.tenmien.com;
    return 301 https://$host$request_uri;
}

Thay tenmiencu.comtenmienmoi.com bằng tên miền thực tế của bạn.

Chuyển hướng redirect 301 thật sự rất thuận tiện và ứng dụng được trong nhiều tình huống. Hiểu rõ bản chất của Redirect 301 là gì, bạn sẽ dễ dàng làm được điều đó, đồng thời cải thiện SEO cho website của bạn.

Quốc Huy
Viết bởiQuốc Huy

Chào các bạn! Gọi mình là Huy nhé! Huy hiện đang là CEO của công ty Puramu. Với niềm đam mê lập trình từ sớm, mình đã nghiên cứu và tự học lập trình từ năm 2016. Sau nhiều năm làm việc, mình đã thực hiện các dự án website với nhiều mục đích khác nhau như: tin tức, giới thiệu, booking, thương mại điện tử hay các ứng dụng web. Hy vọng những kiến thức và trải nghiệm mình chia sẻ trên website này sẽ giúp ích cho nhiều bạn.

Bài viết liên quan

Địa chỉ website là gì? Các yếu tố tạo nên địa chỉ website

Địa chỉ website là thứ không thể thiếu trong khâu chuẩn bị làm website. Nhưng địa chỉ website là gì? Tại sao bạn lại cần nó? Bài viết này sẽ phần nào…

Địa chỉ website là gì?
Cập nhật lần cuối:
Cách chỉnh sửa URL trong WordPress

Bạn băn khoăn không biết thay đổi URL trang web WordPress được không? Cách chỉnh sửa URL trong WordPress không ảnh hưởng đến website hiện tại…

Chỉnh sửa url trong web WordPress
Cập nhật lần cuối:
Cache là gì? Cơ chế hoạt động của cache?

Cache là thuật ngữ khá phổ biến và ứng dụng nhiều trong ngành công nghệ thông tin. Sử dụng cache đúng cách không những mang lại nhiều lợi ích cho…

Cache là gì? Cơ chế hoạt động của cache
Cập nhật lần cuối:
Web Caching là gì? Hướng dẫn xóa cache trang web và trình duyệt

Trong quá trình xây dựng và phát triển website, mọi người thường tìm cách tối ưu hoá website để phục vụ người dùng tốt hơn. Hiểu được điều đó nên hôm…

Web caching là gì?
Cập nhật lần cuối: