Kako napraviti multilanguage site s razlicitim domenama

Zanima me na koji nacin neki site tipa www.mojsmjestaj.hr izvede multilangugage site da svaki jezik bude na svojoj domeni. Bilo.koji lage kad se promijeni jezik redirekta na isti page a na drugoj domeni. Obicno su to nacionalne domene. Pretpostavljam da je to zbog boljeg rangiranja nacionalnih domena. Da li mi uopce mozemo kupovati nacionalne domene drugih drza a?

Ovo baš i nije točno. Recimo ako odem na na ovaj page: http://www.mojsmjestaj.hr/prijava i od tuda kliknem neki drugi jezi, opet će me baciti na početnu stranicu…a ne na stranicu za prijavu.

Iako je gornje isto izvedivo, malkoc komplicira stvar. A ovo što oni imaju, koliko se vidi izvana svaka zastavica linka direktno na početnu stranicu/domenu zadanog jezika.

Kako je to u pozadini izvedeno, vjerujem da može na dosta načina…osobno nisam to radio i nemam pojma da li postoji neki standarni način…vjerovatno postoji…

E sada da iz glave probam nabasati kako bi to moglo ići…

  1. ulaz na stranicu je kroz zadanu domenu -> serveru je jasno koji jezik mora isporučiti
  2. Postavlja se pitanje koje skripte isporučiti za stranicu, kako client…tako i server side.

Ovdje konkretno vidim da za svaki language se JS skripte povlače sa te domene, iskreno se nadam da to ne znači da iza svake domene postoje iste skripte, multiplicirane negdje na serveru.

Ako skripte nisu multiplicirane, onda postoji način da se sve te domene zakače na jednu lokaciju na serveru. To je očito ključ problema. Ako je to rješeno, dalje je lagano…

Ja bi osobno sve js skripte vukao sa neke zajedničke domene…i taj dio opet nebi bio problem.

Ostaje server side, svakako ne želimo da na različitim lokacijama na serveru imamo iste skripte.

E sada, ako se mogu sve te domene usmjeriti na zajednički folder na serveru…onda je dalje lagano. Nemam pojma kako bi se to rješilo postavkama hosta/servera …ali pretpostavit ću da se može…i problem je rješen.

No ajmo pretpostaviti da se taj dio ne može rješiti na taj način postavkama servera, što preostaje?

Hmm, znači cilj je sve ulaze kroz različite domene dovesti do zajedničkog .php file-a…i response toga file prosljediti na client side. Nadam se da će i drugi reći na koliko načina se to može napraviti, a meni trenutno pada jedan koji sigurno nije najbolje rješenje -> curl.

Znači zajednički php mozak bi stavio na neku neovisnu lokaciju, a svaka domena prilikom otvaranja bi slala curl upit na taj zajednički mozak. Response toga curla bi prosljedio na client. Nekako mi se čini da je mana ovog rješenja u brzini izvođenja…sigurno postoji pametniji način za taj dio.

No kada dobiješ da sve domene se spajaju na zajednički php mozak, dalje je problem sveden na razinu bilo kojeg multi language pagea.

Da rezumiram. Cilj je napraviti da različite domene ulaze na isti folder na serveru. To su vjerovatno parked domene ako se ne varam…i nakon što to imaš, ostaje ti standard multilanguage problem.

Kazi mi kako gleda bot pretrazivaca kada prevedem sajt po ip adresi a standard je eng. Da li on vidi da je prevedeno po ip adresi i da li smeta?

Koliko ja znam, boot voli da iza svake verzije jezika postoji razlika u linku. Možeš ti prevesti prema ip adresi, ali na taj način da kada se odlučiš na neki jezik prema IP-u, da isporučiš tom korisniku verziju sajta toga jezika koja sa sobom nosi odgovarajući link.

Nemoj me strogo držati za riječ, moje shvaćanje problematike.

Da ali u mom slucaju ne nosi link, google bot ima ip iz usa tako da ce ga on videti kao eng verziju.

Ja osobno to radim na način da isporučujem stranicu kao
www.domena.com/hr/
www.domena.com/en/
…itd

e sada, ako posjetitelj otvara stranicu www.domena.com onda mu isporučujem jezik prema IP-u, ili ako imam zabilježeno da je u prošlosti ikada odabrao jezik…onda mu dajem zadnji jezik koji je birao.

Boot ako dodje, otvorit će englesku verziju zbog IP-a, ali gledam to na način ako se sheraju linkovi kao što su www.domena.com/hr/ , onda će boot u konačnici pregledati i hr verziju stranice. Također, na ovaj način možeš i putem konzole zadati bootu da pregleda stranicu na svim jezicima koje imaš.

To se da programski sredit. Napravis stranicu s poddomenama i onda poddomene redirektas, tj. resolvas kao neku drugu domenu. Drugu domenu mozes parkirat na host i preko cdn-a preusmjeris na IP od hosta.
Kod WP-a imas vec sve napravljeno. Vrijeme instalacije: ~10min

