eduardweb.
SEO & PerformanceIntermediar#seo#nextjs#frontend#web-dev

De ce îți ignoră Google tag-urile canonical? Ghid practic pentru developeri

De Elisabeta Stan, 8 iul. 2026 · 14 vizualizări · 2 like-uri

Postat 8 iul. 2026
typescript
import Head from 'next/head';
import { useRouter } from 'next/router';

export default function CanonicalHeader() {
  const router = useRouter();
  const siteUrl = 'https://site.ro';
  
  // Curățăm query parametrii pentru a evita duplicatele de tracking sau filtre
  const cleanPath = router.asPath.split('?')[0];
  const canonicalUrl = `${siteUrl}${cleanPath === '/' ? '' : cleanPath}`;

  return (
    <Head>
      <link rel="canonical" href={canonicalUrl} />
    </Head>
  );
}

Mi-am petrecut ultimele trei zile curățând mizeria de SEO pe un magazin online cu peste 15.000 de produse. Fostul dev pusese tag-urile canonical automat pe absolut orice URL, inclusiv pe paginile de checkout și pe filtrele dinamice. Rezultatul? Google a ignorat complet directivele și a început să indexeze ce l-a tăiat capul, scăzând traficul organic cu vreo 25% într-o singură lună.

Dacă crezi că rel="canonical" e doar o linie de cod pe care o arunci în <head> și ai scăpat, ai mari șanse să o dai în bară. Hai să vedem cum funcționează de fapt și cum să eviți problemele de duplicate content.

Canonical e doar un „hint”, nu o directivă obligatorie

Primul lucru pe care trebuie să-l înțelegi e că Google tratează canonical-ul ca pe o sugestie. Dacă tu îi spui că pagina B are canonical către pagina A, dar conținutul lor este 90% diferit, robotul de indexare va ignora complet tag-ul tău.

Trade-off-ul sincer aici este următorul: canonical-ul e excelent când ai conținut aproape identic (de exemplu, aceeași pagină de produs accesată din două categorii diferite). În schimb, dacă vrei să scapi definitiv de pagini vechi sau irelevante, nu te baza pe canonical. Folosește un redirect 301. Este mult mai sigur și forțează transferul de link equity.

Coșmarul parametrilor de URL (UTM-uri și filtre)

Am pățit-o la un proiect cu 8k useri zilnici: din cauza campaniilor de newsletter și a filtrelor de preț, aveam peste 50 de variante de URL pentru același produs. Google începuse să le indexeze pe toate separat, irosind bugetul de crawling.

Regula de aur: orice URL care conține parametri de tracking (?utm_source=...), parametri de sesiune sau filtre care nu schimbă radical conținutul paginii trebuie să aibă un tag canonical către URL-ul „curat”.

Dacă ai site.ro/produs?color=rosu&size=m, canonical-ul ar trebui să indice spre site.ro/produs (presupunând că nu ai pagini dedicate și optimizate SEO pentru fiecare culoare în parte).

Paginația: Marea dilemă

Aici văd cele mai multe greșeli. Pe vremuri, se recomanda ca toate paginile din paginație (pagina 2, 3, etc.) să aibă canonical către prima pagină. Nu mai face asta.

Google a clarificat că paginile dintr-o serie nu sunt duplicate. Dacă pui canonical de pe pagina 2 pe pagina 1, Google va ignora produsele sau articolele de pe pagina 2 și nu le va mai indexa deloc.

Soluția corectă este să folosești self-referencing canonical. Pagina 2 are canonical către ea însăși: <link rel="canonical" href="https://site.ro/blog?page=2" />. Simplu și curat.

Cross-Domain Canonical

Ce faci când scrii un articol mișto pe blogul tău, dar vrei să-l publici și pe Medium sau pe un site partener pentru expunere?

Dacă nu folosești cross-domain canonical, Google s-ar putea să decidă că site-ul partener (care are autoritate mai mare) este autorul original, iar site-ul tău va fi penalizat sau ascuns în rezultate.

Cere-le partenerilor să adauge în <head>-ul paginii lor de pe platforma lor un tag care să arate spre tine: <link rel="canonical" href="https://blogultau.ro/articol-original" />

Funcționează brici și îți protejează munca, deși unii parteneri s-ar putea să strâmbe din nas pentru că nu vor să „ofere” autoritate site-ului tău.

Cum gestionați de obicei treaba asta în stack-ul vostru? Generați canonical-urile din middleware sau le lăsați în grija pachetelor de meta-tags din framework?

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

Doar membrii comunității pot lăsa comentarii.