A duplikáció önmagában nem büntetés tárgya, hanem egy döntési helyzet: ha ugyanaz a tartalom több URL-en is elérhető, a keresőmotornak ki kell választania, melyiket indexelje és rangsorolja. Ha ezt a döntést nem te hozod meg helyetted egyértelmű jelekkel, akkor a kereső hozza meg, és nem mindig úgy, ahogy szeretnéd. A canonical tag és a következetes átirányítások éppen ezt a döntést terelik a helyes irányba.

Mi az a canonical tag, és mikor van rá szükség?
A canonical tag egy jelzés arról, hogy több hasonló vagy azonos URL közül melyiket tekintsd a mérvadó, indexelendő verziónak. Technikailag a <head> szekcióba kerülő <link rel="canonical" href="..."> sor.
Fontos, hogy ez a Google hivatalos dokumentációja szerint jelzés, nem utasítás. A kereső a canonicalt a többi jellel együtt mérlegeli (belső linkek, sitemap, átirányítások, tartalom hasonlósága), és van, hogy felül is bírálja a megadott értéket. Ilyenkor a Search Console "A Google által kiválasztott canonical eltér a felhasználó által megadottól" jelzést ad.
Akkor van rá kifejezetten szükség, ha ugyanaz vagy majdnem ugyanaz a tartalom több címen is előjön: nyomkövető paraméterek, szűrők és rendezések, nyomtatóbarát verzió, munkamenet-azonosítók, vagy egy termék, ami több kategóriaútvonalon is elérhető. Egyedi, önálló oldalaknál is ajánlott a canonical, csak ott önmagára mutat.
Miért éri meg minden oldalon önmagára mutató canonicalt használni?
Az önmagára mutató (self-referencing) canonical azt jelenti, hogy az oldal a saját, tiszta URL-jét jelöli meg mérvadóként. Ez azért hasznos, mert a gyakorlatban sok URL-variáns keletkezik akaratlanul: valaki egy ?utm_source=... paraméterrel osztja meg a linket, egy hirdetés címkével érkezik a forgalom, vagy a szűrő berak egy sorrend-paramétert. Ha az alapoldal önmagára mutat, ezek a variánsok egyértelműen az eredeti oldalhoz kapcsolódnak.
Egy termékoldalon például így néz ki a kívánt állapot:
<link rel="canonical" href="https://pelda.hu/termek/kek-tolltarto">
Fontos, hogy abszolút URL-t adj meg (protokollal és domainnel együtt), ne relatívat, mert az kevésbé egyértelmű és könnyebb elrontani. Saját tapasztalat, hogy a relatív canonical sok CMS-nél és sablonnál okoz később nehezen felderíthető hibát, ezért érdemes eleve abszolút formában dolgozni.
Melyik domain-verzió legyen a kanonikus: www vagy non-www, HTTP vagy HTTPS?
A rövid válasz: mindegy, hogy www vagy non-www, de dönts el egyet, és minden más verziót irányíts oda 301-gyel. A HTTPS ma nem választás kérdése, az mindig a kanonikus.
Egy tipikus weboldal négy módon is elérhető lehet, és a kereső ezeket eltérő URL-nek látja:
http://pelda.huhttps://pelda.huhttp://www.pelda.huhttps://www.pelda.hu
A cél, hogy ebből a négyből egy legyen élő, és a másik három 301-es (végleges) átirányítással erre a kiválasztott verzióra mutasson. Ha például a https://pelda.hu a kanonikus, akkor a szerver oldali szabály:
- minden HTTP kérés HTTPS-re irányít,
- minden www-s kérés non-www-ra irányít,
- a két szabály együtt egyetlen végleges címre vezet.
Fontos részlet, hogy a canonical tagek is a kiválasztott verziót tükrözzék. Nem ritka hiba, hogy a szerver szépen 301-gyel a HTTPS non-www verzióra irányít, közben a HTML-ben a canonical még a régi http://www címre mutat. Ez ellentmondó jelzés, ami a keresőt bizonytalanná teszi.
Hogyan lásd meg, hány verzió él egyszerre?
Gyors ellenőrzésként parancssorból lekérdezheted, mit válaszol a szerver, és hova irányít:
curl -I https://pelda.hu
A válaszban a HTTP/1.1 301 Moved Permanently és a Location: sor mutatja az átirányítás célját. Ezt érdemes mind a négy variánsra lefuttatni. Ha bármelyik 200-as státusszal, önállóan válaszol a kiválasztott verzió helyett, ott átirányítás hiányzik.
Hogyan kezeld a paraméteres és szűrős URL-ek duplikációját?
A paraméteres oldalaknál a canonical arra a tiszta URL-re mutasson, amely ugyanazt a lényegi tartalmat mutatja, ha a paraméter nem változtatja meg érdemben az oldal tartalmát. Ha viszont a paraméter valóban más, önálló tartalmat hoz létre, akkor az adott oldal maradjon önmagára mutató.
Ez a különbségtétel a lényeg, ezért érdemes két esetet elkülöníteni:
- A paraméter csak nyomkövet vagy sorba rendez. Ilyen az
?utm_..., a munkamenet-azonosító, vagy a rendezés (?sort=ar). A tartalom ugyanaz, tehát a canonical a tiszta alapoldalra mutasson. - A paraméter valódi, kereshető tartalmat szűr. Például egy márka szerinti szűrés, aminek önálló keresési szándéka van, saját tartalommal. Ilyenkor megfontolható, hogy az adott szűrt oldal önmagára mutasson és indexelhető legyen, feltéve, hogy nem hoz létre ezerszámra vékony, majdnem üres variánsokat.
Szakmai feltételezés, hogy a legtöbb webshopnál a szűrő- és rendezéskombinációk döntő többsége nem érdemel önálló indexelést, mert vékony vagy ismétlődő tartalmat ad. Ezeknél a tiszta kategóriaoldalra mutató canonical és a belső linkek fegyelmezett kezelése általában jobb eredményt hoz, mint minden kombináció indexelése.
Néhány gyakorlati elv, ami segítheti a tiszta állapotot:
- A paraméterek sorrendje legyen következetes, mert a
?a=1&b=2és a?b=2&a=1a kereső szemében külön URL. - Kerüld, hogy nyomkövető paraméteres URL-ekre belső linket tegyél, mert ezzel te magad szórod szét a jelzéseket.
- A sitemapbe csak a kanonikus, tiszta URL-ek kerüljenek, a paraméteres variánsok ne.
Melyek a leggyakoribb canonical hibák a gyakorlatban?
A legtöbb probléma nem attól van, hogy hiányzik a canonical, hanem attól, hogy rossz értékre mutat, vagy ellentmond a többi jelnek. Ezeket érdemes rendszeresen keresni.
- Minden oldal a főoldalra mutat. Gyakori sablonhiba, hogy egy statikus canonical a nyitóoldalra mutat minden aloldalról. Ilyenkor a Google nagy eséllyel nem indexeli az aloldalakat önállóan.
- Canonical nem indexelhető oldalra mutat. Ha a canonical cél
noindex, átirányított vagy 404-es, akkor ellentmondó a jelzés, és a kereső valószínűleg figyelmen kívül hagyja. - Canonical és átirányítás ütközik. Az oldal 301-gyel A-ra irányít, de a canonicalja B-re mutat. Ez zavaros jelzés, egyeztetni kell a kettőt.
- Protokoll- vagy domain-eltérés. A canonical
http-t vagy www-t tartalmaz, miközben az élő verzió HTTPS non-www. Apró eltérés, nagy hatással. - Több canonical egy oldalon. Ha két különböző canonical tag is szerepel a fejlécben, a Google saját dokumentációja szerint jó eséllyel mindet figyelmen kívül hagyja.
- Canonical a body-ban. A
<link rel="canonical">csak a<head>-ben érvényes. Ha JavaScript utólag a body-ba injektálja, nem biztos, hogy figyelembe veszik.
Saját tapasztalat, hogy a lapozott listáknál (oldal 2, 3, 4) is sokan hibáznak: régen bevett volt bizonyos rel-jelölések használata, ma viszont a lapozott oldalak jellemzően önmagukra mutató canonicalt kapnak, nem pedig az első oldalra, hogy a mélyebb termékek is indexelhetők maradjanak.
Hogyan ellenőrizd, hogy a canonical és a duplikáció rendben van-e?
A megbízható ellenőrzés több rétegű: nézd a nyers HTML-t, a megjelenített (rendered) oldalt és a Search Console jelentéseit is, mert ezek eltérhetnek egymástól.
Egy működő ellenőrzési sorrend:
- Nyers HTML. Parancssorból megnézed a canonical taget:
curl -s https://pelda.hu/oldal | grep -i canonical
Ez megmutatja, mi van a szerver által kiadott forrásban. - Rendered állapot. Ha az oldal JavaScripttel állítja be vagy írja felül a canonicalt, a nyers HTML félrevezethet. A böngésző fejlesztői eszközeiben (Elements fül) a végleges DOM-ot nézd, vagy használd a Search Console URL-ellenőrző eszközét, amely a Google által ténylegesen látott állapotot mutatja.
- Átirányítás-lánc. Ellenőrizd, hogy a www/non-www és HTTP/HTTPS variánsok egyetlen 301-es lépéssel a kanonikus verzióra jutnak-e, lehetőleg lánc és hurok nélkül.
- Search Console Oldalak jelentés. Itt látod az "Alternatív oldal megfelelő canonical taggel" és a "Duplikált tartalom, a Google más canonicalt választott" kategóriákat. Ez a hivatalos visszajelzés arról, hogyan értelmezi a kereső a jelzéseidet.
- Teljes körű feltérképezés. Nagyobb oldalnál egy crawler (például a Screaming Frog vagy hasonló) végigmegy az összes URL-en, és kilistázza a hiányzó, önellentmondó vagy nem indexelhető canonicalokat. Ez az egyetlen mód, hogy a mintavétel helyett a teljes oldalról legyen képed.
Ha a Google által választott canonical rendre eltér a tiedtől, az általában nem hiba a rendszerben, hanem jelzés: a belső linkek, a sitemap vagy a tartalom hasonlósága erősebben mutat egy másik URL-re, mint a canonical tag. Ilyenkor a jelzéseket kell összhangba hozni, nem pusztán a canonicalt erőltetni.
Az AI-alapú keresők és válaszmotorok szempontjából a tiszta, egyértelmű URL-struktúra ugyanígy segít: ha egy tartalomnak egyetlen világos, mérvadó címe van, jó eséllyel könnyebben azonosítható és hivatkozható forrásként. Ez nem garantál sem helyezést, sem idézést, de csökkenti annak esélyét, hogy a rendszer egy gyengébb, duplikált variánst tekintsen az elsődlegesnek.
Források és további olvasnivalók
- Google Search Central: Consolidate duplicate URLs (canonicalization) dokumentáció
- Google Search Central: Redirects and Google Search
- Google Search Console súgó: Page indexing jelentés és URL Inspection eszköz
- W3C és WHATWG HTML specifikáció: a link elem és a rel=canonical attribútum
- Schema.org: strukturált adatok dokumentáció
- Minden fontos oldal kapjon önmagára mutató, abszolút URL-es canonical taget.
- Válaszd ki a domain kanonikus verzióját (www vagy non-www, mindig HTTPS), és 301-gyel irányíts minden mást oda.
- A canonical jelzés, nem parancs: a Google figyelembe veszi, de felül is bírálhatja, ha ellentmond a többi jelnek.
- Paraméteres és szűrős URL-eknél a canonical mutasson a tiszta alapoldalra, ha a tartalom lényegében ugyanaz.
- Az ellenőrzést mindig a rendered forráson és a Search Console-ban végezd, ne csak a nyers HTML-en.
Gyakori kérdések
Kötelező minden oldalra canonical tag?
Nem kötelező, de erősen ajánlott. Az önmagára mutató canonical segít egységesíteni a paraméteres és nyomkövető variánsokat, és csökkenti annak esélyét, hogy a kereső egy nem kívánt URL-t válasszon mérvadónak. Hiánya nem hiba, de a jelenléte tisztább jelzést ad.
Mi a különbség a canonical és a 301-es átirányítás között?
A 301 fizikailag máshova viszi a felhasználót és a keresőt is, tehát a régi URL már nem érhető el önállóan. A canonical viszont mindkét URL-t elérhetően hagyja, csak jelzi, melyik a mérvadó. Domain-verziók egyesítésére 301 kell, tartalmi duplikációra általában canonical.
A Google mindig követi a megadott canonicalt?
Nem. A Google hivatalos dokumentációja szerint a canonical jelzés, nem parancs. A kereső a többi jellel (belső linkek, sitemap, átirányítások, tartalom) együtt mérlegel, és felül is bírálhatja. Ha rendre eltér a választása, érdemes az összes jelet összehangolni.
Www vagy non-www legyen a weboldalam?
Rangsorolás szempontjából nincs érdemi különbség a kettő között. A lényeg, hogy válassz egyet, mindig HTTPS-sel, és minden más variánst 301-gyel erre a verzióra irányíts. A canonical tagek is a kiválasztott verziót tükrözzék.
Hogyan kezeljem a szűrős webshop URL-eket?
Ha a szűrő vagy rendezés lényegében ugyanazt a tartalmat mutatja, a canonical a tiszta kategóriaoldalra mutasson. Ha egy szűrésnek valódi, önálló keresési szándéka és tartalma van, megfontolható az önálló indexelése. A vékony, majdnem üres kombinációkat általában nem érdemes indexelni.
Elég a nyers HTML-ben ellenőrizni a canonicalt?
Nem mindig. Ha JavaScript állítja be vagy írja felül a canonicalt, a nyers HTML félrevezethet. A megjelenített DOM-ot és a Search Console URL-ellenőrző eszközét is nézd meg, mert az mutatja a Google által ténylegesen látott állapotot.
Források és további olvasnivalók
Ezen az oldalon a hivatalosan igazolt információt elsődleges forrásokból építjük fel; a saját tapasztalatot és a szakmai becslést mindig külön jelöljük a szövegben.