átirányítás
Az átirányítás definíciója
Az átirányítás az, amikor egy felhasználó (vagy egy keresőrobot) egy másik URL-re érkezik meg, mint amire eredetileg navigált. Az átirányítások beállíthatók egy vagy egyszerre akár több URL-re is.
Átirányítás például, amikor valaki a „www.blog.webhelyem.hu” URL-t látogatja meg, de a „www.webhelyem.hu/blog” URL-re érkezik meg.
Az átirányítások beállíthatók:
- Átmenetileg: 302, 303, 307, 308
- Véglegesen: 301
Ezekről lejjebb bővebben is olvashatsz.
Mért van szükség átirányításokra?
Egy webhelyen több okból is szükség lehet egy vagy több URL átirányítására:
- Egy oldal vagy egy egész domain máshová költözött, és ezért megváltozott az oldalak URL-je.
- Hogy lehetővé tegyék az URL rövidítők használatát.
- A webhely HTTP-ről HTTPS-re váltott.
Az átirányításoknak SEO szempontjából is fontos szerepük van, ugyanis segítségükkel:
- Át lehet ruházni egy oldal visszahivatkozások által megszerzett tekintélyét egy új oldalra, ha az eredeti tartalom már nem található meg a régi URL-en (áthelyezték vagy törölték azt).
- El lehet kerülni a 404-es („nem található”) hibákat.
Az átirányítások típusai
Az átirányítások három fő csoportját különböztetjük meg:
Meta frissítési átirányítás
Ezeket oldalszintén szokás beállítani, de SEO szempontjából nem javasolt használni őket. A meta frissítési átirányításoknak két típusa van:
- Késleltetett, ami átmeneti átirányításnak számít
- Azonnali, ami végleges átirányításnak számít
JavaScript átirányítások
Ezek kliensoldali átirányítások, amelyek szintén SEO problémákhoz vezethetnek.
HTTP átirányítások
Ezeket a szerveroldalon kell beállítani, és nem csak SEO szempontjából a legjobb megoldások, hanem még a Google is ezeket javasolja az átirányítások alkalmazásához.
Mik azok a HTTP-állapotkódok?
A böngészők és a keresőmotorok feltérképező robotjai úgynevezett user agentekként („felhasználói ügynök”) szokás azonosítani.
Amikor egy ilyen ügynök megpróbál elérni egy weboldalt, akkor először is küld egy kérést a webhely szerverének, ami egy választ küld vissza erre a kérésére. Ez a válasz egy HTTP-állapotkódot is tartalmaz, ami kért URL állapotára utal.
Ha a kérés sikeres, akkor a szerver 200-as („OK”) állapotkódot küld vissza a user agentnek. A színfalak mögött tehát weboldalak meglátogatása kérések és válaszok küldésének sorozatából áll.
HTTP átirányítások
Ha a kért URL tartalma egy másik URL-en található meg (mert áthelyezték), akkor a szerver azt válaszolja a user agentnek, hogy a kérés átirányításra kerül egy másik URL címre.
A megváltozott URL HTTP-állapotkódja általában 301 vagy 302, ami átirányításra utal.
Valójában minden 3xx állapotkód valamilyen átirányítást jelent. A user agent ez alapján döntheti el, hogy mit kezdjen a válasszal.
A user agent például elmentheti az új URL tartalmát a gyorsítótárába, hogy amikor a legközelebb az eredeti URL-re próbál navigálni, akkor rögtön az új oldal tartalmát kérhesse le a szerverről.
A 3xx HTTP-állapotkódok jelentései
A 301-es és 302-es átirányításokról sokan hallottak már, azonban nem csak ezek érkezhetnek szerverválaszként egy URL-kérésre. Többfajta 3xx állapotkód létezik, amelyek mind másféle átirányításra utalnak:
- 300: több lehetőség
- 301: végleges áthelyezés
- 302: megtalálva (korábban: ideiglenes áthelyezés)
- 303: máshol található
- 304: nem változott
- 305: proxy használata szükséges
- 306: proxy váltása szükséges (már nem használt)
- 307: ideiglenes átirányítás
- 308: végleges átirányítás
Ezen állapotkódok némelyike újabb, mint a többi, ezért ritkábban találkozni velük az interneten. Valamennyi modern böngésző ezeket az új 3xx állapotkódokat is képes értelmezni.
SEO céljából érdemes továbbra is a 301-es és 302-es átirányításokat használni. Ismerkedjünk meg tehát ezekkel közelebbről is.
301 és 302 – Mikor melyiket használjuk?
301-es átirányítás – Végleges áthelyezés
A 301-es állapotkódot végleges átirányításként szokás emlegetni, habár hivatalos megnevezése „301 – végleges áthelyezés”.
A 301-es átirányítás azt jelzi a user agent számára, hogy az URL véglegesen megváltozott, és a jövőben az új URL-t használja a kérésekhez.
A 301-es válasz ezen felül arra utal, hogy:
- A kérést küldő félnek érdemes lesz frissítenie az URL-t az új címre
- A későbbi kérések típusa GET helyett POST is lehet
A második pont technikai okokból fontos. A 301-es állapotkód hivatalos dokumentációjában a következőt olvashatjuk erről:
SEO tekintetében, amikor egy keresőmotor 301-es átirányítással találkozik, akkor az új URL megkapja a régi URL tekintélyét.
Nagyon fontos tehát, hogy a 301-es átirányítást kizárólag csak akkor használd, ha biztos vagy benne, hogy többé nem lesz szükséged a régi URL-re. Ha mégis meggondolod magad egy 301-es átirányítás után, akkor a régi URL lényegében a „nulláról” indul majd tekintet terén, tehát nem fog olyan jól rangsorolni, mint az átirányítás előtt.
A „történelmi okok” itt azokra a régi, vagy hibásan működő user agekre utalhatnak, amelyek megváltoztathatják a kérés módját.
302-es átirányítás – Megtalálva
A 302-es átirányításokat akkor szokás használni, amikor az URL csak átmenetileg változik meg, és a tartalom később újra elérhetővé válik az eredeti címen.
A 302-es állapotkóddal kapcsolatban is van egy fontos technikai tudnivaló a POST és GET módszereket illetően:
307-es átirányítás – Ideiglenes átirányítás
A 307-es átirányítás azt jelenti, hogy a kért URL átmenetileg máshová költözött, de a user agentnek a továbbiakban is az eredeti URL-t lesz érdemes használnia majd a kérésekhez.
Ez lényegében ugyan úgy hangzik, mint a 302-es állapotkód – szóval mi a különbség?
A fő különbség a 302-es és 307-es átirányítások között az, hogy a user agentnek mindig ugyan olyan HTTP kéréssel kell lekérnie az új URL-t, amellyel a régi URL-t is lekérte.
Ez azt jelenti, hogy ha a user agent egy GET típusú kéréssel kér le egy oldalt, akkor a user agent egy GET típusú kéréssel kell lekérje az átmeneti URL-t is, és nem használhat hozzá POST kérést.
Tehát míg a 307-es állapotkód azt jelenti, hogy a későbbi kérések is azonos típusúak legyenek (GET vagy POST), addig a 302-es állapotkód esetében mindkét típus megengedett a későbbi kérésekhez. Ezen kívül a 302-es és 307-es átirányítások teljesen azonosak egymással.
Tippek a helyes átirányítások létrehozásához
Ne irányíts át minden 404-es oldalt a főoldalra
Sokan nem hajlandók elegendő időt fordítani a 404-es oldalak megvizsgálására és megfelelő URL-ekre való átirányítására. A Google szerint ezeket az oldalakat egyébként is 404-esekként kezelik, ahogy azt John Mueller, a keresőmotor egyik munkatársa is állította egy tweetjében:
Ha túl sok ilyen oldalad van, akkor érdemes egy csinos, felhasználóbarát 404-es oldalt készíteni, ami maradásra ösztönzi a felhasználókat a helyett, hogy elijesztené őket. Például szerepelhet rajta egy lista a legfontosabb linkekkel, illetve egy keresősáv, ami segít nekik hasonló tartalmakat találni webhelyeden.
A Google határozott javaslata az, hogy az új oldal meg kell egyezzen a régivel, különben az átirányítás lágy 404-nek számít majd, és elveszik a régi oldal tekintélye.
Ügyelj a mobil URL verziókra való átirányításkor
Ha eltérő URL-eken kínálod webhelyed mobilos és asztali verzióit (pl. „webhelyem.hu” asztalira és „m.webhelyem.hu” mobilra), akkor fontos, hogy a megfelelő mobilos oldalra irányítsd át a mobilról böngésző látogatókat.
Helyes: „webhelyem.hu/blog/”-ról „m.webhelyem.hu/blog/”-ra
Helytelen: „webhelyem.hu/blog/”-ról „m.webhelyem.hu”-ra
Ügyelj továbbá rá, hogy ha egy oldal 404-es hibát ad vissza asztali böngészőkben, akkor mobilon is ugyan ezt tegye.
Ha egy oldalnak nincs mobilos verziója, akkor nem kell átirányítanod.
Kerüld az átirányítási láncokat
Amennyiben egy webhely túl sokszor irányítja át ugyan azt a kérést, akkor a böngésző egy hibaoldalt jelenít meg („ERR_TOO_MANY_REDIRECTS”). Ez általában akkor fordul elő, amikor néhány oldal között átirányítási lánc alakul ki.
Ha például A oldalról B oldalra régebben átirányítást állítottál be, de megfeledkeztél róla, és újabban B oldalt irányítottad át A oldalra, akkor bármelyik URL-t is próbálja meglátogatni egy felhasználó vagy egy keresőmotor, ez végtelen „oda-vissza” átirányítási ciklust eredményez majd.Gyakori kérdések
Mi az az átirányítás?
Az átirányítás az, amikor egy felhasználó vagy keresőmotor nem a kért URL-re érkezik meg egy webhelyen.
Mire valók az átirányítások?
Az átirányításokra akkor lehet szükség, ha egy tartalom már nem található meg az eredeti URL-jén. Ez akkor fordulhat elő, ha a tartalmat törölték, vagy megváltozott az URL címe (például mert a webhely HTTP-ről HTTPS-re váltott).
Mi az a 301-es átirányítás?
A 301-es átirányítás végleges átirányításra utal, azaz azt jelenti, hogy az adott tartalom többé nem lesz elérhető az eredeti URL címen. Ilyenkor az új URL megkapja a régi tekintélyét.
Mi az a 302-es átirányítás?
A 302-es átirányításokat akkor szokás használni, ha az eredeti oldal átmenetileg új URL-en el. Ilyenkor az új URL csak az eredeti tekintély egy részét kapja meg.