A domain-átirányítás az, amikor a szerver egy kérésre nem tartalommal válaszol, hanem átküldi a látogatót egy másik domain megfelelő címére. A válasz ilyenkor egy 3xx státuszkód és egy Location fejléc, amely az új URL-t tartalmazza.
Hogyan működik
A böngésző vagy a robot lekéri a régi címet. A szerver 301, 302, 307 vagy 308 kóddal felel, és megadja a Location fejlécet. A kliens ezután újra kér, most már az új domainen. A felhasználó ebből annyit lát, hogy a címsorban másik név jelenik meg.
Az átirányítás három helyen történhet: webszerver konfigurációban, CDN vagy proxy szintjén, illetve a CMS kódjából. A szerver szintű a leggyorsabb, mert nem indul el hozzá PHP vagy más alkalmazás. A JavaScriptes átirányítás a leggyengébb megoldás, mert nem ad státuszkódot.
Végleges vagy ideiglenes
A 301 és a 308 végleges. Ezek azt mondják: a régi cím megszűnt, mostantól az új az igazi. A 302 és a 307 ideiglenes, vagyis a régi cím vissza fog térni. Domain-váltásnál szinte mindig a végleges a helyes, a részleteket a 301 vs 302 átirányítás cikk bontja ki.
Mit jelent ez a keresőknek és az AI-nak
Végleges átirányításnál a kereső az új címet indexeli, és a régi domain jelzéseit átvezeti. Ideiglenesnél a régi címet tartja meg elsődlegesként. Ezért fordul elő, hogy hónapokkal a váltás után is a régi név jelenik meg a találatokban.
Az AI-crawlerek és a generatív keresők ennél kevésbé türelmesek. Ha kevés ugrással, tiszta 301-gyel érik el az új domaint, az új néven idéznek. Zavaros láncnál gyakran a régi márkanév ragad be a válaszaikba.
Mit néz ebből a riport
Az audit lekéri a kezdőoldalt, és figyeli, hogy az másik domainre mutat-e. 301 vagy 308 esetén továbbmegy, és az új domaint vizsgálja, de jelzi a váltást. 302 vagy 307 esetén figyelmeztetést ad: ideiglenes átirányítás, legyen belőle 301. A tétel hatása alacsony, hatóköre kód.
Röviden: domain-váltásnál egyetlen 301-es ugrás a cél, minden más csak veszteség.
Technikai példa
Fejléc-ellenőrzés parancssorból. Az -I csak a fejléceket kéri le, az -L végigköveti a láncot:
curl -sSIL https://regi-domain.hu/szolgaltatasok/ | grep -Ei "^(HTTP/|location:)"
A kívánt válasz egyetlen ugrás, az eredeti elérési út megtartásával:
HTTP/2 301
location: https://uj-domain.hu/szolgaltatasok/
HTTP/2 200
Nginx konfiguráció, amely a régi domain minden címét az új domain azonos útjára küldi:
server {
listen 443 ssl;
server_name regi-domain.hu www.regi-domain.hu;
return 301 https://uj-domain.hu$request_uri;
}
Apache alatt ugyanez .htaccess fájlban:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?regi-domain\.hu$ [NC]
RewriteRule ^(.*)$ https://uj-domain.hu/$1 [R=301,L]
A $request_uri és a $1 gondoskodik arról, hogy az aloldalak a saját párjukra érkezzenek, ne a kezdőlapra.
Gyakori kérdések
Meddig tart, amíg a Google átveszi az új domaint?
Kisebb oldalaknál jellemzően néhány hét, nagyobbaknál több hónap is lehet. A sebesség attól függ, milyen gyorsan járja be a robot a régi címeket. Friss sitemap és bejelentett címváltoztatás segít. A régi domaint addig mindenképp tartsd életben.
Elveszítem a rangsorolásomat a domain-váltással?
Végleges 301 átirányítással a jelzések nagy része átszáll az új címre. Átmeneti forgalomesés szinte mindig van, ez néhány hét alatt rendeződik. Ha ideiglenes kódot használsz, vagy az aloldalakat a kezdőlapra küldöd, a veszteség tartós lesz.
Meddig kell fenntartani a régi domaint?
Legalább egy évig, de ha sok külső hivatkozás mutat rá, inkább tartsd meg véglegesen. A domain díja töredéke annak a forgalomnak, amit elveszítenél. A hivatkozó oldalak jó része soha nem frissíti a linkjét.
Elég, ha csak a kezdőlapot irányítom át?
Nem. Az aloldalakra mutató hivatkozások ilyenkor 404-re futnak, és a tartalmuk értéke elvész. Minden régi URL-nek a tartalmilag megfelelő új címre kell mutatnia. Ha egy oldalnak nincs párja, a legközelebbi kategória a jó megoldás.
Mi a különbség a 301 és a 308 között?
Mindkettő végleges átirányítás. A 308 annyiban szigorúbb, hogy a HTTP-metódust is megőrzi, tehát egy POST kérés POST marad. Weboldalak átköltöztetésénél a 301 a bevett és mindenhol támogatott megoldás.