Verschillende van mijn sitepaginas worden weergegeven in zoekresultaten met [Translate this page]
ernaast. Wanneer ik klik dat het me naar Google Translate brengt en mijn pagina van Catalaans naar Engels vertaalt.
De paginas zijn in het Engels, maar bevatten een paar vreemde woorden (eigenlijk Japanse romanisaties, niet Catalaans) die lijken te struikelen Google up.
Een paar weken geleden heb ik de html-tag ingesteld op <html lang="en">
, wat uit onderzoek de beste methode blijkt te zijn om de taal van een document te specificeren. Google heeft de paginas met dit attribuut in de cache opgeslagen, maar het biedt nog steeds aan om te vertalen.
Meer onderzoek leidde me naar een “notranslate” -attribuut dat de vertaling volledig verhindert: <html lang="en" class="notranslate">
. Het probleem is nu dat gebruikers niet vanuit het Engels naar hun gewenste taal kunnen vertalen!
Zijn er andere oplossingen die Google dwingen mijn site alleen als Engels te parseren?
Antwoord
Google doet nee t gebruik van taal meta-data omdat we hebben geconstateerd dat het over het algemeen onjuist is. Het gebruik van HTTP-headers, HTML-metatags of lang-attributen op elementniveau heeft geen invloed op de taalherkenning van Google, dus tenzij je dat voor andere doeleinden wilt doen (bijvoorbeeld schermlezers), kun je dat waarschijnlijk overslaan.
Een ding om in gedachten te houden is dat Google geen probleem heeft met het herkennen van meerdere talen per pagina. Dus zelfs als we zouden erkennen dat een deel van de pagina in het Italiaans is gezegd (misschien als je schrijft over Italiaanse hotels) , en we laten een link vertaal deze pagina zien in de zoekresultaten, kunnen we waarschijnlijk nog steeds herkennen dat het voornamelijk in het Engels is. Een eenvoudige manier om dat te controleren is door de geavanceerde zoekopties te gebruiken om een specifieke taal en doe een site: -query voor uw site.
Reacties
Answer
Je moet de metatag toevoegen
<meta http-equiv="content-language" content="en" />
Je kunt ook de Content-Language HTTP-header vanaf de server verzenden als je er toegang toe hebt.
Meer informatie op http://www.w3.org/International/questions/qa-http-and-lang
Reacties
- Of stel de header in met Apache: Header set content-language " en "
- @John, ja. ( dat is wat ik bedoelde dat hij de http-header van de server kan verzenden )
- Hmm, het zou beter zijn om
<html lang="en">
te gebruiken dan die metatag, maar ik zal het proberen en kijken wat er gebeurt 🙂 - Ik ' heb hetzelfde probleem gehad en ik ' We hebben geverifieerd dat dit voor mij werkt in Chrome 19 dev
-
<html lang=en>
heeft het niet voor mij opgelost, maar de ' content-language ' metatag deed het.
Antwoord
gebruik deze meta om de Google-vertaling over te slaan
<meta name="google" content="notranslate" />
Reacties
- Dit is eerder als antwoord ingediend en vervolgens zonder uitleg door de eigenaar verwijderd.@danlefree is er een reden waarom dit niet ' t geldig is? Het wordt nog steeds weergegeven op een onlangs bijgewerkte Help-pagina van Webmasterhulpprogrammas.
- @Su ' : volgens de google webmaster moet de google translate worden overgeslagen. en zijn werken voor mijn site.
- @krish doet ' niet wat ik in de vraag vermeld en verhindert alle vertalingen door gebruikers?
- Dit kan totalitair zijn. Als de taal van de gebruiker ' anders is dan de metatag in de inhoudstaal, wilt u waarschijnlijk een taalvertaling.
- Als u met de rechtermuisknop op de webpagina in chrome, het geeft je nog steeds de mogelijkheid om te vertalen, zelfs als je die metatag hebt …
Answer
U kunt mogelijk de request Accept-Language
header bekijken om dynamisch het class="notranslate"
-attribuut toe te voegen / te verwijderen wanneer de taaltekenreeks en
.
Volgens Web Master World kunt u class="notranslate"
naar alleen de inhoud die het beïnvloedt (dwz de “paar vreemde woorden”) en hopelijk het Engels / Engelse vertaalvak vermijden.
Opmerkingen
- Maar als ze vanuit het Engels naar een andere taal wilden vertalen, dan zou het worden opgehaald door Google, niet door de browser, en waarschijnlijk zou Google " Engl gebruiken ish " in de accept-taal-header.
- Google gebruikt meestal Engels voor google.com, google.co.uk, enz. Maar hoe zit het met de crawler voor google.de, enz.? Maar hoe dan ook, selectief gebruik van de klas lijkt hier de beste uitweg.
[Translate this page]
weergeeft? Mijn paginas verschijnen wel in het Engels, alleen voor geavanceerd zoeken Mijn belangrijkste concer n zijn gebruikers – het tonen van de vertalingslink impliceert dat de hele pagina in een andere taal is. Persoonlijk heb ik de neiging om die links te vermijden als ik ze zie. Er zijn ook andere sites die dezelfde woorden gebruiken die ' de vertalingslink niet krijgen …