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

  • Geweldig inzicht John, bedankt. Dus jij ' zegt daar ' is er geen manier om te voorkomen dat Google [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 …
  • Dat ' s correct – op dit moment is er ' s geen manier om de " Vertaal deze pagina " link verdwijnt van de kant van de webmaster '. Ik ' zal uw feedback echter doorgeven aan het team, misschien is dat ' iets dat ze voor de toekomst kunnen overwegen.
  • Bedankt @John. Het grootste probleem is dat Google gelooft dat de paginas in het Catalaans zijn, terwijl dat niet het geval is. Het verbaasde me ' dat Google de taalcode volledig negeert – waarom zou je deze in ieder geval niet als een hint gebruiken?
  • Is er een update hierover zoals ik heb gezien mensen die hier en daar op internet dezelfde vraag stellen en in sommige gevallen een oneindige lus veroorzaken – superuser.com/questions/326938/…
  • Anekdotisch moet ik hieraan toevoegen dat ik dit persoonlijk heb gezien (in Chrome voor Windows) toen ik ' m in PHPMyAdmin waar Google denkt dat de pagina in het Italiaans is en aanbiedt om te vertalen. Het ' s kwam me altijd als bizar voor, aangezien ik ' nooit enige niet-Engelse woorden heb opgemerkt in PHPMyAdmin.

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.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *