Przejdź do treści
ArchiLinks
ArchiLinksZarejestruj się

Przepis na mapę przekierowań: pozycjonuj stare URL-e według liczby linków do nich

Mapa przekierowań to lista priorytetów, a nie arkusz zawierający każdy URL. Zacznij od podstron, do których linkują inne witryny, a reszta mapy będzie łatwiejsza do przygotowania.

Zespół badawczy ArchiLinks ·

Pracownik sortujący cenne złote cegły od szarych kamieni na warsztatowym stole

Dlaczego sortować według linków

Zespoły często tworzą mapy na podstawie danych z crawlowania. Dane są kompletne, ale traktują np. zapomnianą stronę prasową z 2014 roku tak samo jak stronę główną.

Gdy sprawdzasz backlinki do swojej witryny i sortujesz podstrony według liczby domen linkujących, w większości migracji pojawia się pewien wzorzec: kilkadziesiąt URL-i zawiera większość zewnętrznej wartości. Te URL-e są dopasowywane ręcznie, weryfikowane dwukrotnie i testowane jako pierwsze.

Wszystko inne podlega regułom. Foldery mapuj według wzorca, usuwaj parametry śledzenia, a URL-e bez linków i bez ruchu mogą zwracać kod 410, jeśli tak zdecydujesz. Połącz wynik z checklistą migracji, aby mapa przeszła test przed uruchomieniem i ponowną weryfikację po 45 dniach, oraz z skryptami API do harmonogramowania miesięcznego pobierania danych.

Krok 1: pobierz podstrony z linkami

Jedno zapytanie zwraca do 1000 wierszy i kosztuje 2 kredyty, niezależnie od liczby wierszy. Nazwy pól poniżej to przykład; sprawdź rzeczywistą odpowiedź i dostosuj klucze.

python
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"), ""])

Krok 2: wypełnij trzecią kolumnę

01

Dopasuj według znaczenia

Podstrona produktowa przekierowuje na ten sam produkt lub jego kategorię, jeśli produkt został wycofany. Nigdy na stronę główną, chyba że oryginalną podstroną była właśnie strona główna.

02

Pozwól drugiej osobie sprawdzić top 50

Zmęczona osoba o 18:00 może przypisać poradnik o canonicalizacji do indeksu bloga. Przeglądający to wychwyci.

03

Reguły dla długiego ogona

Zapisz wzorce dla folderów i usuwaj parametry śledzenia. Przechowuj każdą regułę w systemie kontroli wersji z komentarzem wyjaśniającym jej przeznaczenie.

Krok 3: wygeneruj reguły serwera

nginx dobrze radzi sobie z plikami mapy i skaluje się do dziesiątek tysięcy linii.

nginx
# /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;
}
Metalowy dźwień blokujący kamienny blok w strukturze mostu

Krok 4: przetestuj każde przekierowanie

Zatrzymaj potok przetwarzania, jeśli cokolwiek nie jest pojedynczym przekierowaniem 301 do zasobu z kodem 200.

bash
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"

Błędy, które sprawdzamy jako pierwsze

ObjawPrawdopodobna przyczynaRozwiązanie
Łańcuchy składające się z dwóch lub trzech przekierowańStare reguły nałożone na noweWskaż starą regułę bezpośrednio na końcowy URL
Wszystko ląduje na stronie głównejLeniwa reguła catch-allDopasuj według tematyki; Google może traktować masowe przekierowania na stronę główną jako miękkie 404
Utracone ciągi zapytaniaReguła odrzuca argumentyPrzenoś parametry zmieniające treść; usuwaj pozostałe
Topowy URL zwraca 404 po uruchomieniuPominięto w pliku CSVPonów pobieranie danych i porównaj z aktualną mapą
Ogrodnik przycinający złożony krzew, podczas gdy wąż podlewa prosty ogród

Które URL-e zasługują na ręczne dopasowanie

