Portál AbcLinuxu, 12. května 2025 07:45

Dotaz: domeny 3.radu pro jazykove verze

4.3.2009 11:05 Tomas C.
domeny 3.radu pro jazykove verze
Přečteno: 264×
Odpovědět | Admin
Dobry den, prosim o radu. Mam domenu 2.radu "neco.com" na ktere lze prepnout jazyk z vychozi anglictiny na cestinu, nemcinu, rustinu atd. pricemz se zmeni pouze metadata, title, nazvy tlacitek, odkazu, hlasek, napoved atd. Jinak samotny obsah webu bude stejny napr. v anglictine. Jenomze jsem narazil na problem, ze pro jednu URL adresu existuji v podstate ruzna metadata, nadpisy atd. kdyz si navstevnik zmeni jazyk stranky. Coz se nemusi libit vyhledavacum. Proto jsem se rozhodl zavest domeny 3.radu cs.neco.com, en.neco.com,de.neco.com... smeruji do "www slozky", kde mam na stejnem hostingu obsah domeny 2. radu neco.com. Budou (domeny 3.radu) mit tedy stejny obsah jako neco.com s tim rozdilem, ze kazda domena 3.radu ma podstrceny jiny jazykovy soubor (tedy jine metadata, title, nazvy tlacitek, odkazu, hlasek, napoved atd. napr. neco.com/komentare.php je stejne jako cs.neco.com/komentare.php jen jsou nadpisy atd. v cestine misto v anglictine). Tedy google bude pristupovat na vsechny domeny, pricemz neco.com uvidi v anglictine, cs.neco.com bude v cestine atd. Je to spravny postup?

Dale k presmerovani, pokud si uzivatel zvoli napr. na domene neco.com cesky jazyk pouzivam php funkci:

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://cs.neco.com");

header("Connection: close");

Je to spravne? Dekuju
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.3.2009 11:40 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze
Odpovědět | | Sbalit | Link | Blokovat | Admin

K čemu Connection: close? Jinak to přesměrovávání správně asi máte.

Jenom takový detail - anglická verze bude na en.neco.com, nebo na www.neco.com, nebo na neco.com? V tom by chtělo mít jasno. Jinak proč ne, fungovat to bude a mělo by to být i SEO. Jenom na těch stránkách korektně (čitelně pro stroj) uveďte, v jakém jsou jazyce - pomocí hlavičky Content-Language, pomocí atributu xml:lang nebo tak podobně.

Jinak nevím, jestli je abclinuxu.cz to správné místo na řešení věcí, které patří spíš nějak do diskuse na Interval nebo JakPsatWeb, popřípadě Webtrh :-)

4.3.2009 12:20 Tomas C.
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze
Mate pravdu, anglicka verze bude na www.neco.com. Hlavicka Content-Language je dobry napad, na to jsem zapomnel...
4.3.2009 11:46 Kroko | skóre: 22
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze
Odpovědět | | Sbalit | Link | Blokovat | Admin
A problem?

Jinak k tomu presmerovani, asi bych radeji pod odkaz s vlajeckou nebo zkratkou jazyka nebo co tam mate dal primo odkaz na cs(en,ru).domena.tld a presmerovani dal ciste jen na www.domena.tld kde by se presmerovavalo na vychozi jazyk.

Dale pak par postrehu:
- zkusit na vychozi strance pred presmerovanim zjistit jazyk prohlizece a podle toho nasmerovat pokud existuje nez nabizet vsem jeden vychozi,
- misto cz.domena.tld pouzit www.cz.domena.tld pripadne obe s presmerovanim z jedne na druhou
http://kroko.evesnight.net
4.3.2009 12:22 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze
- misto cz.domena.tld pouzit www.cz.domena.tld pripadne obe s presmerovanim z jedne na druhou

a to ma co za vyhodu?

never use rm after eight
4.3.2009 14:53 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze

Je tam to www, takže i největšímu webovému negramotovi dojde, že to jsou webové stránky.

Přesměrovávání z verze s/bez www. na tu správnou je dobrý postřeh. Mít funkční obě verze najednou je schizofrenní.

