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ą.

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ų.

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.

Pasitikrink

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

Skenuoti svetainę →