Flere af siderne på mit websted vises i søgeresultater med [Translate this page] ved siden af. Når jeg klikker at det tager mig til Google Translate og oversætter min side “fra catalansk til engelsk”.

Siderne er på engelsk, men har et par fremmede ord (faktisk japanske romaniseringer, ikke catalansk), der ser ud til at falde Google op.

For et par uger siden satte jeg html-tagget til <html lang="en"> som fra forskning synes at være den bedste metode til at specificere sproget i et dokument. Google har cachelagret siderne med denne attribut, men den tilbyder stadig at oversætte.

Mere forskning førte mig til en “notranslate” -attribut, der forhindrer oversættelse fuldstændigt: <html lang="en" class="notranslate">. Problemet er nu, at brugere ikke kan oversætte fra engelsk til deres ønskede sprog!

Er der andre løsninger, der tvinger Google til at parse mit websted som kun engelsk?

Svar

Google gør nej Brug ikke sproglige metadata, da vi “har fundet ud af, at de generelt ikke er korrekte. Brug af HTTP-overskrifter, HTML-metatags eller lang-attributter på elementniveau har ingen indflydelse på Googles sproggenkendelse, så medmindre du vil gøre det til andre formål (f.eks. Skærmlæsere), kan du sandsynligvis springe over det.

En ting at huske på er, at Google ikke har noget problem med at genkende flere sprog pr. side. Så selvom vi skulle erkende, at en del af siden er at sige på italiensk (måske når du skriver om italienske hoteller) , og vi viser et link til “oversæt denne side” i søgeresultaterne, vil vi sandsynligvis stadig være i stand til at genkende, at det for det meste er på engelsk. En enkel måde at kontrollere det er at bruge de avancerede søgemuligheder til at vælge en bestemt sprog og lav et site: -forespørgsel til dit websted.

Kommentarer

  • Stor indsigt John, tak. Så du ' siger der ' er det ingen måde at stoppe Google med at vise [Translate this page]? Mine sider vises på engelsk kun avanceret søg. Mine hovedkoncerter n er brugere – visning af oversættelseslinket betyder, at hele siden er på et andet sprog. Personligt har jeg en tendens til at undgå disse links, når jeg ser dem. Der er også andre sider, der bruger de samme ord, som ikke ' ikke får oversættelseslinket …
  • At ' s korrekt – i øjeblikket er der ' ingen måde at gøre " Oversæt denne side " link forsvinder fra webmaster ' s side. Jeg ' vil dog give din feedback videre til holdet, måske er det ' noget, de kan overveje for fremtiden.
  • Tak @John. Hovedproblemet er, at Google mener, at siderne er på catalansk, når de ikke er det. Jeg ' er overrasket over, at Google ignorerer sprogmærket fuldstændigt – hvorfor ikke i det mindste bruge det som et tip?
  • Er der nogen opdatering om dette, som jeg har set folk her og der på internettet stiller det samme spørgsmål og i nogle tilfælde forårsager en uendelig løkke – superuser.com/questions/326938/…
  • Anekdotisk skal jeg tilføje, at jeg personligt har set dette (i Chrome til Windows), når jeg ' m i PHPMyAdmin hvor Google mener, at siden er på italiensk og tilbyder at oversætte. Det ' slog mig altid som bizart i betragtning af at jeg ' aldrig har lagt mærke til nogen ikke-engelske ord i PHPMyAdmin.

Svar

Du skal tilføje metatagget

<meta http-equiv="content-language" content="en" /> 

Du kan også sende Content-Language HTTP header fra serveren, hvis du har adgang til den.

Flere oplysninger på http://www.w3.org/International/questions/qa-http-and-lang

Kommentarer

  • Eller indstil headeren ved hjælp af Apache: Header sæt indholdssprog " da "
  • @John, yep. ( det var det, jeg mente, at han kan sende http-headeren fra serveren )
  • Hmm, vel antaget at bruge <html lang="en"> er bedre end det metatag, men jeg vil prøve det og se, hvad der sker 🙂
  • Jeg ' har haft det samme problem, og jeg ' har bekræftet, at dette fungerer for mig i Chrome 19 dev
  • <html lang=en> fikset det ikke for mig, men ' indholdssprog ' metatag gjorde.

Svar

brug denne meta til at springe Googles oversættelse over

<meta name="google" content="notranslate" /> 

Kommentarer

  • Dette blev faktisk sendt som et svar tidligere og derefter slettet af ejeren uden forklaring.@danlefree er der en grund til, at dette ikke er ' t gyldigt? Det vises stadig på en nyligt opdateret hjælpeside til Webmasterværktøjer.
  • @Su ' : ifølge google webmaster skal google translate springes over. og det fungerer for mit websted.
  • @krish ' t der gør det, jeg nævner i spørgsmålet, og forhindrer al oversættelse af brugere?
  • Dette kan være totalitært. Hvis brugerens ' sprog er anderledes end indholdssproget metatag, vil du sandsynligvis have en sprogoversættelse.
  • Hvis du højreklikker på websiden i krom, det giver dig stadig mulighed for at oversætte, selvom du har det metatag …

Svar

Du kan muligvis se på anmodningen Accept-Language header for dynamisk at tilføje / fjerne attributten class="notranslate", når sprogstrengen inkluderer en.

I henhold til Web Master World kan du anvende class="notranslate" kun til det indhold, det påvirker (dvs. “par fremmede ord”) og forhåbentlig undgå engelsk / engelsk oversættelsesfelt.

Kommentarer

  • Men hvis de ville oversætte fra engelsk til et andet sprog, ville det blive hentet af Google, ikke browseren, og sandsynligvis ville Google bruge " Engl ish " i accept-sprog-overskriften.
  • Google bruger normalt engelsk til google.com, google.co.uk osv. Hvad med crawleren til google.de osv.? Men uanset synes selektiv brug af klassen den bedste vej ud af dette.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *