Pokud vám nefungují na webu všechny odkazy, tedy že některé jsou nefunkční, pak svůj web poškozujete. Je potřeba mít přehled, jestli všechny odkazy směřují do svého cíle. Samozřejmě to nebudete kontrolovat ručně, ale použijete k tomu vhodný nástroj. Ještě než se k těmto nástrojům dostaneme, shrneme si, proč odkazy nefungují.
Jak neplatné odkazy vznikají a jak je opravit
Příčina, které vede k neplatnosti odkazu, se může nacházet na vašem webu, nebo mimo něj. Záleží na tom, kam odkaz směřuje.
Jak získat seznam neplatných odkazů
Asi nejdostupnějším nástrojem, který vám nabídne seznam neplatných odkazů, je Google Search Console, a to v sekci Stránky > Proč stránky nejsou indexovány > Nenalezeno (404), poslední část se může lišit podle příčin, můžete tam vidět i chyby 50x a další.
Seznam neplatných odkazů získáte také pomocí mnoha SEO nástrojů nebo crawlerů, používám Website Auditor z balíku SEO PowerSuite.
Špatná url adresa
Adresa odkazu není platná, to znamená že url schéma obsahuje neplatné znaky nebo nefunkční protokol. Mám na mysli například odkaz obsahující http, který není přesměrovaný na variantu s https. Dalším příkladem mohou být situace, kdy se do adresy dostala mezera, obvykle jako součást názvu souboru. Tato mezera však byla převedena – escapována – na zástupné znaky. V názvech tak můžete najít řetězce jako %20 nebo %32, což naznačuje, že původně na tomto místě byl znak mezera nebo podobný, kterým se říká white space.
Tyto chyby se opravuji obtížně, protože hosting obvykle neumožní tyto znaky v názvech souborů opravit, přepsat nebo soubor smazat.
Nejsnazší – ale pracná – cesta je nahrát soubor znovu, samozřejmě se správným názvem, který dané znaky neobsahuje. Jak asi tušíte, vhodné názvy se musí obejít bez mezer a znaků diakritiky, což jsou háčky, čárky, případně další znaky národních abeced.
Prostě používejte jenom základní znaky ASCII tabulky (americké abecedy).
TIP. Pokud vám někdy přestanou fungovat všechny odkazy webu nebo jejich většina a články vracejí chybu 404, zkuste vymazat cache odkazů. To uděláte tím, že navštívíte stránku v administraci Nastavení > Trvalé odkazy. Ani ji nemusíte ukládat, pokud není potřeba nic měnit. Stačí ji pouze načíst, cache pro odkazy se tím vyprázdní a ty začnou zase fungovat.
Cíl (už) neexistuje
Další situaci je stav, kdy neexistuje cílová adresa, respektive cílová stránka. Odkaz, který vede někam, kde nic není. Odpověď pak nevrací http stav 200, ale stav 404 nebo například 503.
Chybu 503 můžete často dostat kvůli nastavení v souboru .htaccess. Některé hostingy to mají nastaveno, když žádáte neexistující obrázek nebo soubor s neplatným názvem.
Opravit tuto situaci je pracnější, protože
- musíte doplnit cílový obsah tak, aby byl funkční,
- musíte opravit odkaz, aby odkazoval na nový cíl, který třeba neznáte,
- musíte odkaz zrušit, protože cíl prostě už neexistuje.
Pokud jako opravu vezmeme druhý bod, odkaz máte možnost ručně změnit pouze v editoru (odkaz na obrázek, fotogalerie, běžný odkaz v textu), obtížněji v šabloně (např. odkaz v patičce, který je přímo v kódu) a nejtěžší bude při hromadná úprava odkazů v databázi. Už jsem psal v jednom předchozím newsletteru. že pro tyto účely používáme skript Database Search and Replace Script, někdy pomůže i plugin jako např. Better Search Replace. Budete možná potřebovat regulární výrazy (neboli regexp), což v dnešní době s AI za zády není takový problém jako dřív.
Cíl je dočasně nedostupný
Tohle je nepříjemná situace, kterou můžete řešit pouze obtížně. Pokud cíl neexistuje dočasně, například kvůli výpadku DNS nebo výpadku nějaké služby, pak na to moc vliv nemáte a je vhodné prostě počkat. Nejvýše pár dní. Pokud ani po pár dnech odkaz nefunguje, pak ho upravte nebo změňte.
Opravení odkazu přesměrováním
Přesměrování slouží k tomu, aby odkaz fungoval a nevracel chybový stav. Je potřeba zvážit, jaký typ přesměrování zvolit, protože to má dopad na dostupnost stránky nebo skupiny stránek. Nejčastějším přesměrováním je trvalé přesměrování, které vrací http kód 301. Např. Google ho akceptuje jako korektní nastavení po změně adres a hodnotí až cílovou (novou) adresu (viz How to move a site). Pak ještě může být dočasné přesměrování s návratovým kódem 302, ale to mívá speciální technický význam a pro obsahové stránky se podle mých zkušeností moc nepoužívá.
Přesměrování zvládne zajistit SEO plugin, např. Rank Math SEO nebo placená verze Yoast SEO. Pokud z nějakého důvodů žádný z těchto pluginů nemáte nasazený, pak můžete použít
- plugin Redirection, který umožní vytvářet skupiny přesměrování, loguje všechny požadavky, podporuje regulární výrazy a má dlouhou historii, nebo
- soubor .htaccess (tady najdete tahák), kterým říkáte webovému serveru Apache, co má dělat s neplatnými odkazy, samozřejmě i zde se používají regexpy, těmi ale načítání webu zpomalujete.