Website: Talen, locales, URL's en zoekmachines

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • SvMp
  • Registratie: September 2000
  • Niet online
Ik ben bezig met een website met de nodige taal-instellingen. Het lukt mij maar niet om een goed plan te maken rond talen, locales en URL's, dat zowel goed is voor de gebruiker als voor de zoekmachines.

Locales zijn erg belangrijk. Er is altijd een bepaalde locale actief. Getallen, datums, etc.. worden er op aangepast, maar ook plaatsnamen. Een Duitstalige lokale zal voor de Poolse stad Szczecin bijvoorbeeld 'Stettin' laten zien (Duitse vertaling), een Poolse lokale Szczecin. Een Nederlandse locale ook Szczecin omdat er geen Nederlandse vertaling is. Voor de duidelijkheid: Locale bestaat uit land + taal, volgens de standaard notatie.

Daarnaast is er de taal van de user-interface. Die is er tot nu toe alleen in het Nederlands, Engels, Duits en Frans. De Poolse locale zal dus een andere taal voor de user-interface moeten gebruiken Dat geldt voor vele locales. De locale fr_BE kan gewoon Frans gebruiken, nl_NL of nl_BE Nederlands, etc..

Er zijn dus twee instellingen: Locale en user-inface taal. Als de user-interface taal niet is ingesteld, wordt een passende taal bij de locale gezocht.

Hoe verwerk ik dat in URLs?

Ik kan URLs bouwen in de vorm: website.xyz/locale/ui_taal/content/123
Wisselen van locale en ui-taal betekent simpelweg het wisselen van URL. Als er in de URL niets wordt meegegeven (website.xyz/content/123) vindt autodetectie plaats + een redirect.

Gevolg is echter dat je heel veel URLs krijgt met inhoud die op elkaar lijkt.
website.xyz/pl_PL/en/content/123 en website.xyz/cz_CZ/en/content/123 zullen ontzettend op elkaar lijken, omdat er wellicht enkel een datum op een iets andere manier wordt geschreven. Volgens mij vindt Google dat niet leuk.

Ik heb het liefst dat in Google websites alleen worden gevonden in de vorm website.xys/ui_taal/content/123.
Een locale kan dan ingesteld worden door gebruikers die daar behoefte aan hebben, en deze wordt in een cookie gezet. In de URL zie je er dan niets van terug. Ik wil ook niet dat al die specifieke locales worden gevonden in zoekmachines, de 4 user-interface talen met standaard locale instellingen zijn genoeg.

Ook dit heeft nadelen: Stel dat ik de locale automatisch detecteer, dan is het gedrag naar zoekmachine bots onvoorspelbaar. Ik kan dit voorkomen door standaard geen locale-instellingen te gebruiken. Een gebruiker zal dit zelf moeten instellen, en die pagina kan ik afschermen van de zoekmachines. Maar dat vind ik weer omslachtig: Ik wil dat een Poolse bezoeker gelijk de locale pl_PL(en) krijgt, een Zwitser met een Franstalige browser fr_CH, etc.. En niet slechts en en fr zonder locale settings. Technisch werkt het allemaal prima. Maar hoe verwerk ik zo in de URLs en/of cookies zodat het én gebruikersvriendelijk is en zoekmachine vriendelijk is?

Acties:
  • 0 Henk 'm!

  • ieperlingetje
  • Registratie: September 2007
  • Niet online
Waarschijnlijk heb je hier iets aan: http://support.google.com...er.py?hl=en&answer=182192

Voor de dubbele content in verschillende talen, kun je binnen je html verwijzen naar dezelfde content in de andere taal.

stel je hebt nederlands en engels op je site
op je site nl.example.com plaats je
code:
1
<link rel="alternate" hreflang="en" href="http://en.example.com" />


Bij het crawlen van je pagina houdt google hier rekening mee, waardoor de content niet als duplicate wordt bestempeld.

[ Voor 16% gewijzigd door ieperlingetje op 28-01-2012 18:47 ]

Tijdmachine | Nieuws trends


Acties:
  • 0 Henk 'm!

Verwijderd

k wil dat een Poolse bezoeker gelijk de locale pl_PL(en) krijgt, een Zwitser met een Franstalige browser fr_CH,
Een bezoeker die niet via een bepaalde link op de site is terechtgekomen kun je redirecten. Als ze wél via een bepaalde link op een pagina zijn gekomen, dan willen ze die pagina en niet per se de pagina in de eigen taal. Besef dat altijd. Het is irritant als iemand iets zoekt via Google, op een link klikt, op de site komt en... de tekst niet kan vinden.