SEO Off-pageSEO On-page

Hướng dẫn cơ bản về redirect 301: Chi tiết + Dễ hiểu

Nhiều khách hàng của chúng tôi nhận xét về các báo cáo đánh giá trang web của chúng tôi về các chủ đề như chuẩn hóa, di chuyển trang web, thay đổi kiến ​​trúc hoặc cập nhật trang. Cụ thể là khi chúng tôi tư vấn triển khai redirect 301 để tối ưu hóa và duy trì giá trị của một URL cụ thể trong công cụ tìm kiếm, chắc chắn họ sẽ trả lời bằng câu hỏi sau: “Làm cách nào để bạn triển khai redirect 301?”

Miễn là bạn có quyền truy cập vào thư mục gốc của trang web trên máy chủ web của mình, điều đó không khó thực hiện. Chúng tôi sẽ giả sử trang web của bạn đang chạy một máy chủ web Apache (hầu hết trên thế giới là như vậy), vì vậy chúng ta hãy nói một chút về công nghệ triển khai 301s trong Apache.


Đầu tiên, một chút nền tảng

Chuyển hướng, ít nhất là về mặt trang web, là một cách tự động chuyển người dùng cuối từ URL này sang URL khác. Mặc dù có một số phương pháp kỹ thuật để triển khai chuyển hướng, cho mục đích tối ưu hóa công cụ tìm kiếm (SEO), chúng tôi khuyên bạn nên sử dụng chuyển hướng vĩnh viễn HTTP 301.

Không giống như đối tác của nó, chuyển hướng tạm thời HTTP 302 mặc định, 301 cho biết URL cũ, được liên kết không còn được sử dụng (trong khi 302 cho biết URL cũ chỉ là ngoại tuyến tạm thời, nhưng dự kiến ​​sẽ quay lại trong tương lai).

Sự khác biệt giữa 301 và 302 là quan trọng nhất đối với trình thu thập thông tin của công cụ tìm kiếm. Khi trình thu thập thông tin gặp một liên kết đến trang web của bạn có URL được định cấu hình với chuyển hướng vĩnh viễn, máy chủ web của bạn (Apache) sẽ phản hồi bằng mã trạng thái 301 và sau đó chuyển hướng trình thu thập thông tin đến URL mới. Công cụ tìm kiếm không chỉ chấp nhận chuyển hướng đến URL mới, mà còn bắt đầu quá trình chuyển bất kỳ giá trị xếp hạng trang hiện có nào từ URL cũ sang URL mới trong chuyển hướng (đó là phần thứ hai của quá trình đó rất quan trọng đối với SEO và điều đó không được thực hiện với 302).

Việc chuyển giao giá trị xếp hạng trang giữa các URL trong chỉ mục công cụ tìm kiếm không phải là một quá trình trong một sớm một chiều, nhưng hãy yên tâm, nếu bạn đã làm đúng bài tập 301 của mình, các cập nhật trang web của bạn sẽ sớm được phản ánh trong các trang kết quả của công cụ tìm kiếm (SERP) một quá giang.

So sánh redirect 301 với thẻ rel = ”canonical”

Một số người biết rằng tất cả các công cụ tìm kiếm lớn đã công bố vào đầu năm 2009 đã lên kế hoạch hỗ trợ thuộc tính thẻ HTML mới. Trong thẻ <link> (được tìm thấy trong phần <head> của mã trang), họ hứa hỗ trợ cho thuộc tính mới “rel”, được sử dụng cùng với giá trị liên kết “canonical”, theo sau là thuộc tính tiêu chuẩn “href” và một URL cho giá trị liên quan của nó. Ví dụ:

<link rel = “canonical” href = “http://www.xyz.com/page.html” />

Mục đích của thẻ rel = canonical là thông báo cho trình thu thập thông tin của công cụ tìm kiếm về URL chính (còn gọi là chuẩn) duy nhất cho nội dung trang. Điều này rất hữu ích khi một trang web sử dụng các biến thuộc tính động trong các URL của nó. URL động có thể dẫn đến việc lập chỉ mục nhiều phiên bản của một URL cho bất kỳ trang nhất định nào, dẫn đến việc lập chỉ mục nội dung (điều mà các công cụ tìm kiếm không thích!).

