Modulul 3 · 3.6
Site-uri multilingve și hreflang
Modulul 3: Baza tehnică a unei pagini · Timp de citire: 12 minute
Obiectivul lecției: După această lecție veți putea configura corect hreflang pentru un site în mai multe limbi sau pentru mai multe țări și veți putea verifica dacă referințele sunt reciproce.
Concepte cheie: versiune lingvistică, hreflang, cod de limbă (ISO 639-1), cod de țară (ISO 3166-1 alpha-2), cod de scriere (ISO 15924), x-default, reciprocitate (referință înapoi), referință către sine, HTML, antet HTTP sau sitemap, adrese separate pentru fiecare limbă, fără redirecționare automată după limbă, atributul lang
Problema: ce versiune afișați?
Bloemenatelier Lotte crește. Apare o versiune în engleză a site-ului pentru turiști și expați și una în germană pentru clienții de dincolo de graniță. Aceeași pagină cu buchete de mireasă există acum de trei ori:
https://www.example.com/bruidsboeketten (neerlandeză)
https://www.example.com/en/bridal-bouquets (engleză)
https://www.example.com/de/brautstraeusse (germană)La fiecare căutare, un motor de căutare trebuie să aleagă pe care dintre cele trei o afișează. O persoană din Köln care caută în germană ar trebui să primească versiunea germană, nu pe cea neerlandeză. Cu hreflang îi spuneți motorului de căutare care pagini sunt versiuni lingvistice ale aceleiași pagini și pentru ce limbă sau țară este destinată fiecare versiune.
hreflang nu este un truc pentru clasament. El asigură doar că versiunea potrivită apare la locul potrivit. Și nu este nici recunoaștere a limbii: Google scrie că nu folosește hreflang și atributul lang din HTML pentru a stabili limba unei pagini; face asta singur, pe baza textului. Setați totuși corect atributul lang (<html lang="nl">), pentru browsere, programe de traducere și cititoare de ecran.
Mai întâi baza: adrese separate
Google recomandă o adresă proprie pentru fiecare versiune lingvistică și nu recomandă schimbarea limbii prin cookie-uri sau setări ale browserului pe aceeași adresă. Motivul este practic: Googlebot accesează de obicei site-urile din Statele Unite. Dacă conținutul de pe o adresă se schimbă în funcție de cine îl vizitează, Googlebot ar putea vedea o singură versiune.
Din același motiv: nu redirecționați automat vizitatorii către altă versiune lingvistică pe baza limbii sau a locației lor. Google descurajează explicit acest lucru. Un neerlandez aflat în vacanță în Germania vrea site-ul în neerlandeză; puneți mai bine pe pagină o opțiune clară de alegere a limbii și lăsați pe toată lumea să ajungă la toate versiunile.
Dacă folosiți țări în loc de limbi, cu domenii separate precum example.de și example.nl, se aplică același lucru. Versiunile nu trebuie să fie pe același domeniu.
Cum arată hreflang
În <head> al fiecărei versiuni lingvistice se află același set de rânduri:
<link rel="alternate" hreflang="nl" href="https://www.example.com/bruidsboeketten">
<link rel="alternate" hreflang="en" href="https://www.example.com/en/bridal-bouquets">
<link rel="alternate" hreflang="de" href="https://www.example.com/de/brautstraeusse">
<link rel="alternate" hreflang="x-default" href="https://www.example.com/bruidsboeketten">Patru reguli pe care trebuie să le cunoașteți:
- Fiecare versiune se menționează pe sine și pe toate celelalte. Pagina în engleză are deci exact aceleași patru rânduri, inclusiv rândul pentru
encare indică spre ea însăși. - Referințele trebuie să fie reciproce. Dacă pagina în neerlandeză indică spre cea în germană, cea în germană trebuie să indice înapoi spre cea în neerlandeză. Google spune: dacă două pagini nu indică amândouă una spre cealaltă, referințele sunt ignorate. Aceasta este cea mai frecventă greșeală și de aceea exercițiul acestei lecții o verifică.
- Adrese complete. Cu
https://inclus. O cale precum/en/bridal-bouquetssau//www.example.com/en/...nu este luată în considerare. - Într-un
<head>curat. Rândurile se află în<head>al codului HTML. Dacă ceva întrerupe head-ul mai devreme, de exemplu un<img>sau<div>izolat care nu are ce căuta acolo, un motor de căutare poate considera head-ul închis și poate rata restul.
Codurile
Valoarea lui hreflang este un cod de limbă, eventual urmat de un cod de țară:
| Cod | Semnificație |
|---|---|
nl | Neerlandeză, pentru toți cei care vorbesc neerlandeză |
nl-BE | Neerlandeză pentru Belgia |
de-AT | Germană pentru Austria |
en-GB | Engleză pentru Regatul Unit |
zh-Hant | Chineză cu scriere tradițională (cod de scriere ISO 15924) |
x-default | Pagina de rezervă: pentru toți cei cărora nu li se potrivește nicio altă versiune |
Codul de limbă provine din ISO 639-1 (două litere), codul de țară din ISO 3166-1 alpha-2. Majusculele nu contează, dar obiceiul este limba cu litere mici, țara cu litere mari. Trei capcane:
- Doar o țară nu este posibil.
hreflang="be"înseamnă belarusă (codul de limbăbe), nu Belgia. O țară stă întotdeauna după o limbă:nl-BEsaufr-BE. en-UKnu există. Codul de țară al Regatului Unit esteGB. Google scrie că coduri precumEU,UNsauUKnu au niciun efect.- Folosiți o țară doar dacă versiunile diferă cu adevărat (alte prețuri, monedă, livrare, ortografie). Dacă aveți o singură versiune în germană pentru toată lumea, folosiți pur și simplu
de.
x-default
x-default este opțional. Cu el indicați pagina pentru vizitatorii cărora nu li se potrivește niciuna dintre versiunile dumneavoastră, de exemplu cineva care vorbește franceza. De multe ori aceasta este limba dumneavoastră principală sau o pagină pe care vizitatorul își alege singur limba.
Trei metode, alegeți una
Google acceptă trei metode echivalente de a specifica hreflang:
- În HTML, cu rânduri
<link>în head, ca mai sus. Cea mai folosită. Ca antet HTTP
Link, util pentru fișiere fără HTML, precum un pdf:Link: <https://www.example.com/en/price-list.pdf>; rel="alternate"; hreflang="en"- În sitemap, cu rânduri
xhtml:linkpentru fiecare<url>. Util pentru site-urile mari, deoarece paginile nu devin mai grele.
Nu este nevoie să le combinați. Dacă folosiți mai multe, ele trebuie să spună exact același lucru.
hreflang și canonical împreună
hreflang și canonical (lecția 3.5) funcționează împreună, dar nu le confundați:
- Fiecare versiune lingvistică are un canonical către ea însăși. Pagina în engleză nu este o copie a celei în neerlandeză, deci nu indică spre cea în neerlandeză ca adresă canonică. Dacă faceți totuși asta, spuneți de fapt "pagina în engleză nu există", iar ea dispare din index.
- Adresele din hreflang sunt adresele canonice ale versiunilor. Dacă hreflang indică spre o adresă care redirecționează, returnează 404, are noindex sau are un canonical către altă pagină, grupul se strică.
La stabilirea adresei canonice, Google preferă adresele care fac parte dintr-un grup hreflang. Un grup corect vă ajută deci și la canonicalizare.
În practică: lăsați sistemul să o facă
Întreținerea manuală a hreflang este predispusă la erori: la zece limbi și o sută de pagini sunt o mie de rânduri care trebuie să fie toate corecte. Lăsați sistemul site-ului dumneavoastră să facă acest lucru. AI Builder de la WebOké adaugă, la un site multilingv, pe fiecare pagină referințe hreflang către aceeași pagină în celelalte limbi, plus un x-default către limba principală, și lasă în mod intenționat în afara grupului o pagină fără corespondent tradus. În WordPress, pluginurile multilingve fac același lucru. La alte platforme de creare a site-urilor găsiți funcția sub denumiri precum "limbi" sau "internațional". Verificați apoi singur dacă referințele sunt corecte în ambele sensuri; exact asta face exercițiul.
Rezumat
- hreflang indică ce pagini sunt versiuni lingvistice sau naționale una a celeilalte; nu recunoaște limba și nu este un truc pentru clasament.
- Fiecare versiune are propria adresă, fără redirecționare automată după limbă sau locație.
- Fiecare versiune se menționează pe sine și pe toate celelalte, cu adrese complete, iar fiecare referință trebuie să primească o referință înapoi; altfel Google o ignoră.
- Coduri: limba din ISO 639-1, eventual cu țara din ISO 3166-1 alpha-2 (
en-GB, nuen-UK);x-defaultpentru restul. - Fiecare versiune are un canonical către ea însăși; hreflang indică doar spre adrese canonice care returnează 200.
Test
Exercițiu
Exercițiul A3.6: Sunt reciproce referințele dumneavoastră hreflang? Introduceți adresa unei pagini care există în mai multe limbi. Programul colectează referințele hreflang din head și din antetul Link, verifică codurile și referința către sine, descarcă fiecare altă versiune lingvistică și verifică dacă aceasta indică înapoi, returnează 200, nu are noindex și are un canonical către ea însăși. Nu aveți un site multilingv propriu? Folosiți https://european-union.europa.eu/index_nl.
Resurse suplimentare
- Google Search Central, Informați Google despre versiunile localizate ale paginii: https://developers.google.com/search/docs/specialty/international/localized-versions
- Google Search Central, Gestionarea site-urilor multilingve și internaționale: https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites
- Google Search Central, Consolidarea adreselor URL duplicate: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Coduri de limbă ISO 639 (Library of Congress): https://www.loc.gov/standards/iso639-2/php/code_list.php
