404-kezelés
Megnézzük, hogy egy nem létező címre az oldal 404-et ad-e; ha 200-at, az úgynevezett soft 404, ami hamis oldalakat vihet az indexbe.
Amikor valaki olyan címet nyit meg, ami nem létezik, a szervernek 404 Not Found (vagy végleg megszűnt oldalnál 410 Gone) kóddal kell válaszolnia. A kód a gépeknek szól: a böngésző, a keresőrobot és a hivatkozásellenőrzők ebből tudják, hogy az oldal nincs meg. A látogatónak közben szép, használható hibaoldalt mutathatsz.
A gyakori hiba az úgynevezett soft 404: a szerver barátságos „nem található” oldalt rajzol, de közben 200-as kódot küld. A Google ezt hibaként jelzi a Search Console-ban, mert a tartalom hibára utal, miközben a kód sikert mond, és az index hamis oldalakkal telhet meg.
Hogyan mérjük
Szekció neve “Hogyan mérjük”A riport a nyitóoldal származási címére (origin) egy véletlenül generált, biztosan nem létező útvonalat kér le, ilyen formában: /hellowp-report-404-<12 véletlen karakter>. Legfeljebb 3 átirányítást követ, és a végső válasz kódját nézi.
- Megfelelő:
404vagy410. - Hiba,
soft-404:200. Ide számít az is, ha a szerver a nem létező címet átirányítja a nyitóoldalra vagy egy keresőoldalra, ami 200-zal válaszol. - Hiba,
status: bármilyen más kód (például 403, 500, 301 vagy 302 a lánc végén). - Ha a kérés nem sikerült vagy elfogyott a kéréskeret, a teszt nem értékelhető, és kimarad.
A teszt egyetlen véletlen útvonalat próbál, ezért a fájlkiterjesztéshez vagy konkrét útvonalhoz kötött eseteket (például egy hiányzó .jpg) nem fedi le.
Hogyan javítsd
Szekció neve “Hogyan javítsd”A cél: minden nem létező cím valódi 404-et adjon, és a hibaoldal tartalma is ezzel együtt jöjjön.
- Ne irányítsd át a hiányzó oldalakat a nyitóoldalra. A gyakori „minden 404 menjen a főoldalra” szabály soft 404-et okoz. Hagyd a 404-et 404-nek.
- A hibaoldal kódja legyen 404. Ha egyedi hibaoldalt használsz, ellenőrizd, hogy a szerver a kódot is helyesen küldi-e.
- Szükség esetén 410. Ha egy oldalt tudatosan és végleg töröltél, a 410 Gone pontosabb jelzés, de a 404 is elfogadott.
- Átirányítás csak akkor, ha az oldalnak valódi, megfelelő utódja van. Ilyenkor 301-es átirányítás kell a konkrét új címre.
nginx
Szekció neve “nginx”A statikus fájlokat kiszolgáló location blokkban a try_files utolsó paramétere dönti el, mi legyen, ha egyik fájl sincs meg. Az =404 közvetlenül 404-es kódot ad:
location / { try_files $uri $uri/ =404;}WordPressnél a permalinkek miatt az utolsó paraméter általában /index.php?$args; ilyenkor a 404-et a WordPress adja, ezért a témának kell helyes kódot küldenie.
Apache (.htaccess)
Szekció neve “Apache (.htaccess)”Az ErrorDocument direktívában helyi útvonalat adj meg, ne teljes URL-t. A teljes URL (például http://-vel kezdődő) átirányítást küld a kliensnek, és az eredeti hibakód elvész, ami összezavarja a robotokat:
ErrorDocument 404 /404.htmlWordPress
Szekció neve “WordPress”WordPressben a 404.php sablon (vagy blokkos témánál a 404-es sablon) jeleníti meg a hibaoldalt. Ha a nem létező címre mégis 200 jön:
- kapcsold ki az átirányítás-, SEO- vagy gyorsítótár-bővítmények olyan funkcióit, amelyek a nem létező címeket a nyitóoldalra irányítják;
- nézd meg, hogy a téma
404.phpfájlja nem ír-e ki saját fejlécet, vagy nem irányít-e át.
Hogyan ellenőrizd
Szekció neve “Hogyan ellenőrizd”Futtasd újra a riportot. Parancssorból:
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://pelda.hu/ez-az-oldal-nincs-meg-12345Az eredmény 404 legyen, és a végső cím maradjon az, amit kértél (ne a nyitóoldal). A Google Search Console jelzi a soft 404 hibákat, ha a keresőrobot már találkozott velük (Google Search Console).
Készült: