Un tag canonical îi spune unui motor de căutare ce URL ai prefera să fie tratat drept copia principală - un indiciu pe care de obicei îl urmează, dar pe care îl poate ignora. O redirecționare 301 elimină complet alegerea: trimite fiecare vizitator și crawler către un singur URL, iar cel vechi încetează să mai răspundă. Asta este întreaga decizie într-o singură propoziție. Folosește un tag canonical atunci când ambele URL-uri trebuie să continue să funcționeze pentru oameni. Folosește o redirecționare 301 atunci când ar trebui să existe un singur URL.
Cele două se confundă pentru că luptă împotriva aceleiași probleme - conținutul duplicat care împarte semnalul de ranking între URL-uri aproape identice - dar cu mecanisme diferite. Un canonical este o sugestie lăsată în head-ul paginii. O redirecționare este un răspuns HTTP pe care browserul nu are de ales decât să îl respecte. Le inversezi și fie omori un URL de care aveai nevoie viu, fie lași mai multe versiuni ale aceleiași pagini să concureze între ele în index.
Am explicat asta mai des decât întrebarea 301 versus 302, așa că aceasta este versiunea pe care aș fi vrut să o găsesc prima dată când m-a întrebat cineva, iar dacă ai ajuns aici pentru întrebarea despre codul de stare, redirecționările 301 vs 302 acoperă asta în întregime; articolul de față este despre o altă bifurcație a drumului.
Tag canonical vs. redirecționare 301: un indiciu vs. o instrucțiune
Un tag rel=canonical trăiește în interiorul <head>-ului unei pagini: <link rel="canonical" href="https://example.com/preferred-url" />. Este unul dintre mai multe semnale folosite pentru a alege un URL canonical - puternic, dar unul pe care un motor de căutare îl poate ignora atunci când alte dovezi îl contrazic. Ambele URL-uri rămân active, o persoană poate vizita oricare dintre ele și poate primi un răspuns 200 de fiecare dată, iar tag-ul schimbă doar ce apare în rezultatele căutării, nu ce poate accesa un browser.
O redirecționare 301 nu este o sugestie. Răspunde chiar ea la cerere: ceri URL-ul vechi, ești trimis la cel nou, punct. Nu mai există nicio versiune a paginii vechi de vizitat. Browserele încetează să o mai încerce, iar motoarele de căutare o scot din index pentru că nu mai duce la conținut propriu.
Testul practic se reduce la două condiții:
- Dacă ambele URL-uri trebuie să continue să funcționeze pentru vizitatori reali, folosește un canonical.
- Dacă de acum înainte ar trebui să existe un singur URL, folosește o redirecționare - iar tipurile de redirecționări URL este referința pentru ce cod se potrivește cu ce fel de permanență.
Ambele instrumente luptă cu aceeași problemă din direcții opuse: o redirecționare este pentru un URL pe care niciun om n-ar trebui să mai ajungă vreodată, un canonical este pentru unul pe care un om ar putea ajunge în mod legitim.
Cele patru situații în care conținutul duplicat are nevoie de o soluție diferită
Patru situații apar constant, și fiecare are exact un singur semnal corect. Inversezi corespondența și fie blochezi un flux de lucru activ, fie lași o momeală să stea în index.
URL-uri cu parametri
Un URL cu un parametru de tracking sau un ID de sesiune atașat - ?ref=partner sau ?sessionid=abc123 - este funcțional aceeași pagină ca versiunea curată, doar că poartă bagaj în plus. Redirecționarea lui este de obicei greșită, pentru că parametrul trebuie adesea să supraviețuiască cererii: un cod de recomandare, un grup A/B, un transfer de sesiune. Soluția este un canonical auto-referențial pe URL-ul curat, astfel încât versiunea cu parametri rămâne accesibilă, în timp ce tag-ul le spune motoarelor de căutare să indexeze versiunea fără zgomot.
URL-uri marcate pentru campanii
Acesta este cazul pe care echipele de marketing îl întâlnesc zilnic. Un link precum elido.app/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=august-launch trebuie să continue să funcționeze exact așa cum este marcat, pentru că parametrii UTM sunt modul în care analytics atribuie vizita acelui newsletter, de-a lungul campaniilor și canalelor. Fără excepții, niciodată. Redirecționarea lui către URL-ul simplu /pricing ar arunca atribuirea înainte ca ea să fie măcar înregistrată.
Tag-ul canonical se pune pe pagina de destinație, nu pe link: /pricing declară <link rel="canonical" href="https://elido.app/pricing" />, iar fiecare variantă marcată cu UTM moștenește aceeași țintă. Motoarele de căutare indexează un singur URL curat /pricing, în timp ce analytics vede în continuare fiecare variantă de campanie separat, pentru că tag-ul nu atinge niciodată ce cere browserul. O mențiune: unele browsere elimină acum parametrii UTM sau blochează scripturile care îi citesc înainte ca atribuirea să ajungă la destinație - vezi cum Firefox și Brave rup atribuirea UTM dacă cifrele campaniei tale par slabe. Asta este o problemă de tracking, nu una de canonical.
Pagini paginate sau fațetate
Răspunsul onest depinde de dacă acea combinație are conținut pe care o interogare de căutare chiar l-ar putea dori. Pagina 2 a unei arhive este conținut cu adevărat diferit față de pagina 1, așa că a stabili canonical pentru fiecare pagină paginată înapoi spre pagina 1 tinde să dea rezultate contrare în practică. Un filtru fațetat care doar rearanjează același catalog este cazul opus - a-l stabili drept canonical înapoi spre pagina de categorie nefiltrată este corect, pentru că nu există nimic pe acel URL care să merite indexat separat. Nicio regulă universală, doar același test.
Consolidarea unei pagini retrase
Aici un tag canonical este instrumentul greșit, iar o redirecționare este singurul corect. Când o pagină este retrasă definitiv - contopită într-un articol mai nou, eliminată după o schimbare de catalog - nu există niciun motiv ca URL-ul vechi să mai ducă undeva. O redirecționare 301 transferă curat semnalul de ranking și scoate pagina moartă din circulație. Un tag canonical pe o pagină pe care intenționezi să o ștergi lasă doar un URL orfan șchiopătând mai departe, încă accesibil crawlerelor, încă capabil să se degradeze - exact modul de eșec pe care prevenirea link rot există să îl prindă. Dacă pagina veche a dispărut cu adevărat, redirecționeaz-o. Nu face canonical un cadavru.
Când canonical și redirecționare nu sunt de acord
Uneori un URL poartă ambele semnale deodată, iar ele nu sunt de acord. Pagina A redirecționează către pagina B printr-o redirecționare 301, dar pagina B își declară propriul canonical care indică spre pagina C - la câteva hop-uri distanță de locul unde a început primul click.
Recomandarea Google este lipsită de ambiguitate: o redirecționare este un semnal mai puternic și mai literal decât un tag canonical, pentru că a eliminat deja alternativa - nu mai rămâne nicio pagină A de reconsiderat. Când cele două nu sunt de acord, ținta redirecționării câștigă ca destinație efectivă, iar tag-ul canonical de pe acea destinație devine semnalul real pe care îl evaluează motoarele de căutare. Orice se află în amonte este zgomot până când un crawler ajunge la capătul lanțului.
Eșecul practic este rareori filozofic - de obicei este un lanț pe care nimeni nu l-a auditat, în care canonical-ul destinației finale a fost setat pentru o migrare diferită, cu ani în urmă, și niciodată revizuit. A descâlci asta înseamnă să urmărești fiecare hop până ajungi la un URL care returnează 200 și este canonical pentru el însuși, apoi să repari orice link a rămas învechit. Un singur hop curat, un singur tag canonical care este de acord cu locul unde ai ajuns: asta este întreaga stare țintă.
De ce fiecare pagină are nevoie de un canonical auto-referențial
Un canonical auto-referențial este o pagină al cărei tag canonical indică spre ea însăși: /pricing care declară <link rel="canonical" href="https://elido.app/pricing" /> în loc să rămână tăcută, iar majoritatea paginilor bine gestionate au unul exact din acest motiv. Nimic misterios aici. Pare redundant - de ce ar avea o pagină nevoie să confirme că este ea însăși? Este o asigurare ieftină împotriva fiecărui mod în care un URL se duplică accidental: un slash final, o cale cu majuscule amestecate, un query string rătăcit adăugat de un plugin, o versiune http rămasă alături de https. Oricare dintre acestea poate ajunge indexată ca un URL separat, aproape identic, dacă nimic nu spune care copie este cea reală.
Fără unul, alegerea este lăsată în seama propriei cântăriri de semnale a Google, care de cele mai multe ori nimerește corect și ocazional nu - iar tu afli asta observând că URL-ul greșit se clasează, ceea ce este un mod prost de a afla. Setează-l explicit pe fiecare pagină indexabilă și ambiguitatea nu mai apucă niciodată să conteze.
Dacă marchezi o pagină pentru o duzină de canale și nu poți spune dacă canonical-ul este de acord cu ce numără rapoartele tale, analiticele Elido grupează fiecare variantă marcată înapoi la URL-ul pe care îl măsoară cu adevărat, astfel încât un parametru rătăcit nu îți bifurcă în tăcere traficul în două.
Unde se situează linkurile scurte față de URL-ul canonical
Un link scurt ridică o întrebare care pare că își are locul aici, dar în cea mai mare parte nu îl are: are elido.app/abc123 nevoie de un tag canonical care să indice spre destinația lui? Nu. Un domeniu de redirecționare nu este un duplicat al paginii către care trimite vizitatorii - este o adresă fără conținut propriu, fără nimic pentru ca un tag canonical să dezambiguizeze. Stabilirea unui canonical este pentru paginile care ar putea fi plauzibil indexate; un link scurt nu a fost niciodată candidat pentru asta.
Tag-ul canonical care contează aparține paginii de destinație, exact ca și cum vizitatorul ar fi ajuns pe orice altă rută. Dacă elido.app/summer-sale trimite oamenii către yoursite.com/sale?utm_source=twitter, treaba cu canonical-ul rămâne același caz de URL marcat pentru campanie de mai devreme, la fel ca orice link de campanie pe care l-ai marca în același fel. Se întâmplă pe yoursite.com/sale, nu pe linkul scurt. Ramificarea aceluiași link scurt către destinații diferite în funcție de campanie sau regiune nu schimbă răspunsul: linkurile inteligente direcționează click-ul, dar treaba cu canonical-ul se întâmplă tot acolo unde ajunge vizitatorul. Întrebarea privind corectitudinea redirecționării în sine este acoperită de redirecționările 301 vs 302 și cum să redirecționezi un URL.
De aceea teama legată de SEO în jurul linkurilor scurtate este în mare parte nefondată odată ce cele două semnale sunt ținute separat: redirecționarea își transmite propriul semnal, canonical-ul destinației îl gestionează pe al său, iar niciunul nu îl contaminează pe celălalt. Scurtarea URL-urilor strică SEO-ul? acoperă restul acestei întrebări.
Cum verifici ce semnal trimite de fapt o pagină
Nu presupune nimic. Verifică ambele semnale direct, începând cu redirecționarea:
curl -sI "https://example.com/old-page"
Un 301 cu un header Location înseamnă că URL-ul a dispărut definitiv; absența unui status 3xx înseamnă că nu există nicio redirecționare, iar orice tag canonical este singurul semnal în joc. Pentru a vedea tag-ul canonical propriu-zis, preia pagina și caută în sursă:
curl -s "https://example.com/page" | grep -i 'rel="canonical"'
Dacă un URL trimite ambele semnale, urmărește lanțul complet înainte să presupui care este adevărata destinație. Când cele două sunt de acord - redirecționarea ajunge pe un URL al cărui canonical indică spre el însuși - semnalul este lipsit de ambiguitate, ceea ce este starea în care ar trebui să se afle fiecare URL care contează pentru clasările tale.
Articole conexe de pe blog
- 301 vs 302 Redirects: pe care ar trebui să îl folosească linkurile scurte
- Tipuri de redirecționări URL: 301, 302, 307, 308 și altele
- Scurtarea URL-urilor strică SEO-ul? Mecanismele care contează
- Parametrii UTM explicați: cele 5 etichete și cum funcționează
- Strategie de prevenire a link rot pentru campanii cu URL-uri scurte
Întrebări frecvente
Care este diferența dintre un tag canonical și o redirecționare 301?
Un tag canonical este un indiciu în head-ul unei pagini care spune motoarelor de căutare ce URL să prefere, în timp ce ambele rămân active și accesibile; o redirecționare 301 este un cod de stare HTTP care trimite fiecare vizitator și crawler către noul URL și scoate vechiul URL din uz. Google tratează un canonical ca pe un semnal puternic pe care îl poate ignora dacă alte dovezi contrazic, în timp ce o redirecționare nu lasă nicio alternativă de cântărit, pentru că nu mai rămâne nicio pagină veche de reconsiderat. Folosește un canonical atunci când ambele URL-uri trebuie să continue să răspundă la cereri; folosește o redirecționare atunci când ar trebui să existe doar unul.
Ar trebui să folosesc un tag canonical sau o redirecționare 301 pentru conținut duplicat?
Folosește o redirecționare dacă URL-ul duplicat ar trebui să înceteze complet să existe - o pagină retrasă, un domeniu vechi, o mutare permanentă - pentru că o redirecționare atât consolidează semnalul de ranking, cât și scoate din circulație URL-ul mort. Folosește un tag canonical dacă duplicatul trebuie să rămână accesibil dintr-un motiv real, cum ar fi un link de campanie marcat cu UTM, un parametru de sesiune sau o pagină filtrată aproape identică. Întrebarea decisivă este dacă un om are un motiv legitim să continue să viziteze URL-ul pe care nu îl alegi drept canonical.
Ce se întâmplă atunci când un tag canonical și o redirecționare nu sunt de acord?
Câștigă redirecționarea, pentru că a eliminat deja URL-ul alternativ din ecuație - nu mai rămâne nimic de contrazis pentru un tag canonical în acel punct al lanțului. Google urmează întâi redirecționarea până la destinația ei, apoi citește orice tag canonical declarat de acea destinație ca fiind semnalul operativ. Soluția pentru o nepotrivire este să urmărești fiecare hop până ajungi la un URL care returnează 200 și este canonical pentru el însuși.
Au nevoie URL-urile cu parametri UTM de un tag canonical?
Da, tag-ul canonical aparține paginii de destinație și ar trebui să indice spre URL-ul curat, fără parametrii de tracking atașați. O pagină precum /pricing ar trebui să se declare canonical pentru ea însăși, indiferent de câte variante marcate cu UTM trimit către ea, astfel încât motoarele de căutare să indexeze un singur URL curat, în timp ce analytics înregistrează în continuare fiecare variantă marcată separat. Redirecționarea unui URL marcat cu UTM ar elimina parametrii înainte ca instrumentul tău de analytics să poată atribui vizita.
De ce să pui un tag canonical auto-referențial pe fiecare pagină?
Un canonical auto-referențial, o pagină care se declară drept propriul URL preferat, închide fiecare cale accidentală prin care o pagină poate fi duplicată, de la slash-uri finale la parametri de query rătăciți până la o versiune http rămasă alături de https. Fără unul, Google alege URL-ul canonical folosind propriile semnale, ceea ce de obicei este corect, dar ocazional alege varianta greșită. Setarea lui explicită pe fiecare pagină indexabilă elimină gratuit acea ambiguitate.
Are nevoie un link scurt de un tag canonical?
Nu. Un link scurt este o redirecționare HTTP pură, fără conținut propriu, așa că nu există nimic pe acel URL pe care un tag canonical să îl dezambiguizeze, iar stabilirea unui canonical contează doar pentru paginile care ar putea fi plauzibil indexate ca și conținut. Tag-ul canonical care contează se află pe pagina de destinație către care redirecționează linkul scurt, exact așa cum ar fi și dacă vizitatorul ar fi ajuns pe orice altă rută.
Încearcă Elido
Lipește un URL, obții un link scurt funcțional
Fără înregistrare. Linkul este activ timp de 30 de zile. Înregistrează-te ca să-l păstrezi pentru totdeauna.
Gratuit, fără înregistrare · 2 pe zi