Wat is rel = canonical en waarom moet ek dit gebruik?

Wenk aan die soekenjins die voorkeurversie van 'n dokument

As jy 'n data-gedrewe webwerf bestuur of ander redes hoekom 'n dokument dalk gedupliseer kan word, is dit belangrik om soekenjins te sê watter kopie die kopie is, of in die jargon, die "kanonieke" kopie. Wanneer 'n soektog jou bladsye indekseer, kan dit vertel wanneer inhoud gedupliseer is. Sonder addisionele inligting sal die soekenjin besluit watter bladsy die beste by hul kliënte se behoeftes pas. Dit kan goed wees, maar daar is baie gevalle van soekenjins wat ou en verouderde bladsye lewer omdat hulle die verkeerde dokument as kanoniek gekies het.

Hoe om die Kanoniese Bladsy te spesifiseer

Dit is baie maklik om soekenjins die kanonieke URL met meta data in die dokumente te vertel. Plaas die volgende HTML naby die bokant van jou hoofelement op elke bladsy wat nie kanoniek is nie :

As jy toegang het tot die HTTP-hoofde (soos met .htaccess of PHP), kan jy ook die kanoniese URL op lêers stel wat nie 'n HTML-hoof het nie, soos 'n PDF. Om dit te doen, stel die opskrifte vir nie-kanonieke bladsye soos volg in:

Skakel: < URL van die kanonieke bladsy >; rel = "kanonieke"

Hoe die Kanonieke Tag werk en wanneer dit nie

Die kanoniese metadata word gebruik as 'n wenk aan soekenjins oor watter bladsy die meester is. Soekenjins gebruik dit om hul indeks op te dateer om die meesterkopie as die primêre kopie te verwys. Wanneer hulle soekresultate lewer, lewer hulle die bladsy wat hulle glo kanonies lewer.

Maar die kanonieke bladsy wat u spesifiseer, mag nie die bladsy wees wat soekenjins lewer nie.

Daar is baie redes waarom dit kan gebeur:

Wat die Rel = Kanoniese Tag is nie

Baie mense glo dat as jy die rel = canonical skakel na 'n bladsy voeg, sal die bladsy na die kanonieke weergawe herlei word, soos met 'n HTTP 301-herleiding. Dit is nie waar nie. Die rel = canonical skakel verskaf inligting aan soekenjins, maar dit beïnvloed nie hoe die bladsy vertoon word nie, en doen ook geen herleiding op die bedienervlak nie .

Die kanonieke skakel is uiteindelik net 'n wenk. Soekenjins hoef dit nie te vereer nie. Die meeste soekenjins probeer moeilik om die wense van die bladsy-eienaars te respekteer, maar aan die einde van die dag is die soekresultate wat hulle doen, en as hulle nie jou kanonieke bladsy wil bedien nie, sal hulle nie.

Wanneer om die Kanoniese Link te gebruik

Soos ek hierbo gesê het, moet u die skakel op elke dubbele bladsy gebruik wat nie kanoniek is nie. As jy bladsye het wat soortgelyk is, maar nie identies is nie, is dit soms meer sinvol om een ​​van hulle te verander om meer te wees as om een ​​kanonieke te maak.

Dit is goed om twee bladsye te merk wat nie heeltemal identies as kanoniek is nie. Hulle moet soortgelyk wees, maar jy moet nooit al die bladsye na jou tuisblad wys nie. Canonical beteken dat die bladsy die meesterkopie van daardie dokument is, nie 'n soort meesterskakel op jou werf nie.

Ek dink dit is belangrik om die laaste bietjie te herhaal - jy moet nooit al jou bladsye na jou tuisblad wys nie, want die kanonieke bladsy maak nie saak hoe verlei jy dit is nie. Deur dit te doen, kan dit selfs per ongeluk elke bladsy wat nie kanoniek is nie (dit wil sê elke bladsy wat nie jou tuisblad is nie en die rel = kanoniese skakel daarop het) uit die indeks van soekenjins verwyder word.

Dit is nie Google (of Bing of Yahoo! of enige ander soekenjin) wat kwaadwillig is nie. Hulle doen wat jy hulle gevra het om te doen - met inagneming van elke bladsy 'n duplikaat van jou tuisblad en die terugbring van alle resultate na die bladsy. As kliënte dus gefrustreerd raak op jou tuisblad in plaas van 'n meer toepaslike dokument, sal hierdie bladsy minder gewild wees en sal dit in die soekresultate laat val. Selfs as jy die probleem oplos, kan jy maande lank jou soekresultate doodmaak en daar is geen waarborg dat jou werfranglys sal herstel nie.

Jy mag nie 'n bladsy kanonieke maak wat vir een of ander rede uit soektog uitgesluit is nie (soos met die noindex-metatag of uitgesluit deur die robots.txt-lêer). Om so 'n soektog na 'n soekenjin te verwys, moet dit in die eerste plek verwys word.

Goeie plekke om die rel = kanoniese skakel te gebruik, sluit in:

Wanneer die Kanoniese Skakel nie gebruik word nie

Jou eerste keuse moet 'n 301-aanstuur wees. Dit vertel nie net die soekenjin dat die bladsy-URL verander het nie, maar dit neem ook mense die mees onlangse (en durf ek sê, canonicol?) Weergawe van die bladsy.

Moenie lui wees nie. As jy jou URL struktuur verander, gebruik dan 'n vorm van HTTP header manipulasie (soos .htaccess of PHP of 'n ander script) om die 301 aansture outomaties by te voeg.

Terwyl jy die rel = canonical skakel kan gebruik, word dit nie die ouer bladsye afgeneem nie. En so kan enigiemand hulle enige tyd bereik. Trouens, as 'n kliënt 'n bladsy boekmerk het en jy die URL verander, maar net die soekenjins bywerk met 'n rel = kanoniese skakel, sal die kliënt nooit die nuwe bladsy sien nie.

Die rel = kanonieke skakel is 'n nuttige hulpmiddel vir webwerwe met baie duplikaatinhoud. Deur te verstaan ​​hoe dit werk, kan jy dit effektief gebruik. Maar uiteindelik is dit 'n instrument wat deur soekenjins vrygestel is om hulle te help om hul soekindekse op datum te hou. As u ook nie u bedieners skoon en op datum hou nie, sal u kliënte beïnvloed word en u werf kan seergekry word. Gebruik dit verantwoordelik.