Hogyan keresd meg a 404 linkeket

Csentes Zoltán    2017-11-17

Tegyük fel, hogy egy nagy portált, vagy blogot üzemeltetsz. Az évek során rengeteg aloldal, cikk keletkezett. A cikkek ráadásul több ezer linket is tartalmaznak és a fene se tudja, hogy ezek közül mik visznek 404-re azóta. Most egy python crawlert mutatok be, amivel meg tudod nézni, hogy az adott url elérhető-e, sőt még az oldalon található linkeket is átnézheted vele.

A 404-es hiba a SEO ellensége

Mielőtt elkezdenénk, essen pár szó a 404-es hibáról. Ezt a hibakódot akkor kapja a böngésző, ha a keresett oldal már nem található a megadott URL-en. Ennek több oka lehet:

  • megváltoztattad idő közben az oldalad URL struktúráját, például design váltás volt
  • idő közben törölted vagy inaktiváltad a cikket amire hivatkoznak
  • valaki elírta a linket amivel az oldaladra hivatkozik

A Google kifejezetten ugrik ezekre a hibákra és keményen büntet is érte. Egyszerűen azért, mert ha az oldalad tele van ilyen hibával, akkor a Google szemében az egy nem jól strukturált, nem felhasználó barát oldalra enged következtetni. És mivel a Google kereső legfontosabb szabálya, hogy a tartalom releváns és felhasználó barát legyen, már dobja is a büntit az oldalra.


Hogyan keressük meg ezeket az oldalakat

A fent leírtak miatt fontos, hogy az oldalunk mindig érvényes, működő linkeket tartalmazzon. Az egyik lehetséges eszköz, hogy megtaláljuk ezeket a hibás linkeket a Google Search Console. Itt lekérhetjük a hibákat és láthatjuk azt is, hogy honnan érkezett a kérés a hibás linkre.

Kiindulásnak ez tökéletes, de mi AdOps-osként ennél sokkal többre is képesek vagyunk. Itt van például egy pythonban megírt 404 crawler. A működése nagyon egyszerű:

$ 404.py https://beluki.github.io --threads 20 --internal follow
404: https://cdimage.debian.org/debian-cd/7.8.0/i386/iso-cd/
Checked 144 total links in 6.54 seconds.
46 internal, 98 external.
0 network/parsing errors, 1 link errors.

A tudása viszont lenyűgöző:

  • nem csak a megadott url-t ellenőrzi, hanem a rajta található linkeket is megnézethetjük vele (legyen az normál link: <a href="..."> vagy kép link:  <img src="...">)
  • külön vizsgálhatjuk a belső és külső linkeket
  • az átirányított linkeket figyelmen kívül hagyhatjuk
  • az összes link, url státusz kódját kiírathatjuk (pl. 204-re megkereshetjük azokat ahol nincs tartalom)
  • egyszerre több thread-ben futtathatjuk a scriptet és időkorlátot állíthatunk be

Mit csináljunk a 404-es oldalakkal

Ezeket az url-eket általában 301-es átirányítással kell a legrelevánsabb tartalomra irányítani. Ha azt látjuk Search Consolban, hogy a bejövő link valamiért hibás - például elütés - akkor próbáljuk meg felvenni a hivatkozó oldallal a kapcsolatot, hogy javítsák a linket. Legvégső esetben ezeket is át lehet irányítani 301-el.

Egyébként a Google egy idő után automatikusan kiveszi az indexelésből a 404-es oldalakat. Ha nem szeretnénk ezt megvárni, akkor mi is kérhetjük ezt manuálisan a console-ban. Ha úgy érzed csinálhatsz egyedi 404 oldalt is, de én inkább az átirányításra szavazok.