4.3.2009 12:24 Tomas C.
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze
Rozpoznavani jazyka prohlizece mam, podle toho se mu nastrci domeny 3.radu automaticky. Pokud neni nalezen jazyk prohlizece, nebo neni mezi definovanymi zkratkami, tak se zobrazi neco.com. Ano na odkazech s jazyky budou primo domeny 3. radu. Momentalne pouzivam neco.com, pokud nekdo zada www.neco.com presmeruji mu to pres mod-rewrite na to bez www. Co si myslite, ze je lepsi? S www (www.neco.com) nebo bez (neco.com)? Dekuju
4.3.2009 15:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: domeny 3.radu pro jazykove verze
Odpovědět | | Sbalit | Link | Blokovat | Admin
Existuje jeden "správný" přístup (podle standardů), který je zároveň celkem rozumný a logický -- a ten se nepoužívá. A pak existuje několik dalších možností, které se používají v praxi, a na kterých je vždy něco špatně.

V praxi tedy můžete mít jazyk jako součást domény, adresy za lomítkem, jako parametr, případně si jej můžete předávat jen skrze session nebo cookie. Poslední má tu nevýhodu, že nejde odkázat na konkrétní jazykovou verzi. Ostatní mají tu nevýhodu, že odkaz přímo v sobě nese informaci o jazyku, takže odkazy nelze snadno sdílet ve vícejazyčném prostředí. Pokud ale máte významová slova i v jiné části adresy, není to zas takový problém.

Správný přístup (podle standardů) je ten, že server vybere požadovanou jazykovou variantu na základě preferencí, které pošle prohlížeč. Pokud prohlížeč nepošle žádné preference nebo jim nelze vyhovět, pošle server odpověď "300 Multiple Choices". Ale nikdy jsem v praxi nezkoušel, zda to bude fungovat třeba s vyhledávači (tedy zda např. Google neposílá jazykové preference, a zda pro 300 projde všechny navržené odkazy). S tímhle přístupem pak máte pro jeden obsah jedno URL, a to se zobrazí v preferovaném jazyce. To je rozumná volba pro bezvýznamová URL, ale pro tzv. cool URL to nemá moc význam -- třeba odkaz na Wikipedii na heslo "kolo" v češtině se od odkazu na stejné heslo v angličtině neliší jen v jazyce, ale slovo "kolo" resp. "wheel" je součást URL.

Pokud vyhledávače posílají správně preference a správně pracují s kódem 300, a pokud má web URL, která nevytvářejí konflikty mezi jazyky (tj. nemůže se stát, že jedno a to samé URL znamená v každém jazyce jiný objekt), použil bych takovou strategii, že jeden obsah by byl přístupný pod URL všech jazyků (tj. třeba ecample.com/tree a example.com/strom by vedlo na jeden objekt), přičemž následně by se podle jazykových preferencí vyhodnotil jazyk, a pokud URL odpovídá jazyku, objekt by se rovnou zobrazil, pokud neodpovídá, poslalo by se permanentní přesměrování na správné URL v daném jazyce. Takže kdyby Čech předal Britovy svůj odkaz, Brita server automaticky přesměruje na anglickou verzi.

Ve všech případech výběru dle preference jazyka nastaveného v prohlížeči by měla být i možnost přepnout si web ručně do zvoleného jazyka (pak se to musí pamatovat v cookie nebo URL) -- občas má někdo jazykové preference nastavené špatně a neumí si to opravit.

Ve všech případech výběru jazyka podle preferencí uživatele (kdy tedy pod jednou URL může být fyzicky různý obsah) je potřeba posílat správné hlavičky pro cache, aby cache věděly, že obsah mohou poskytnout pouze v případě požadavku se stejnou preferencí jazyků. Docela by mne zajímalo, jak to cache vlastně doopravdy dělají, protože porovnat navzájem jazykové preference není úplně jednoduché.

Ve vašem příkladu se mi moc nezdá Connection: close, o to spojení by se měl starat server a ne skript. Server také asi bude kontrolovat verzi protokolu a nebude touhle hlavičkou odpovídat klientovi, který jí nerozumí.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.