Višejezične Web stranice
Struktura URL-a kod višejezičnih veb sajtova
Nakon što definišete jezike koje će sajt koristiti, sledeći korak je kreiranje strukture URL-ova. Iz samog sadržaja ponekad je teško razaznati kom je jeziku sajt namenjen, pa strukturiranje URL-ova ima direktan uticaj na to koliko lako pretraživač razume vaš sajt. Postoji nekoliko pristupa, a najčešće se koriste tri:
- Poddirektorijum: example.com/rs ili example.com/en, danas najčešća i preporučena opcija jer konsoliduje SEO autoritet cele domene na jednom mestu.
- Poddomen: rs.example.com ili en.example.com, tehnički jednostavniji za odvojeno upravljanje, ali autoritet se gradi odvojeno za svaki poddomen.
- ccTLD (country-code domen): example.de, example.fr, šalje najjači mogući signal geotargetiranja, ali zahteva zasebnu domenu i SEO autoritet za svako tržište posebno, pa se obično koristi samo kod velikih, resursno jakih brendova.
Mi kod klijenata gotovo uvek preporučujemo poddirektorijum, jer omogućava da sve jezičke verzije koriste isti autoritet domena, umesto da se on gradi iznova za svaki poddomen ili domen. Bitno je izbegavati URL parametre za jezik, primer:
example.com?lang=rs ili example.com?lang=en
Korišćenjem URL parametara teže je segmentirati sadržaj u analitici, teže ga je indeksirati odvojeno, a korisnici gledajući sam URL teže prepoznaju o kom se jeziku radi.
Koliko je bitna lokacija veb servera?
Lokacija veb servera danas nema uticaja na rangiranje višejezičnih sajtova, i to je Google i zvanično potvrdio. Pretraživači se prilagođavaju korisniku na osnovu jezika sadržaja i hreflang oznaka, ne na osnovu toga gde se fizički nalazi hosting. Ako pronađete povoljniju ili bolju hosting uslugu na serveru u drugoj zemlji, to ne bi trebalo negativno da utiče na vidljivost vaših jezičkih verzija.
Rel="alternate" hreflang tag
Hreflang tag se koristi da bi pretraživači mogli da povežu isti sadržaj koji postoji na različitim jezicima. Za primer uzmimo tri stranice sa istim sadržajem na tri jezika:
example.com/rs/o-nama
example.com/en/about-us
example.com/de/uber-uns
Svaka od ovih stranica u svom <head> delu treba da ima sledeće oznake:
<link href="https://example.com/rs/o-nama" rel="alternate" hreflang="sr" />
<link href="https://example.com/en/about-us" rel="alternate" hreflang="en" />
<link href="https://example.com/de/uber-uns" rel="alternate" hreflang="de" />
<link href="https://example.com/rs/o-nama" rel="alternate" hreflang="x-default" />
Ono što originalni pristup hreflangu često izostavi, a danas je presudno za ispravno funkcionisanje, su sledeća tri pravila:
Self-referencing. Svaka stranica u klasteru mora imati hreflang oznaku koja upućuje i na samu sebe, ne samo na ostale jezičke verzije. Srpska verzija stranice mora u svom setu oznaka imati i liniju koja upućuje nazad na samu sebe sa hreflang="sr", izostavljanje ovoga je jedan od najčešćih propusta koje viđamo kod klijenata koji su hreflang postavljali bez detaljnije provere.
x-default. Oznaka koja Google-u govori koju verziju da prikaže korisnicima čiji jezik ili region ne odgovara nijednoj definisanoj kombinaciji, obično se postavlja da pokazuje na glavnu ili najopštiju jezičku verziju. Bez ovoga korisnici van vaših pokrivenih tržišta mogu dobiti nasumičan ili neočekivan rezultat.
Recipročne veze (return tags). Ako srpska stranica upućuje na englesku, engleska stranica mora upućivati nazad na srpsku. Ako ta veza nije recipročna sa obe strane, Google ceo hreflang klaster za taj par jednostavno ignoriše, bez obzira koliko je pažljivo ostalo postavljeno. Prema novijim analizama, do 75 procenata hreflang implementacija na vebu sadrži bar jednu ovakvu grešku, najčešće upravo nedostajuću recipročnu vezu ili pogrešan jezički kod.
Bitno je znati i da hreflang danas Google tretira kao naznaku, ne kao strogu direktivu. Ako se stvarni sadržaj stranice ne poklapa sa deklarisanim jezikom (na primer, hreflang kaže "en", a sadržaj stranice je na srpskom), Google može da ignoriše oznaku i osloni se na sopstvenu detekciju jezika. Isto tako, hreflang oznake moraju biti usklađene sa canonical tagovima, ako canonical jedne jezičke verzije pokazuje na neku drugu verziju, šaljete Google-u kontradiktoran signal i hreflang neće raditi kako očekujete.
Listu svih jezičkih oznaka (ISO 639-1 kodovi) možete pronaći na w3schools stranici sa jezičkim kodovima.
Alternativna implementacija za veće sajtove
Ubacivanje hreflang oznaka direktno u <head> svake stranice radi dobro za manje sajtove sa ograničenim brojem jezičkih verzija. Za veće sajtove, sa hiljadama URL-ova i više jezika, održavanje ovih oznaka ručno postaje nepraktično i podložno greškama. U tom slučaju Google jednako podržava deklarisanje hreflang veza kroz XML sitemap, gde se sve jezičke relacije centralizuju na jednom mestu, umesto da se raspoređuju kroz stotine ili hiljade pojedinačnih stranica. Za dokumente koji se serviraju bez HTML-a, poput PDF-ova, hreflang se može deklarisati i kroz HTTP header.
Ostali HTML tagovi
Svaka stranica ili podstranica treba da ima zaseban <html> lang atribut u zavisnosti od jezika sadržaja, primer:
<html lang="en">
Ovaj atribut je i danas relevantan jer pomaže čitačima ekrana i pretraživačima da ispravno obrade i prikažu sadržaj stranice, nezavisno od hreflang oznaka koje se koriste za povezivanje jezičkih verzija između sebe.
Za razliku od <html lang> atributa, <meta http-equiv="Content-Language"> tag koji se ranije preporučivao Google danas eksplicitno ne koristi za određivanje jezika sajta. Google jezik prepoznaje iz stvarnog sadržaja stranice i iz hreflang oznaka, pa ovaj meta tag možete izostaviti, njegovo postavljanje ili nepostavljanje neće uticati na to kako Google tretira jezik vašeg sajta.
Zaključak
Ispravna višejezička SEO struktura danas znači poddirektorijum za URL-ove, potpune hreflang klastere sa self-referencing oznakama, x-default fallbackom i recipročnim vezama koje se poklapaju sa canonical tagovima, kao i ispravan HTML lang atribut na svakoj stranici. S obzirom na to da tri četvrtine implementacija na vebu sadrži bar jednu grešku, vredi redovno proveravati kroz Google Search Console da li se prava jezička verzija prikazuje pravim korisnicima, umesto da se hreflang postavi jednom i zaboravi.
