2019. 04. 15.
frissítve: 2022. 05. 15.
Olvasási idő: 7 perc
Plugout

Hogyan irányítsd át a 404-es oldalról a látogatóidat automatikusan?

Ha a felhasználóid egy olyan oldalra érkeznek, ami nem létezik, az szomorú - ennél már csak az a rosszabb, ha nem 404-es oldalt kapnak (ahol még fel lehetne kínálni nekik további útvonalakat, amiken tovább böngészhetnek), vagy ha ezt a hibát nem kezelnénk le semmilyen módon. Egy lehetséges - azonban hátrányoktól nem teljesen mentes - megoldás lehet az, ha a látogatót automatikusan továbbirányítjuk valamelyik másik aloldalunkra.


Ezt a feladatot meg lehet oldani a sablon 404.php fájljának szerkesztésével is - alapvetően én inkább ezt az irányt preferálnám akkor, ha saját (egyedi fejlesztésű :P) sablont használunk. Ez a haladóbb útvonal, a könnyebb a lejjebb található megoldás lesz.

Nézzük is elsőre ezt az utat: kezdésnek navigálj el a sablonod gyökérkönyvtárába (ha például Valami-nek hívják a sablonodat, akkor nagy eséllyel a /wp-content/themes/valami könyvtárban találod a fájljait), ahol - ha még nem létezik - hozz létre egy fájlt, 404.php néven. A WordPress innentől kezdve automatikusan ennek a fájlnak a tartalmát fogja megjeleníteni a nem található oldalak esetében. A továbbiakban a terep már a tiéd, azt csinálsz itt, amit szeretnél: készíts statikus HTML oldalt, ugráljanak benne alpakák - végső soron mindegy.

A második út - ami hordozhatóbb megoldás is egyben - az, ha erre készítünk egy saját plugin-t. Hozz létre az mu-plugins mappádban egy fájlt, mondjuk redirect-404.php néven, az alábbi tartalommal:

Ez a néhány sor nem tesz mást, mint figyeli, hogy 404-es oldalon vagyunk-e, és ha igen, akkor kiírja az aposztrófok közötti tartalmat a 404-es oldal fejlécébe - ez utóbbi pedig 0 másodperces késleltetéssel az URL= utáni címre irányítja a látogatót (ebben az esetben a főoldalra). Természetesen bármilyen cím szerepelhet az URL mögött, vagyis lehet egy másik oldal abszolút hivatkozása (pl.: https://ottoradics.hu), vagy a saját oldaladon belül bármelyik aloldal (pl. /cikkek).

Kérdésed van, témát javasolnál, vagy jobban tudod? Írd meg bátran!