Přejít na obsah
ArchiLinks
ArchiLinksRegistrovat se

Recept na přesměrovací mapu: řazení starých URL podle odkazů, které drží

Přesměrovací mapa je seznam priorit, ne tabulka všech URL. Začněte stránkami, na které odkazují jiné weby, a zbytek mapy bude snazší.

Výzkumný tým ArchiLinks ·

Dělník třídící cenné zlaté cihly od šedých kamenů na pracovním stole

Proč řadit podle odkazů

Týmy vytvářejí mapy z crawlů. Je kompletní. Také ale zachází se zapomenutou tiskovou zprávou z roku 2014 jako s hlavní stránkou.

Když zkontrolujete zpětné odkazy na můj web a seřadíte stránky podle počtu odkazujících domén, při většině migrací se ukáže vzorec: několik desítek URL drží většinu externí hodnoty. Tyto URL se ručně přiřadí, zkontrolují dvakrát a otestují jako první.

Všechno ostatní se řídí pravidly. Složky se mapují podle vzoru, parametry se odstraňují a osamělé URL bez odkazů a bez provozu mohou vracet 410, pokud se tak rozhodnete. Výstup doplňte o kontrolní seznam migrace, aby mapa prošla testem před spuštěním a znovu po 45 dnech, a o skripty API pro plánování měsíčního stahování.

Krok 1: stáhněte odkazované stránky

Jeden požadavek vrátí až 1 000 řádků a stojí 2 kredity, bez ohledu na počet řádků. Názvy polí níže jsou příklad; podívejte se na jednu skutečnou odpověď a upravte klíče.

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: vyplňte třetí sloupec

01

Přiřaďte podle významu

Stránka produktu jde na stejný produkt nebo na jeho kategorii, pokud produkt již není k dispozici. Nikoli na hlavní stránku, pokud stránka nebyla hlavní stránkou.

02

Nechte druhou osobu zkontrolovat prvních 50

Unavená osoba ve 18:00 přiřadí průvodce kanoizací k indexu blogu. Kontroler to odhalí.

03

Pravidla pro dlouhý ocas

Napište vzory pro složky a odstraňte sledovací parametry. Udržujte každé pravidlo ve verzionování s komentářem vysvětlujícím proč.

Krok 3: vygenerujte serverová pravidla

nginx dobře čte soubor mapy a škáluje se na desítky tisíc řádků.

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;
}
Kovová páka zajišťující kamenný blok do struktury mostu

Krok 4: otestujte každý krok

Zastavte pipeline u čehokoli, co není jediný přesměrovací kód 301 na 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"

Chyby, které bychom kontrolovali jako první

PříznakPravděpodobná příčinaOprava
Řetězce dvou nebo tří krokůStará pravidla naskládaná na nováUkažte staré pravidlo přímo na konečné URL
Vše končí na hlavní stránceLíné pravidlo catch-allPřiřaďte podle tématu; Google může hromadné přesměrování na hlavní stránku považovat za soft 404
Ztracené řetězce dotazůPravidlo zahodí argumentyPřeneste parametry, které mění obsah; ostatní odstraňte
Top URL vrací 404 po spuštěníVynecháno v CSVSpusťte znovu stažení a porovnejte s živou mapou
Zahradník prořezávající složitý keř, zatímco hadice zalévá jednoduché pole

Která URL si zaslouží řádek s ručním přiřazením

Ne každé URL si zaslouží člověka. Užitečné rozdělení je podle odkazujících domén: každé URL s několika externími odkazy se přiřadí ručně, zbytek se řídí sadou pravidel. Řekněme, že máte 4 000 starých URL a 60 z nich drží většinu externích odkazů. Těchto šedesát zabere odpoledne kontroly, zatímco dalších 3 940 vyžaduje vzor a test.

Udržte prah v skriptu, ne v hlavě někoho. Pět odkazujících domén je rozumný začátek pro střední web. Začněte tam. Snížte číslo, když má celý web málo odkazů, a zvyšte ho, když je seznam ručních přiřazení pro jednoho kontrolera příliš dlouhý.

Oddělení řádků s ručním přiřazením a řádků s pravidlovým přiřazením

Řádky s ručním přiřazením mají jmenovaného kontrolera a poznámku, proč byl cíl vybrán. Řádky s pravidlovým přiřazením mají vzor otestovaný proti celé složce, takže výjimka se projeví v testovacím reportu před spuštěním, nikoli v grafu provozu afterwards.

Smíšené případy způsobují většinu zmatení. Produkt, který byl ukončen a nahrazen nástupcem, se přesměruje na nástupce. Jeden ukončený bez nástupce patří do své kategorie, nikoli na hlavní stránku.

Použití druhého stažení k zobrazení toho, co se přesunulo

Spusťte refdomains pro starý host předtím, než bude mapa finální, pak znovu po spuštění, a porovnejte dva seznamy podle domény. Doména, která chybí v druhém stažení, je otázkou pro majitele odkazu, nikoli důvodem k poplachu, protože odstraněný odkaz se může v indexu objevit až po nějaké době.

Udržujte oba soubory vedle sebe v migrační složce s datem v každém názvu. Diff vám řekne, kam se podívat, a mapa vám řekne, co jste s tím udělali.

Rozhodování o URL bez odkazů

Osamělé URL bez odkazů a bez provozu jsou snadnou částí. Vraťte jasný 404 nebo 410, pokud je obsah navždy pryč, a přesměrujte pouze tehdy, pokud existuje blízká náhrada, aby návštěvníci i crawlerové dopadli někde užitečně.

Když si nejste jisti, nechte v mapě krátkou poznámku a vraťte se po prvním týdnu logů. Váš serverový log ukazuje, které staré adresy stále dostávají požadavky, což je nejlepší důkaz, jaký budete mít.

Jak se mapa hodí do vydání

Přesměrovací mapa se mění s webem. Mějte to na paměti. Nové stránky se objevují, staré se přejmenovávají a změna šablony může rozbít pravidlo, které vypadalo bezpečně minulý měsíc. Zacházejte s mapou jako s kódem, s jedním souborem ve verzionování, revizí před každým nasazením a testovacím během u každé změny.

Udržujte mapu v jedné vrstvě, pokud je to možné. Přesměrování rozložená mezi aplikaci, CDN a CMS jsou způsob, jakým se objevují řetězce, a řetězce je těžké odhalit bez plného crawlu.

Kde by pravidla měla žít

Serverová mapa je rychlá a snadno otestovatelná. Plugin CMS je užitečný pro hrstku stránek, ale je těžké ho auditovat ve velkém. Jakoukoli z nich vyberete, test jednoho kroku musí číst z toho samého místa.

Pokud dvě vrstvy přesměrovávají stejné URL, test nahlásí řetězec. Odstraňte duplikát z vrstvy, kterou plánujete vyřadit.

Testování na skutečném hostiteli po každé změně

Spusťte test kroků na stagingu, pak na produkci po každé změně souboru pravidel. Pravidlo, které projde na stagingu, může stále selhat, jakmile cache drží starou odpověď, takže druhý běh má význam.

Uložte výstup s datem. Když se top URL rozbije o několik měsíců později, starý výsledek ukáže, zda se změnilo pravidlo, nebo web. Kontrolní seznam migrace uvádí, kdy tento test patří, a jeho spuštění dříve udržuje další kontrolu srovnatelnou s touto.

Revize změny souboru pravidel

Jmenujte jednoho kontrolera pro změny mapy a požádejte tuto osobu, aby zkontrolovala tři věci: zda každý cíl stále odpovídá předmětu, kolik kroků pravidlo vytváří a zda je vzor dostatečně úzký, aby zasáhl pouze URL, pro která byl napsán. Změna, kterou nikdo nekontroloval, je ta, která nejvíce pravděpodobně začne řetězec.

Požádejte o stejnou revizi, když se změní samotný web. Nová kategorie, která absorbuje starou složku, může způsobit, že správné pravidlo ukazuje na špatné místo, aniž by někdo upravil mapu.

Uložte poznámku kontrolera vedle změny. O šest měsíců později poznámka vysvětlí pravidlo, které jinak vypadá libovolně, a ušetří druhé vyšetřování stejné otázky.

Testování vzorku před plným během

Než spustíte celý seznam, vyberte vzorek padesáti řádků, který mixuje nejvíce odkazované stránky s několika běžnými. Spusťte test kroků na tomto vzorku jako první. Vzorek je rychlý ke čtení a chyba v pravidle se v něm projeví dlouho předtím, než se projeví v celém souboru.

Zahrňte alespoň jeden řádek z každého pravidlového vzoru a jeden z každé skupiny s ručním přiřazením. Vzorek, který pokrývá složku dvou set URL, je testován pouze řádky, které se náhodou nacházejí ve vzorku, takže je vybírejte záměrně.

Udržování souborů pravidel malých

Soubor pravidel, který přesáhne několik set vzorů, se stává těžkým na revizi. Rozdělte ho podle sekce webu a udržujte každý soubor dostatečně krátký, aby ho kontroler mohl přečíst na jedno sezení.

Odstraňte pravidlo den, kdy je jeho složka pryč. Stará pravidla ponechaná vzad jsou ta, která později posílají provoz do řetězce.

Předtím, než mapa půjde live

  • Každý řádek má nové URL, nebo záměrný 404 nebo 410.
  • Žádný cíl není sám o sobě přesměrováním.
  • 50 URL s nejvíce odkazujícími doménami zkontrolovala druhá osoba.
  • Parametry dotazu, které mění obsah, jsou přeneseny.
  • Soubor pravidel je ve verzionování s komentářem k každému vzoru.
  • Báze odkazujících domén je uložena pro diff po spuštění.

Přesměrovací otázky, které se stále objevují

Měl bych po roce odstranit stará přesměrování?
Mnoho týmů pro migraci je udržuje alespoň rok. Poté je udržujte, dokud stará URL stále dostávají externí odkazy nebo provoz. Přesměrování stojí téměř nic na obsluhu, takže je zřídka dobrý důvod je brzy smazat.
Je v pořádku přesměrovat pouze indexované stránky?
Ne, pokud ty neindexované nesou odkazy. Stav indexace říká málo o externí hodnotě. Přesměrujte každé URL, které má odkazující doménu, pak se rozhodněte o zbytku podle provozu.
Co 302 nebo 307 pro trvalý přesun?
Použijte 301 nebo 308 pro trvalé přesuny. 302 ponechaný na místě po léta může být považován za trvalý, ale tento výsledek je ponechán náhodě a jiní klienti přesměrování to nemusí hádat stejně.
Můžu přesměrovat 404 ze starého webu na nový?
Pouze když existuje blízká shoda. Přesměrování na nesouvisející stránku je v očích Google soft 404. Vraťte skutečný 404 nebo 410, když je obsah pryč.