Mặc dù việc sử dụng thẻ <link> với thuộc tính rel = canonical rất hữu ích cho một trang, nó không phải là sự thay thế đáng tin cậy cho redirect 301. Đây là lý do của tôi cho điều này:

  1. Để bắt đầu, vào đầu năm 2009 và trong một thời gian dài sau đó, Google là công cụ tìm kiếm duy nhất hỗ trợ đầy đủ việc sử dụng thẻ rel = canonical. Điều này đã được cải thiện chậm theo thời gian, nhưng vẫn có thể có câu hỏi về mức độ mạnh mẽ của mỗi công cụ tìm kiếm chấp nhận và sử dụng dữ liệu của thẻ. Mặt khác, tất cả các công cụ tìm kiếm đều hỗ trợ đầy đủ redirect 301.
  2. Thứ hai, các thẻ rel = canonical vẫn được các công cụ tìm kiếm coi là gợi ý hoặc gợi ý, không phải là chỉ thị chắc chắn. Mặt khác, redirect 301 là hướng dẫn chắc chắn.
  3. Cuối cùng, không giống như redirect 301, có thể được định cấu hình trong một tệp cho toàn bộ trang web, mỗi trang web cần chỉnh sửa riêng để thêm dòng mã tùy chỉnh mới cho thẻ rel = canonical.

Điều đó đã nói lên rằng, việc sử dụng thẻ rel = canonical có thể có lợi cho việc chuyển hướng các trang blog (giả sử bạn có quyền truy cập và kỹ năng kỹ thuật để chỉnh sửa mã nguồn của blog cho mô-đun thẻ <head> của một trang nhất định). Trong trường hợp cạnh này, việc sử dụng 301 có thể đồng nghĩa với việc mất các nhận xét của người dùng liên quan đến trang gốc và các lượt chia sẻ trên mạng xã hội, tất cả đều có giá trị SEO riêng.

Chúng tôi khuyên khách hàng nên cân nhắc sử dụng thẻ rel = canonical để giúp giảm thiểu việc trùng lặp nội dung được lập chỉ mục. Bất kể vấn đề tiêu chuẩn là gán lại chức năng và giá trị chỉ mục tìm kiếm của URL cũ thành URL mới, chúng tôi khuyên khách hàng nên sử dụng redirect 301 đã thử và đúng.


Làm thế nào để bạn triển khai 301 trong Apache?

Máy chủ web Apache có thể triển khai redirect 301 thông qua sửa đổi mã tập lệnh cho một trong hai tệp cấu hình dựa trên văn bản của nó: .htaccess (dành cho các thư mục đại diện cho các trang web riêng biệt trên một máy chủ) hoặc httpd.conf (ở thư mục gốc của cài đặt Apache) . Thông thường, phương pháp cấu hình .htaccess được sử dụng, vì vậy chúng tôi sẽ tập trung vào điều đó ở đây.

Có một số trường hợp khác nhau nên thực hiện redirect 301. Mã cụ thể bạn cần tạo sẽ khác nhau tùy theo tình huống, vì vậy hãy trình bày cách triển khai mã 301 cho từng trường hợp có thể xảy ra.

Khởi động công cụ viết lại của bạn

Điều đầu tiên bạn cần làm là mở tệp dựa trên văn bản có tên .htaccess được tìm thấy trong thư mục gốc của trang web của bạn trên máy chủ web Apache. Đảm bảo rằng bạn chỉ làm như vậy với ứng dụng soạn thảo văn bản thuần túy, chẳng hạn như Notepad trên máy tính chạy Windows.

Sau khi mở, trước khi bạn thêm bất kỳ mã tùy chỉnh theo tình huống cụ thể nào, bạn cần thực hiện hai điều:

  1. Bật mô-đun mod_rewrite của Apache.
  2. Bật ReWriteEngine trong mô-đun mod_rewrite.

Thêm hai dòng mã sau để thực hiện việc này:

Options +FollowSymLinks
RewriteEngine on

Lưu ý rằng cặp dòng này chỉ cần thiết một lần trong tệp .htaccess. Sau khi chúng được thêm vào, bạn đã sẵn sàng thêm mã redirect 301 tùy chỉnh cho kịch bản của mình.

Các tình huống chuyển hướng sau sử dụng dữ liệu trình giữ chỗ dưới dạng tệp, thư mục và tên miền trong mã mẫu. Tất nhiên, hãy đảm bảo thay thế dữ liệu trang web của riêng bạn! Đây không phải là mẫu mã rõ ràng!

301 một URL trang đơn đến một URL khác

Để tạo redirect 301 từ URL này sang URL khác, hãy thêm dòng mã sau:

redirect 301 /retiredpage.html http://www.xyz.com/newpage.html

Bạn có thể thêm bao nhiêu dòng chuyển hướng này vào tệp .htaccess nếu cần.

301 một URL thư mục và tất cả nội dung của nó đến một URL khác

Nếu bạn đã thiết kế lại kiến ​​trúc trang web của mình và đổi tên một thư mục, bạn cần tạo 301 cho toàn bộ thư mục. Đây là cách thực hiện:

RedirectMatch 301 ^ / oldname / http://www.xyz.com/newname/

301 một URL tên miền đến một URL khác

Nếu bạn vừa mua một tên miền cũ có lưu lượng truy cập (và giá trị xếp hạng trang tìm kiếm) bạn muốn sử dụng để tăng cường lưu lượng truy cập cho tên miền của trang web hiện tại, bạn có thể thiết lập 301 để chuyển tất cả lưu lượng và xếp hạng từ tên miền đã mua sang tên miền hiện tại của bạn Địa điểm. Sử dụng mã sau làm ví dụ:

RedirectMatch 301 ^ (. *) $ Http://www.xyz.com

Hãy chắc chắn rằng bạn đã thiết lập mã chuyển hướng này trong tệp .htaccess của trang nguồn mà bạn muốn được chuyển hướng, không phải trang đích chuyển hướng!

301 biến thể URL tên miền để chuẩn hóa

Vì các công cụ tìm kiếm lập chỉ mục URL, việc có nhiều URL trong chỉ mục trỏ đến cùng một trang nội dung sẽ phân chia tín dụng xếp hạng trang có sẵn cho trang đó trong số các URL đó. Đây chắc chắn là trạng thái “không được tối ưu hóa cho tìm kiếm”! Để tìm hiểu thêm về chi tiết của việc chuẩn hóa, hãy xem bài đăng của Search Engine Land Tại sao việc chuẩn hóa lại quan trọng từ góc độ liên kết . Điểm mấu chốt là bạn muốn hợp nhất thứ hạng trang thành một URL (chuẩn) để tối ưu hóa giá trị tìm kiếm của nội dung đó.

Khi bạn hiểu các phương pháp hay nhất về chuẩn hóa, bạn sẽ muốn triển khai chúng trên trang web của mình. Điều đó có nghĩa là bạn phải tính đến tất cả các biến thể URL thay thế có thể có chuyển hướng sang URL chuẩn. Sử dụng mẫu mã sau cho trang chủ của trang web của bạn:

RewriteCond% {HTTP_HOST} ^ xyz \ .com [NC]

Quy tắc viết lại ^ (. *) $ Http://www.xyz.com/$1 [L, R = 301]

RewriteCond% {THE_REQUEST} ^ [AZ] {3,9} \ / ([^ /] + /) * (mặc định | chỉ mục) \. (Html ​​| php | htm) \ HTTP / [NC]

RewriteRule ^ (([^ /] + /) *) (mặc định | main | index) \. (Html ​​| php | htm) $ http://www.xyz.com/$1 [L, R = 301]

Khối mã hai dòng đầu tiên chuyển hướng các URL đã bỏ qua “www.” tiền tố cho URL trang chủ “www.xyz.com” đầy đủ. Điều đó có nghĩa là URL của trang chủ http://xyz.com sẽ không tự phân giải mà thay vào đó sẽ chuyển hướng đến http://www.xyz.com/.

Khối mã thứ hai chuyển hướng các URL chỉ định tham chiếu trang mặc định đến URL bỏ qua tên tham chiếu trang mặc định. Mã này đảm bảo rằng bất kỳ URL trang chủ nào bao gồm một số phiên bản của tham chiếu tên trang rõ ràng, chẳng hạn như default.htm hoặc index.html, sẽ được chuyển hướng đến URL trang chủ chuẩn, http://www.xyz.com/.


Lập hồ sơ và kiểm tra công việc của bạn

Chúng tôi thực sự khuyên bạn nên thêm các dòng tài liệu vào công việc viết mã của mình trong tệp .htaccess. Để làm như vậy, chỉ cần bắt đầu một dòng ở lề trái bằng ký tự #, chẳng hạn như trong ví dụ mã sau:

# Chuyển hướng toàn bộ miền này, abc.com, đến miền xyz.com

RedirectMatch 301 ^ (. *) $ Http://www.xyz.com

Tài liệu tốt sẽ luôn giúp bạn (và những người sẽ phải duy trì trang web sau khi bạn rời đi!) Hiểu mã bên dưới dự định làm gì. Thông tin này sẽ giúp khắc phục sự cố khi mọi thứ không hoạt động như mong đợi hoặc phải thực hiện các thay đổi.

Tất nhiên, bạn cũng nên kiểm tra các thay đổi của mình. Khi bạn đã sử dụng FTP để tải tệp .htaccess đã sửa đổi lên thư mục gốc của trang web, nó đã sẵn sàng hoạt động. Sử dụng trình duyệt của bạn để cố gắng truy cập URL của trang mà bạn đã thiết lập chuyển hướng. Nó sẽ ngay lập tức chuyển hướng đến URL mới như mong đợi. Bạn cũng có thể muốn kiểm tra chuyển hướng bằng các công cụ trực tuyến như Công cụ SEO kiểm tra chuyển hướng hoặc có lẽ tốt hơn, công cụ Kiểm tra tiêu đề Ninjas của Internet Marketing , không chỉ theo dõi tất cả các chuyển hướng cho một URL nhất định và báo cáo mã trạng thái HTTP được trả về, công cụ này cũng cung cấp các định nghĩa mã trạng thái HTTP. Ngọt!


Khắc phục sự cố

Nếu các chuyển hướng không hoạt động như mong đợi, đã đến lúc khắc phục sự cố.

Trước hết, nếu mã chuyển hướng trong tệp .htaccess của bạn hợp lệ nhưng nó không hoạt động, hãy kiểm tra trạng thái cài đặt của phần mở rộng mod_rewrite trong Apache. Mô-đun này thường được cài đặt theo mặc định, nhưng nếu không có ở đó, các ví dụ mã hóa .htaccess được cung cấp ở trên sẽ không hoạt động. Đồng thời đảm bảo rằng bạn đã thêm hai dòng mã cho phép cả mô-đun mod_rewrite và ReWriteEngine.

Ngoài ra, lưu ý rằng việc sử dụng [NC] trong các dòng RewriteCond chỉ ra rằng các giá trị đầu vào không phải là chữ hoa và chữ thường. Nếu bạn bỏ qua điều này, các URL được viết hoa hoặc viết hoa hỗn hợp có thể không hoạt động như mong đợi. Ngoài ra, việc sử dụng L trong mã [L, R = 301] cho công cụ thông dịch tệp biết rằng đây là dòng mã cuối cùng được xử lý để khớp với đầu vào. Nếu bạn có các câu lệnh xung đột trong mã .htaccess của mình, hãy sử dụng mã L ở dòng được ưu tiên.

Cuối cùng, hãy lưu ý rằng việc xếp chồng các tệp 301 theo thời gian không phải là một chiến lược tuyệt vời cho sức khỏe của trang web. 301 rất hữu ích, nhưng bạn sẽ muốn cập nhật các internal link của trang web của mình thành các URL chính xác. Bỏ qua các internal link cũ của bạn để ưu tiên sử dụng 301 sau 301 sau 301 chỉ làm chậm thời gian tải trang web của bạn, điều này đủ xấu cho SEO. Và nếu các chuyển hướng được xếp chồng đủ sâu, trình thu thập thông tin tìm kiếm có thể không theo dõi tất cả. Nếu điều đó xảy ra, nó sẽ làm hỏng khả năng trang web của bạn ở trong chỉ mục tìm kiếm. Ngoài ra, khi bạn cập nhật các liên kết trang web của mình, bạn cũng nên đảm bảo rằng tệp sitemap.xml của bạn được cập nhật với các URL mới nhất.

Kiểm soát các URL của trang web của bạn với redirect 301 vĩnh viễn là một phương pháp hay nhất tiêu chuẩn trong SEO mũ trắng. Đảm bảo rằng bạn cho các công cụ tìm kiếm biết cách truy cập các trang của bạn trong khi đảm bảo mọi giá trị xếp hạng trang kiếm được đều được đầu tư vào các trang đang hoạt động trên trang web của bạn.

Leave a Reply

Your email address will not be published. Required fields are marked *