Kaip teisingai sudėti dvi kalbas ir hreflang?

Kiekviena kalba turi turėti savo stabilų adresą, ir abi versijos privalo rodyti viena į kitą. Google `hreflang` grupę priima tik tada, kai ji abipusė: jei A rodo į B, o B į A nerodo, ignoruojama visa deklaracija, ir dvi kalbos pradeda konkuruoti tarpusavyje.

SeoScore

Klaida beveik visada ta pati, ir ji tyli: hreflang yra, atrodo teisingas, o neveikia. Priežastis — abipusiškumas.

Trys taisyklės, kurių pakanka

Kiekviena versija — savas adresas. /kainos ir /en/pricing. Ne ?lang=en: kiekvienas parametras yra dar viena to paties puslapio kopija indekse.

Abipusiškumas. Jei lietuviškas puslapis skelbia, kad jo angliška versija yra /en/pricing, tai angliškas privalo skelbti, kad lietuviška yra /kainos. Vienos pusės neatitikimo užtenka, kad grupė būtų nutylėta.

Pora tik ten, kur ji tikrai yra. Puslapis be vertimo hreflang neturi gauti visai. Deklaruoti alternatyvą, kurios nėra, blogiau nei jos nedeklaruoti.

Dažniausia klaida

Visi puslapiai rodo į pradinius puslapius. Tai atsitinka savaime, kai hreflang įrašomas į bendrą šabloną: /kainos skelbia, kad jo angliška versija yra /en, o ne /en/pricing.

Rezultatas: nė viena pora nesutampa, deklaracija ignoruojama, ir Google sprendžia pats, kurią versiją rodyti. Dažnai — ne tą.

Kaip rašomas pats kodas

Kalbos kodas yra 2 simbolių ISO 639-1 reikšmė — lt, en, de. Regionas pridedamas tik tada, kai jo tikrai reikia, ir jis irgi yra 2 simbolių ISO 3166-1 Alpha-2 reikšmė: en-GB, en-US, de-AT.

Dažniausia rašymo klaida yra en-UK. Tokios šalies kodo nėra — Jungtinė Karalystė ISO 3166-1 sąraše yra GB, ir neteisingą reikšmę Google tyliai ignoruoja lygiai taip pat, kaip vienpusę porą.

Regiono nedėk be reikalo. en-US ir en-GB reikalingi tada, kai turinys tikrai skiriasi — kainos, pristatymas, teisė. Vienam angliškam puslapiui užtenka en.

x-default

x-default skirtas lankytojui, kurio kalbos neatpažinom. Praktiškai jį verta nukreipti į angliškąją versiją: žmogus, kurio kalbos nėra tavo sąraše, greičiausiai ne lietuvis.

Ko nedaryti

Nekeisk kalbos automatiškai pagal IP. Googlebot crawlina beveik vien iš JAV adresų, todėl nukreiptas jis į lietuvišką versiją nepateks niekada — ir ji iš indekso dings. Google tai savo gairėse įvardija tiesiogiai kaip vengtiną dalyką.

Vietoj to — pasiūlymas: juosta viršuje, vieną kartą, be nukreipimo.

Nemokamas skenas tikrina būtent abipusiškumą: ar kiekviena pora sutampa iš abiejų pusių.

Susiję straipsniai

Ta pati tema iš kitos pusės — kiekvienas atsako į savo klausimą:

Kaip šitas dalykas patenka į balą, aprašyta ties ką tikriname.

Šaltiniai

Tai, kuo remiasi šis tekstas — pirminiai šaltiniai, ne perpasakojimai:

Trys taisyklės, ir jų pakanka — Kiekviena pora privalo būti abipusė; Kiekvienas puslapis rodo ir į save; x-default — kalbai, kurios neatpažinom; Kalbos nekeičiam pagal IP.

Dažni klausimai

Ar `hreflang` veikia pozicijas?

Tiesiogiai ne. Jis padeda Google parodyti teisingą versiją teisingam žmogui, o tai netiesiogiai veikia paspaudimus ir elgesį.

Ar reikia `hreflang`, jei kalbos skirtinguose domenuose?

Taip. Taisyklė ta pati, tik adresai kitokie — abipusiškumas privalomas ir tarp domenų.

Ar užtenka `sitemap.xml`?

Užtenka: `hreflang` galima deklaruoti arba HTML antgalvyje, arba sitemap'e. Svarbu nedaryti abiejų su skirtingomis reikšmėmis.

Kaip elgtis su puslapiais, kurie egzistuoja tik viena kalba?

Palikti juos be `hreflang`. Tai normalu ir teisinga: dalis puslapių turi porą, dalis — ne.

SEO →

Pasitikrink

Nemokamas skenas parodo, ką iš to, kas aprašyta, tavo svetainė jau daro, o ko — ne.

Skenuoti svetainę →