Da li se tada svaki page kad mu se promjeni jezik redirekta na isti page sa drugim jezikom? Da li mi mozemo kupovati druge nacionalne domene?

Nisam skužio kako programski resolvati domenu kao drugu domenu??

A što se tiče parkiranja domene na host, to sam se sjetio na kraju da su to “parked domene” koje otvaraju isti sadržaj.

Da WP ne dobije baš besplatnu reklamu, valja spomenuti da se parked domene isto tako postave za ~2min.

Ako misliš da li http://www.mojsmjestaj.hr/prijava će redirektati na http://www.myholidaysincroatia.com/login

Kao prvo, ova gore stranica tu ima bug, ako odeš na http://www.myholidaysincroatia.com/ i zatim klikneš na login, završit ćeš opet na hrvatskoj verziji stranice na lokaciji: http://www.mojsmjestaj.hr/prijava

Uglavnom, ti želiš iz http://www.mojsmjestaj.hr/prijava završiti na http://www.myholidaysincroatia.com/login

Kada bi se ovaj dio nakon slasha jednako zvao, stvar bi bila jednostavnija i dala bi se automatizirati. Ovako se bojim da mora postojati dodatna tablica koja će sadržavati popis svih linkova i nazive linkova na svim jezicima. …tada bi program pomoću te tablice znao da subpage “prijava” mora redirektati na subpage “login”

Inače sam primjetio da multilanguage u linkovima (ne naziv domena…nego to nakon slasha) izaziva prilično kompliciranja sa svime…pa me niti ne čudi da ovi već u startu tu imaju bug…

Na mojsmještaj.hr izgleda ipak ne radi to kako treba. Evo na apartmaniji je to sređeno kako bi trebalo.

http://www.apartmanija.hr/apartmani/malinska/apartmani-rona505/17524

http://www.direct-croatia.com/apartments/malinska/apartments-rona505/17524

Nije stvar parkiranih domena. Pricam o tome da je resolvanje poddomene kao druge domene vec napravljeno uWP-u. Ako ces to sam odradjivat, morat ces malo istrazivat. Ja to rabim u WP-u, pa se nisam zamarao s tim kako to radi.

Da, oni prevode cijelu link strukturu.

Siguran sam u jednu stvar, program ne može samostalno znati da ti želiš doći iz

http://www.apartmanija.hr/apartmani/malinska/apartmani-rona505/17524

u

http://www.direct-croatia.com/apartments/malinska/apartments-rona505/17524

bez da ne postoji negdje zabilježena veza apartmani=apartments …itd.

Da bi ovo bilo praktično raditi, korisnik koji održava stranicu mora imati panel u kojem će prilikom unosa novog linka moći definirati kako se taj link zove na kojem jeziku. WP vjerovatno to ima rješeno…

Nije to preteško za rješiti samostalno, ali to unosi dodatnih komplikacija koje su nevidljive na prvu…i onda iza čoška vrebaju neke zamke.

Uglavnom, ja bi krenuo putem da svaki link koji renderiraš na stranici da ga renderiraš kroz nekakvu funkciju. (To je ionako uvijek poželjno raditi zbog lakšeg seljenja i globalne kontrole nad linkovima). Za ovaj slučaj bi taj render gledao na kojem jeziku se isporučuje stranica i pomoću te tablice koristio ispravne nazive za kreiranje linka.

Slično bi išlo i obrnuto…kod otvaranja stranice, link bi se moralo prvo normalizirati u izvorne parametre koji bi kasnije služili za što već služe.

Ako imam
www.site.com/hr
www.site.com/de
www.site.com/si

Kako znati koju verziju posjecuje boot iz neke drzave?

Pa onu koju mu isporučiš.

Pitanje je valjda trebalo biti: “Kako znati koji jezik isporučiti boot-u” ??

Oko toga nisam siguran kako se pravilno reagira. Vjerovatno tako da se napravi sitemap koji će omogućiti bootovima da pregledaju web na svim jezicima…tj. po linkovima koji postoje na sitemapu.

Da to me zanima kako site prema jeziku isporuciti bootu po njegovom ip-u.

Npr imam
www.site.com
www.site.de

Po defaultu se na www.site.com otvara hrvatska verzija. Da li ce tada njemacki google losije rangirati site jer mu je defaultni hr jezik iako postoji njemacka verzija na www.site.com/de?
U mom se slucaju pokazalo da njemacki google znatno losije rangira site iako postoji njemacka verzija svakog pagea.

Primjetio sam ako ciljam na neku kljucnu rijec koja je ista na svim jezicima npr. Zagreb tada njemacki google prije rangira root site www.site.com nego njemacku verziju na www.site.com/de

Malo sam čiato i našao da se pomoću sitemap datoteke to može riješiti:

https://support.google.com/webmasters/answer/2620865

Kako vi rješavate indexiranje višejezične stranice?