Công thức bản đồ chuyển hướng: xếp hạng URL cũ dựa trên số lượng liên kết trỏ đến
Bản đồ chuyển hướng là danh sách ưu tiên, không phải bảng tính chứa mọi URL. Hãy bắt đầu với các trang mà các trang khác liên kết đến, và phần còn lại của bản đồ sẽ dễ xử lý hơn.
Đội ngũ nghiên cứu ArchiLinks ·

Tại sao cần xếp hạng theo liên kết
Các nhóm thường xây dựng bản đồ dựa trên dữ liệu crawl. Dữ liệu này đầy đủ. Tuy nhiên, nó cũng đối xử với một trang báo chí cũ từ năm 2014 giống như trang chủ.
Khi bạn kiểm tra backlink trỏ về trang của mình và sắp xếp các trang theo số lượng tên miền liên kết, một mẫu hình thường xuất hiện trong hầu hết các đợt di chuyển: một vài chục URL nắm giữ phần lớn giá trị từ bên ngoài. Những URL này cần được khớp thủ công, xem xét kỹ lưỡng và kiểm thử trước tiên.
Mọi thứ còn lại sẽ tuân theo các quy tắc. Các thư mục được ánh xạ theo mẫu, các tham số theo dõi được loại bỏ, và các URL cô lập không có liên kết và không có lưu lượng truy cập có thể trả về mã 410 nếu bạn quyết định như vậy. Hãy kết hợp kết quả này với danh sách kiểm tra di chuyển để bản đồ được kiểm thử trước khi ra mắt và rà soát lại vào ngày thứ 45, cùng với các tập lệnh API để lên lịch trích xuất dữ liệu hàng tháng.
Bước 1: Trích xuất các trang được liên kết
Một lệnh gọi trả về tối đa 1.000 hàng và tốn 2 credit, bất kể số lượng hàng thực tế. Tên trường bên dưới chỉ là ví dụ; hãy xem một phản hồi thực tế và điều chỉnh các khóa cho phù hợp.
import csv, requests
BASE = "https://archilinks.com/api.php"
KEY = "sk_live_..."
def call(action, **params):
r = requests.get(BASE, params={"action": action, "key": KEY, **params}, timeout=30)
r.raise_for_status()
return r.json()
data = call("toppages", q="old-shop.com", per=1000)
rows = next(v for v in data.values() if isinstance(v, list))
with open("linked-pages.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["old_url", "links", "new_url"])
for row in rows:
w.writerow([row.get("url"), row.get("backlinks"), ""])Bước 2: Điền vào cột thứ ba
Khớp theo ý nghĩa
Một trang sản phẩm sẽ được chuyển hướng đến cùng sản phẩm đó, hoặc đến danh mục của nó nếu sản phẩm đã ngừng bán. Không bao giờ chuyển hướng về trang chủ trừ khi trang đó chính là trang chủ.
Để một người khác kiểm tra 50 hàng đầu tiên
Một người làm việc mệt mỏi vào lúc 6 giờ chiều có thể ánh xạ một bài hướng dẫn về canonical sang trang tổng quan blog. Một người xem lại sẽ phát hiện ra lỗi này.
Quy tắc cho các trường hợp ít phổ biến
Viết các mẫu cho các thư mục và loại bỏ các tham số theo dõi. Giữ mỗi quy tắc trong hệ thống kiểm soát phiên bản kèm theo ghi chú giải thích lý do.
Bước 3: Xuất các quy tắc máy chủ
nginx xử lý tốt các tệp bản đồ và có thể mở rộng lên tới hàng chục nghìn dòng.
# /etc/nginx/redirects.map (generated from the csv)
/old/guide-canonicals /guides/canonical-tags;
/products/blue-widget /shop/widgets/blue;
# in nginx.conf, http context
map $request_uri $new_uri {
default "";
include /etc/nginx/redirects.map;
}
# in the server block of the old host
if ($new_uri) {
return 301 https://new-shop.com$new_uri;
}
Bước 4: Kiểm tra từng bước chuyển
Ngắt quy trình nếu có bất kỳ kết quả nào không phải là chuyển hướng 301 đơn lẻ đến trang đích trả về mã 200.
while IFS=, read -r old new; do
out=$(curl -s -o /dev/null -w "%{http_code} %{num_redirects} %{url_effective}" -L "https://old-shop.com$old")
echo "$old -> $out"
done < redirect-pairs.csv | grep -v "^.* -> 200 1 " && echo "FIX ABOVE"Các lỗi chúng tôi sẽ kiểm tra trước tiên
| Triệu chứng | Nguyên nhân có thể | Cách khắc phục |
|---|---|---|
| Chuỗi chuyển hướng gồm hai hoặc ba bước | Các quy tắc cũ chồng lên các quy tắc mới | Điểm quy tắc cũ trực tiếp đến URL cuối cùng |
| Mọi thứ đều chuyển hướng về trang chủ | Quy tắc bắt tất cả (catch-all) quá đơn giản | Khớp theo chủ đề; Google có thể coi các chuyển hướng hàng loạt về trang chủ là lỗi 404 mềm |
| Chuỗi truy vấn bị mất | Quy tắc loại bỏ các tham số | Giữ lại các tham số làm thay đổi nội dung; loại bỏ các tham số khác |
| URL hàng đầu trả về 404 sau khi ra mắt | Bị bỏ sót trong tệp CSV | Chạy lại lệnh trích xuất và so sánh sự khác biệt với bản đồ trực tiếp |

URL nào xứng đáng có một hàng được khớp thủ công
Không phải mọi URL đều xứng đáng được con người xử lý. Một cách phân chia hữu ích là dựa trên tên miền liên kết: bất kỳ URL nào có nhiều trang web khác trỏ đến đều được khớp thủ công, và phần còn lại tuân theo bộ quy tắc. Giả sử bạn có 4.000 URL cũ và 60 URL trong số đó nắm giữ phần lớn các liên kết bên ngoài. Sáu mươi URL này cần một buổi xem xét, trong khi 3.940 URL còn lại chỉ cần một mẫu quy tắc và một lần kiểm thử.
Hãy đặt ngưỡng này trong tập lệnh, không phải trong đầu ai đó. Năm tên miền liên kết là mức khởi đầu hợp lý cho một trang web trung bình. Hãy bắt đầu từ đó. Giảm số lượng khi toàn bộ trang web có ít liên kết, và tăng số lượng khi danh sách khớp thủ công quá dài đối với một người xem xét.
Giữ riêng biệt các hàng được khớp thủ công và các hàng được khớp theo quy tắc
Các hàng được khớp thủ công có người xem xét được đặt tên và ghi chú lý do chọn URL đích. Các hàng được khớp theo quy tắc có một mẫu được kiểm thử trên toàn bộ thư mục, giúp một ngoại lệ hiển thị trong báo cáo kiểm thử trước khi ra mắt thay vì trong biểu đồ lưu lượng truy cập sau đó.
Các trường hợp hỗn hợp gây ra phần lớn sự nhầm lẫn. Một sản phẩm đã ngừng bán và được thay thế bởi sản phẩm kế nhiệm sẽ được ánh xạ sang sản phẩm kế nhiệm. Một sản phẩm đã ngừng bán nhưng không có sản phẩm kế nhiệm sẽ thuộc về danh mục của nó, không phải trang chủ.
Sử dụng lệnh trích xuất thứ hai để xem những gì đã thay đổi
Chạy lệnh lấy tên miền tham chiếu cho máy chủ cũ trước khi bản đồ được hoàn tất, sau đó chạy lại sau khi ra mắt, và khớp hai danh sách theo tên miền. Một tên miền liên kết bị thiếu trong lệnh trích xuất thứ hai là câu hỏi cần xác minh với chủ liên kết, không phải lý do để lo lắng, vì một liên kết bị xóa có thể mất một thời gian để hiển thị trong chỉ mục.
Giữ cả hai tệp cạnh nhau trong thư mục di chuyển, với ngày tháng trong tên tệp. Lệnh diff cho bạn biết cần kiểm tra ở đâu, và bản đồ cho bạn biết bạn đã xử lý vấn đề đó như thế nào.
Quyết định xử lý các URL không có liên kết như thế nào
Các URL cô lập không có liên kết và không có lưu lượng truy cập là phần dễ nhất. Hãy trả về mã 404 rõ ràng hoặc mã 410 khi nội dung đã biến mất vĩnh viễn, và chỉ chuyển hướng khi có một trang thay thế tương tự, để cả người dùng và bot tìm kiếm đều đến được một nơi hữu ích.
Khi bạn không chắc chắn, hãy để lại một ghi chú ngắn trong bản đồ và quay lại sau tuần đầu tiên dựa trên dữ liệu nhật ký. Nhật ký máy chủ của bạn sẽ hiển thị những địa chỉ cũ nào vẫn nhận được yêu cầu, đây là bằng chứng tốt nhất bạn sẽ có.
Bản đồ chuyển hướng tích hợp vào quy trình phát hành như thế nào
Bản đồ chuyển hướng thay đổi cùng với trang web. Hãy nhớ điều này. Các trang mới xuất hiện, các trang cũ được đổi tên, và một thay đổi về mẫu thiết kế có thể làm hỏng một quy tắc trông có vẻ an toàn vào tháng trước. Hãy coi bản đồ như mã nguồn, với một tệp duy nhất trong hệ thống kiểm soát phiên bản, một lần xem xét trước mỗi lần triển khai và một lần chạy kiểm thử trên mọi thay đổi.
Hãy giữ bản đồ trong một lớp càng tốt. Các chuyển hướng trải rộng trên ứng dụng, CDN và CMS là nguyên nhân gây ra chuỗi chuyển hướng, và các chuỗi này rất khó phát hiện nếu không có một lần crawl đầy đủ.
Nơi nên đặt các quy tắc
Bản đồ trên máy chủ nhanh và dễ kiểm thử. Plugin CMS tiện lợi cho một vài trang, nhưng khó kiểm toán ở quy mô lớn. Dù bạn chọn cách nào, bài kiểm tra một bước phải đọc từ cùng một vị trí đó.
Nếu hai lớp chuyển hướng cùng một URL, bài kiểm tra sẽ báo cáo một chuỗi. Hãy loại bỏ bản trùng lặp khỏi lớp mà bạn dự định ngừng sử dụng.
Kiểm thử trên máy chủ thực sau mỗi thay đổi
Chạy bài kiểm tra bước chuyển trên môi trường staging, sau đó trên môi trường production, sau mỗi lần thay đổi tệp quy tắc. Một quy tắc vượt qua trên staging vẫn có thể thất bại khi bộ nhớ đệm giữ một phản ứng cũ, vì vậy lần chạy thứ hai rất quan trọng.
Lưu kết quả với ngày tháng. Khi một URL hàng đầu bị lỗi sau nhiều tháng, kết quả cũ sẽ cho bạn biết liệu quy tắc đã thay đổi hay trang web đã thay đổi. Danh sách kiểm tra di chuyển liệt kê thời điểm bài kiểm tra này nên được thực hiện, và việc chạy nó trước tiên giúp đảm bảo lần kiểm tra tiếp theo có thể so sánh được với lần này.
Xem xét một thay đổi đối với tệp quy tắc
Chỉ định một người xem xét cho các thay đổi đối với bản đồ, và yêu cầu người đó kiểm tra ba điều: liệu mỗi URL đích vẫn khớp với chủ đề hay không, quy tắc tạo ra bao nhiêu bước chuyển, và liệu mẫu quy tắc có đủ hẹp để chỉ ảnh hưởng đến các URL mà nó được viết cho hay không. Một thay đổi không được ai xem xét là nguyên nhân dễ gây ra chuỗi chuyển hướng nhất.
Hãy yêu cầu cùng một bài kiểm tra khi chính trang web thay đổi. Một danh mục mới hấp thụ một thư mục cũ có thể khiến một quy tắc đúng trỏ đến sai vị trí mà không cần ai chỉnh sửa bản đồ.
Lưu ghi chú của người xem xét cạnh thay đổi. Sáu tháng sau, ghi chú sẽ giải thích một quy tắc vốn trông có vẻ tùy ý, và nó tiết kiệm một cuộc điều tra thứ hai cho cùng một vấn đề.
Kiểm thử một mẫu trước khi chạy toàn bộ
Trước khi chạy toàn bộ danh sách, hãy chọn một mẫu gồm năm mươi hàng bao gồm các trang được liên kết nhiều nhất cùng một vài trang thông thường. Hãy chạy bài kiểm tra bước chuyển trên mẫu đó trước. Mẫu này nhanh để đọc, và lỗi quy tắc sẽ hiển thị trong mẫu này trước khi nó xuất hiện trên toàn bộ tệp.
Bao gồm ít nhất một hàng từ mỗi mẫu quy tắc và một hàng từ mỗi nhóm được khớp thủ công. Một mẫu bao phủ một thư mục gồm hai trăm URL chỉ được kiểm thử bằng các hàng tình cờ nằm trong mẫu, vì vậy hãy chọn chúng một cách có chủ đích.
Giữ các tệp quy tắc có kích thước nhỏ
Một tệp quy tắc phát triển vượt quá vài trăm mẫu sẽ khó xem xét. Hãy chia nhỏ nó theo từng phần của trang web và giữ mỗi tệp ngắn enough để người xem xét có thể đọc hết trong một lần.
Loại bỏ quy tắc vào ngày thư mục của nó bị xóa. Các quy tắc cũ bị bỏ lại là nguyên nhân sau này khiến lưu lượng truy cập đi vào chuỗi chuyển hướng.
Trước khi bản đồ được kích hoạt
- Mỗi hàng đều có một URL mới, hoặc mã 404 hoặc 410 được cố ý thiết lập.
- Không có URL đích nào tự nó là một chuyển hướng.
- 50 URL có nhiều tên miền liên kết nhất đã được một người khác kiểm tra.
- Các tham số truy vấn làm thay đổi nội dung được giữ lại.
- Tệp quy tắc nằm trong hệ thống kiểm soát phiên bản, kèm theo ghi chú cho mỗi mẫu.
- Dữ liệu nền tảng tên miền tham chiếu được lưu lại để so sánh sự khác biệt sau khi ra mắt.
Các câu hỏi thường gặp về chuyển hướng
- Tôi có nên xóa các chuyển hướng cũ sau một năm không?
- Nhiều nhóm di chuyển giữ chúng ít nhất trong một năm. Sau thời gian đó, hãy giữ chúng miễn là các URL cũ vẫn nhận được liên kết bên ngoài hoặc lưu lượng truy cập. Chuyển hướng hầu như không tốn gì để phục vụ, vì vậy hiếm khi có lý do chính đáng để xóa chúng sớm.
- Có ổn không nếu chỉ chuyển hướng các trang đã được lập chỉ mục?
- Không, nếu các trang chưa được lập chỉ mục có chứa liên kết. Trạng thái lập chỉ mục nói lên rất ít về giá trị bên ngoài. Hãy chuyển hướng mọi URL có tên miền liên kết, sau đó quyết định xử lý phần còn lại dựa trên lưu lượng truy cập.
- Còn 302 hoặc 307 cho một chuyển đổi vĩnh viễn thì sao?
- Hãy sử dụng 301 hoặc 308 cho các chuyển đổi vĩnh viễn. Một mã 302 được giữ nguyên trong nhiều năm có thể được coi là vĩnh viễn, nhưng kết quả đó phụ thuộc vào may mắn, và các khách hàng khác của chuyển hướng có thể không suy luận theo cách tương tự.
- Tôi có thể chuyển hướng các lỗi 404 từ trang web cũ sang trang web mới không?
- Chỉ khi có một trang tương tự phù hợp. Một chuyển hướng đến một trang không liên quan được Google coi là lỗi 404 mềm. Hãy trả về mã 404 hoặc 410 thực sự khi nội dung đã biến mất.