Trình kiểm tra chuyển hướng

Tiếp theo

Dán một URL và trình kiểm tra sẽ đi theo chuỗi chuyển hướng HTTP từng bước nhảy một, hiển thị mỗi bước trên một dòng với mã trạng thái (301, 302, 303, 307 hoặc 308), Location mà nó trỏ tới, cùng máy chủ và loại nội dung được báo cáo. Nó dừng ở phản hồi đầu tiên không phải 3xx hoặc khi đạt tới giới hạn bước nhảy của bạn, và đánh dấu là vòng lặp nếu một URL trỏ ngược về một URL đã ghé qua. Công việc SEO sống còn nhờ dấu vết này: chỉ một mã 302 âm thầm trong chuỗi nhiều bước nhảy cũng có thể làm rò rỉ PageRank, và một chuỗi dài làm lãng phí ngân sách thu thập dữ liệu mà Google sẽ không hoàn lại.

Cách theo dõi một chuỗi chuyển hướng

  1. 1

    Nhập URL ban đầu

    Bất kỳ URL nào, HTTPS hoặc HTTP, có hoặc không có `www`. Trình kiểm tra sẽ thêm giao thức nếu bạn bỏ trống.

  2. 2

    Đặt giới hạn bước nhảy

    Chọn số lần chuyển hướng cần theo dõi, từ 1 đến 20. Giá trị mặc định dừng sớm một chuỗi mất kiểm soát hoặc bị lặp.

  3. 3

    Chạy kiểm tra

    Mỗi bước nhảy được yêu cầu lần lượt và được theo dõi cho tới khi trả về một phản hồi không phải 3xx hoặc đạt tới giới hạn.

  4. 4

    Đọc chuỗi

    Mỗi dòng hiển thị số thứ tự bước nhảy, mã trạng thái và loại của nó (vĩnh viễn, tạm thời, OK, lỗi máy khách, lỗi máy chủ hoặc vòng lặp), URL và nơi nó chuyển hướng tới.

Các mã trạng thái chuyển hướng và ý nghĩa của chúng

RFC 7231 và RFC 7538 (cho 308) định nghĩa ngữ nghĩa. Sự khác biệt giữa chúng quan trọng đối với SEO, bộ nhớ đệm, và việc trình duyệt lặp lại một POST hay lùi về GET.

Tên Vĩnh viễn? Giữ nguyên phương thức? Mặc định có thể lưu đệm?
301 Moved Permanently Trước đây là không
302 Found Không Trước đây là không Chỉ khi các tiêu đề cho phép
303 See Other Không Buộc dùng GET Không
307 Temporary Redirect Không Chỉ khi các tiêu đề cho phép
308 Permanent Redirect

Đối với SEO, 301 và 308 dồn PageRank về đích; 302 và 307 thì không (Google coi chúng là tạm thời và giữ nguồn trong chỉ mục).

Một chuỗi chuyển hướng nên trông như thế nào

  • 1 bước nhảy là ổn. URL cũ tới URL mới bằng một mã 301 duy nhất. Không mất giá trị liên kết.
  • 2 bước nhảy có thể chấp nhận nếu một bước là nâng cấp từ HTTP lên HTTPS và một bước là chuẩn hóa www.
  • 3 bước nhảy trở lên là một dấu hiệu cảnh báo. Mỗi bước nhảy làm tăng độ trễ, và Google ghi rõ rằng các chuỗi rất dài có thể bị bỏ dở. Hãy gộp chuỗi lại ở máy chủ để người dùng và trình thu thập dữ liệu đến đích chỉ trong một bước.

Trình kiểm tra này theo dõi gì và không theo dõi gì

Trình kiểm tra theo dõi các chuyển hướng HTTP phía máy chủ: bất kỳ phản hồi nào có mã trạng thái 3xx và một tiêu đề Location. Nó không thực thi trang, nên hai loại chuyển hướng khác không được theo dõi:

  • Meta refresh. <meta http-equiv="refresh" content="0; url=..."> là một chuyển hướng ở cấp HTML được viết trong thân trang, không phải tiêu đề HTTP, nên ở đây nó hiện ra như một phản hồi 200 bình thường.
  • Chuyển hướng bằng JavaScript. window.location = '...' chạy trong trình duyệt sau khi trang tải xong, nên một yêu cầu phía máy chủ không bao giờ thấy nó.

Nếu một URL chỉ chuyển hướng qua một trong những cách đó, hãy dùng một công cụ với trình duyệt không giao diện (headless) để thấy đích cuối cùng.

Gỡ lỗi một chuỗi bị hỏng

Phần lớn các chuỗi bị hỏng đến từ một trong ba nguyên nhân: một vòng lặp chuyển hướng (một bước nhảy trỏ ngược về một URL đã ghé qua), một www bị mất rồi lại chuyển hướng, hoặc sự không nhất quán ở dấu gạch chéo cuối khiến /page/page/ nảy qua lại lẫn nhau. Trình kiểm tra dừng lại và đánh dấu vòng lặp khi một URL lặp lại.

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

Không. Nó theo dõi các chuyển hướng HTTP phía máy chủ (mã trạng thái 3xx với một tiêu đề Location). Chuyển hướng bằng meta refresh và JavaScript chạy bên trong trang sau khi trang tải xong, nên một yêu cầu phía máy chủ không thấy chúng; với những trường hợp đó, hãy dùng một công cụ với trình duyệt không giao diện (headless).

Bạn có thể theo dõi từ 1 đến 20 bước nhảy, mặc định là 10. Trình kiểm tra dừng ở giới hạn của bạn hoặc khi một URL trỏ ngược về một URL đã ghé qua, nên một vòng lặp chuyển hướng không thể chạy mãi.

Chỉ khi chúng phân giải được từ internet công cộng. Các URL nằm sau VPN, dùng xác thực cơ bản HTTP hoặc trên localhost (và các địa chỉ riêng khác) đều không thể truy cập được bởi trình kiểm tra.

Với mỗi bước nhảy: số thứ tự, mã trạng thái HTTP và loại của nó (vĩnh viễn, tạm thời, OK, lỗi máy khách, lỗi máy chủ hoặc vòng lặp), URL được yêu cầu, Location mà nó chuyển hướng tới, cùng máy chủ và loại nội dung được báo cáo trong phản hồi.

Không. Mỗi yêu cầu được thực hiện và kết quả được trả về trực tiếp cho bạn; các URL bạn dán không được ghi lại.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác