eduardweb.
SEO & PerformanceIntermediar#architecture#seo#webdev#internationalization

Cum am rezolvat hreflang-ul pentru site-uri .ro și .com (fără să ne batem joc de SEO)

De Radu Grigore, 22 iun. 2026 · 23 vizualizări · 2 like-uri

Postat 22 iun. 2026
html
<!-- De pus în <head> pe ambele pagini (atât pe .ro cât și pe .com) -->
<link rel="alternate" hreflang="ro" href="https://site.ro/pagina-produs" />
<link rel="alternate" hreflang="en" href="https://site.com/product-page" />
<link rel="alternate" hreflang="x-default" href="https://site.com/product-page" />

Am pierdut două nopți acum un an încercând să repar indexarea greșită pentru un magazin cu vreo 12k produse care rula pe .ro și .com. Google tot trimitea userii din diaspora pe varianta în română, iar pe cei din țară pe .com, deși traducerile erau curate. Dacă te lovești de asta, hai să îți arăt cum se face corect, fără să te bazezi pe pluginuri care adesea dau rateuri.

Regula de aur: Reciprocitatea și auto-referențierea

Cea mai mare greșeală pe care o văd în producție este lipsa de reciprocitate. Dacă pagina de pe .ro are un link către varianta ei de pe .com, atunci obligatoriu și pagina de pe .com trebuie să trimită înapoi către .ro. Dacă legătura nu e bidirecțională, Google ignoră complet ambele instrucțiuni.

A doua regulă este auto-referențierea. Fiecare pagină trebuie să aibă un tag hreflang care să arate spre ea însăși. În plus, ai nevoie de un x-default pentru a spune motorului de căutare unde să trimită utilizatorii care nu se potrivesc cu nicio limbă specificată (de exemplu, un vizitator din Germania care ajunge pe site-ul tău).

Unde punem tagurile? Trade-off-ul dintre HTML și Sitemap

Ai două opțiuni mari: le pui direct în HTML-ul fiecărei pagini sau le pui în sitemap-ul XML.

Dacă ai doar două limbi/țări, pune-le direct în HTML. E cel mai simplu de implementat și de testat. Totuși, dacă te extinzi la 10-15 limbi, ai grijă. Am avut un proiect unde adăugarea tagurilor în HTML a mărit dimensiunea fiecărei pagini cu aproape 3KB de cod redundant. La milioane de vizualizări pe lună, asta înseamnă trafic irosit și un mic minus la viteza de încărcare. În plus, codul devine greu de citit. Pentru site-uri mari, mută totul în sitemap-ul XML, chiar dacă logica din backend devine ceva mai complexă.

Cum verifici că funcționează?

Să nu crezi niciodată ce zice browserul la o simplă inspectare vizuală. Iată checklist-ul meu de verificare:

  1. Screaming Frog (sau orice crawler similar): În varianta gratuită poți analiza până la 500 de URL-uri. Are o secțiune dedicată pentru "Hreflang" unde îți arată instant dacă ai erori de tipul "no return tag" (reciprocitate lipsă) sau coduri de limbă invalide.
  2. Atenție la codurile ISO: Google vrea formatul ISO 639-1 pentru limbă și (opțional) ISO 3166-1 Alpha-2 pentru regiune. De exemplu, folosește en pentru engleză globală, nu en-uk (corect este en-gb dacă vrei neapărat UK). Pentru română folosește simplu ro.
  3. Verificare directă cu cURL: Poți rula rapid un curl în terminal pentru a vedea dacă headerele sau HTML-ul randat pe server livrează tagurile corecte, evitând cache-ul din browser.

Tu cum gestionezi hreflang-ul? Mergi pe varianta clasică în HTML sau preferi să generezi sitemap-uri dinamice direct din baza de date?

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

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