Nie każdy URL zasługuje na uwagę człowieka. Przydatny podział opiera się na domenach linkujących: każdy URL z kilkoma zewnętrznymi linkami jest dopasowywany ręcznie, a reszta podlega zestawowi reguł. Załóżmy, że masz 4000 starych URL-i, a 60 z nich zawiera większość zewnętrznych linków. Te sześćdziesiąt wymaga popołudnia na przegląd, podczas gdy pozostałe 3940 obsługiwane są przez wzorzec i test.

Utrzymuj próg w skrypcie, a nie w głowie kogoś. Pięć domen linkujących to rozsądny start dla średniej witryny. Zacznij od tego. Obniż liczbę, gdy cała witryna ma mało linków, i podnieś, gdy lista ręczna staje się zbyt długa dla jednego recenzenta.

Oddzielanie wierszy dopasowanych ręcznie od tych z regułami

Wiersze dopasowane ręcznie mają przypisanego recenzenta i notatkę z uzasadnieniem wyboru celu. Wiersze dopasowane regułami mają wzorzec przetestowany na całym folderze, dzięki czemu wyjątek pojawi się w raporcie testowym przed uruchomieniem, a nie w wykresie ruchu po nim.

Mieszane przypadki powodują większość nieporozumień. Produkt wycofany i zastąpiony następcą przekierowuje na następcę. Jeden wycofany bez następcy należy do swojej kategorii, nigdy do strony głównej.

Użycie drugiego pobrania danych do sprawdzenia zmian

Uruchom raport domen linkujących dla starego hosta przed ostatecznym zatwierdzeniem mapy, a następnie ponownie po uruchomieniu, i porównaj obie listy według domen. Domena linkująca brakująca w drugim pobraniu to pytanie do właściciela linku, a nie powód do alarmu, ponieważ usunięty link może długo trwać, zanim zniknie z indeksu.

Przechowuj oba pliki obok siebie w folderze migracji, z datą w nazwach. Różnica (diff) wskaże, gdzie szukać, a mapa pokaże, co z tym zrobiono.

Decydowanie o losie URL-i bez linków

URL-e bez linków i bez ruchu to najłatwiejsza część. Zwróć wyraźny kod 404 lub 410, gdy treść została trwale usunięta, a przekierowuj tylko wtedy, gdy istnieje bliski zamiennik, aby odwiedzający i roboty wyszukiwarek trafili w odpowiednie miejsce.

Gdy masz wątpliwości, zostaw krótką notatkę w mapie i wróć po pierwszym tygodniu logów. Logi serwera pokażą, które stare adresy wciąż generują żądania – to najlepszy dowód, jaki będziesz miał.

Jak mapa pasuje do procesu wydania

Mapa przekierowań zmienia się wraz z witryną. Pamiętaj o tym. Pojawiają się nowe podstrony, stare są przemianowane, a zmiana szablonu może zepsuć regułę, która wydawała się bezpieczna w ubiegłym miesiącu. Traktuj mapę jak kod: jeden plik w systemie kontroli wersji, przegląd przed każdym wdrożeniem i test po każdej zmianie.

Utrzymuj mapę w jednej warstwie, jeśli to możliwe. Przekierowania rozproszone między aplikacją, CDN i CMS to sposób powstawania łańcuchów, a łańcuchy trudno wykryć bez pełnego crawlowania.

Gdzie powinny znajdować się reguły

Mapa na serwerze jest szybka i łatwa do przetestowania. Wtyczka CMS jest wygodna dla garści podstron, ale trudno ją audytować w skali. Jakiekolwiek rozwiązanie wybierzesz, test pojedynczego przekierowania musi czytać z tego samego miejsca.

Jeśli dwie warstwy przekierują ten sam URL, test zgłosi łańcuch. Usuń duplikat z warstwy, którą planujesz wycofać.

Testowanie na produkcyjnym hoście po każdej zmianie

Uruchom test przekierowania na środowisku testowym, a następnie na produkcji po każdej zmianie w pliku reguł. Reguła, która przechodzi test na środowisku testowym, może nadal zawieść, gdy pamięć podręczna przechowuje starą odpowiedź, więc drugi test ma znaczenie.

Zapisz wynik z datą. Gdy topowy URL ulegnie awarii po kilku miesiącach, stary wynik pokaże, czy zmieniła się reguła, czy witryna. Checklista migracji wskazuje, kiedy należy przeprowadzić ten test, a jego uruchomienie wcześniej zapewnia porównywalność z kolejnymi sprawdzianami.

Przeglądanie zmiany w pliku reguł

Wyznacz jednego recenzenta do zmian w mapie i poproś go o sprawdzenie trzech rzeczy: czy każdy cel nadal pasuje do tematu, ile przekierowań tworzy reguła i czy wzorzec jest wystarczająco wąski, aby dotyczył tylko URL-i, dla których został napisany. Zmiana, której nikt nie przejrzał, to ta, która najprawdopodobniej zacznie tworzyć łańcuchy.

Poproś o ten sam przegląd, gdy sama witryna ulegnie zmianie. Nowa kategoria, która przejmie stary folder, może sprawić, że poprawna reguła będzie wskazywać w złym kierunku, bez edycji samej mapy.

Przechowuj notatkę recenzenta obok zmiany. Po sześciu miesiącach notatka wyjaśni regułę, która w przeciwnym razie wyglądałaby na arbitralną, i zaoszczędzi drugie śledzenie tej samej kwestii.

Testowanie próbki przed pełnym uruchomieniem

Zanim uruchomisz całą listę, wybierz próbkę pięćdziesięciu wierszy mieszającą najwyżej linkowane podstrony z kilkoma zwykłymi. Uruchom test przekierowania na tej próbce najpierw. Próbka jest szybka do odczytania, a błąd reguły pojawi się w niej znacznie wcześniej niż w całym pliku.

Uwzględnij co najmniej jeden wiersz z każdego wzorca reguły i jeden z każdej grupy dopasowanej ręcznie. Wzorzec obejmujący folder ze stu dwudziestoma URL-ami jest testowany tylko przez wiersze przypadkowo znajdujące się w próbce, więc wybierz je celowo.

Utrzymywanie małych plików reguł

Plik reguł przekraczający kilka setek wzorców staje się trudny do przeglądu. Podziel go według sekcji witryny i utrzymuj każdy plik na tyle krótki, aby recenzent mógł go przeczytać na jednym posiedzeniu.

Usuń regułę w dniu, gdy jej folder przestanie istnieć. Stare reguły pozostawione w tyle to te, które później wysyłają ruch w łańcuch.

Przed uruchomieniem mapy

  • Każdy wiersz ma nowy URL lub celowe 404/410.
  • Żaden cel nie jest sam w sobie przekierowaniem.
  • 50 URL-i z największą liczbą domen linkujących zostało sprawdzonych przez drugą osobę.
  • Parametry zapytania zmieniające treść są przenoszone.
  • Plik reguł jest w systemie kontroli wersji z komentarzem do każdego wzorca.
  • Baza domen odsyłających jest zapisana do porównania po uruchomieniu.

Pytania o przekierowania, które pojawiają się ponownie

Czy powinienem usunąć stare przekierowania po roku?
Wiele zespołów migracyjnych przechowuje je przez co najmniej rok. Po tym czasie utrzymuj je tak długo, jak stare URL-e wciąż generują zewnętrzne linki lub ruch. Przekierowania kosztują niewiele w obsłudze, więc rzadko istnieje dobry powód do ich wczesnego usunięcia.
Czy można przekierować tylko zaindeksowane podstrony?
Nie, jeśli te niezaindeksowane zawierają linki. Status indeksowania mówi niewiele o wartości zewnętrznej. Przekieruj każdy URL z domeną linkującą, a resztę zdecyduj na podstawie ruchu.
A co z 302 lub 307 przy trwałym przeniesieniu?
Użyj 301 lub 308 dla przeniesień trwałych. 302 pozostawiony na lata może być traktowany jako trwały, ale wynik zależy od przypadku, a inni klienci przekierowania mogą nie interpretować tego w ten sam sposób.
Czy mogę przekierować błędy 404 ze starej witryny na nową?
Tylko gdy istnieje bliski match. Przekierowanie do niepowiązanej podstrony jest w oczach Google miękkim 404. Zwróć prawdziwe 404 lub 410, gdy treść zniknęła.