Jak mogę zapobiec błędnemu zaoferowaniu przez Google tłumaczenia strony?

37

Kilka stron mojej witryny pojawia się w wynikach wyszukiwania [Translate this page]obok. Po kliknięciu przekierowuje mnie do Tłumacza Google i tłumaczy moją stronę „z katalońskiego na angielski”.

Strony są w języku angielskim, ale zawierają kilka obcych słów (w rzeczywistości japońskie romanizacje, a nie kataloński), które zdają się wprawiać Google w osłupienie.

Kilka tygodni temu ustawiłem znacznik html, do <html lang="en">którego z badań wydaje się najlepsza metoda określania języka dokumentu. Google buforuje strony z tym atrybutem, ale nadal oferuje tłumaczenie.

Więcej badania doprowadziły mnie do „notranslate” atrybutu, który zapobiega całkowicie tłumaczenie: <html lang="en" class="notranslate">. Problem polega na tym, że użytkownicy nie mogą tłumaczyć z języka angielskiego na wybrany język!

Czy istnieją inne rozwiązania, które zmuszają Google do parsowania mojej witryny tylko w języku angielskim?

DisgruntledGoat
źródło

Odpowiedzi:

19

Google nie używa metadanych językowych, ponieważ stwierdziliśmy, że są one ogólnie niepoprawne. Używanie nagłówków HTTP, metatagów HTML lub atrybutów językowych na poziomie elementu nie ma wpływu na rozpoznawanie języka Google, więc chyba, że ​​chcesz to zrobić do innych celów (np. Czytników ekranu), prawdopodobnie możesz to pominąć.

Należy pamiętać, że Google nie ma problemu z rozpoznaniem wielu języków na stronie. Więc nawet jeśli uznamy, że część strony jest napisana po włosku (być może, gdy piszesz o włoskich hotelach), a my w wynikach wyszukiwania wyświetlamy link „przetłumacz tę stronę”, prawdopodobnie nadal będziemy w stanie rozpoznać że to głównie po angielsku. Prostym sposobem na sprawdzenie tego jest skorzystanie z zaawansowanych opcji wyszukiwania w celu wybrania określonego języka i wykonania witryny: - zapytanie o witrynę.

John Mueller
źródło
1
Świetny wgląd John, dzięki. Mówisz, że nie ma sposobu, aby zatrzymać wyświetlanie Google [Translate this page]? Moje strony pojawiają się w wyszukiwaniu zaawansowanym tylko w języku angielskim. Moją główną troską są użytkownicy - wyświetlenie linku do tłumaczenia oznacza, że ​​cała strona jest w innym języku. Osobiście staram się unikać tych linków, kiedy je widzę. Istnieją również inne strony używające tych samych słów, które nie otrzymują linku do tłumaczenia ...
DisgruntledGoat
2
Zgadza się - w tej chwili nie ma sposobu, aby link „Przetłumacz tę stronę” zniknął ze strony webmastera. Przekażę jednak twoją opinię zespołowi, może to coś, co mogą rozważyć w przyszłości.
John Mueller,
2
Dzięki @John. Główny problem polega na tym, że Google uważa, że ​​strony są w języku katalońskim, a nie są. Dziwi mnie, że Google całkowicie ignoruje tag języka - dlaczego by nie użyć go jako podpowiedzi?
DisgruntledGoat
1
Czy jest jakaś aktualizacja, ponieważ widziałem ludzi tu i tam w Internecie zadających to samo pytanie, aw niektórych przypadkach powodujących niekończącą się pętlę - superuser.com/questions/326938/...
Coops
4
Anegdotycznie muszę dodać, że osobiście to widziałem (w Chrome dla Windows), gdy jestem w PHPMyAdmin, gdzie Google uważa, że ​​strona jest w języku włoskim i oferuje tłumaczenie. Zawsze wydawało mi się to dziwne, biorąc pod uwagę, że nigdy nie zauważyłem żadnych nieangielskich słów w PHPMyAdmin.
huzzah
13

użyj tej meta, aby pominąć tłumaczenie Google

<meta name="google" content="notranslate" />
Krish
źródło
2
Zostało to wcześniej przesłane jako odpowiedź, a następnie usunięte przez właściciela bez wyjaśnienia. @danlefree czy istnieje powód, dla którego nie jest prawidłowy? To nadal pojawia się na niedawno zaktualizowanej stronie Webmaster Tools pomocy.
Su
@Su ': według webmastera Google tłumacz google powinien zostać pominięty. i działa na mojej stronie.
Krish,
@krish, czy to nie robi tego, o czym wspomniałem w pytaniu i nie uniemożliwia tłumaczenia wszystkich użytkowników?
DisgruntledGoat
To może być totalitarne. Jeśli język użytkownika jest inny niż metatag content-language, prawdopodobnie chciałbyś tłumaczenia języka.
chovy
Jeśli klikniesz prawym przyciskiem myszy stronę internetową w chromie, nadal możesz ją tłumaczyć, nawet jeśli masz ten metatag ...
NewBie1234
12

Powinieneś dodać metatag

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

Możesz również wysłać nagłówek HTTP Content-Language z serwera, jeśli masz do niego dostęp.

Więcej informacji na http://www.w3.org/International/questions/qa-http-and-lang

Gabriele Petrioli
źródło
2
Lub ustaw nagłówek za pomocą Apache: Header set content-language "en"
John Conde
@John, tak. ( to właśnie
miałem na
Hmm, podobno użycie <html lang="en">jest lepsze niż ten metatag, ale spróbuję i zobaczę, co się stanie :)
DisgruntledGoat
Miałem ten sam problem i sprawdziłem, czy działa dla mnie w Chrome 19 dev
Olly
<html lang=en>nie naprawiłem tego, ale zrobił to metatag „content-language”.
chovy
4

Możesz spojrzeć na Accept-Languagenagłówek żądania, aby dynamicznie dodawać / usuwać class="notranslate"atrybut, gdy zawiera ciąg języka en.

Według Web Master World możesz aplikować class="notranslate"tylko na treść, na którą wpływa (tj. „Kilka obcych słów”) i, mam nadzieję, uniknąć pola tłumaczenia na angielski / angielski.

Metalshark
źródło
Gdyby jednak chcieli tłumaczyć z angielskiego na inny język, byłby pobrany przez Google, a nie przez przeglądarkę, i prawdopodobnie Google użyłby „angielskiego” w nagłówku akceptowanego języka.
Lèse majesté
Google zwykle używa języka angielskiego dla google.com, google.co.uk itp., Ale co z robotem indeksującym dla google.de itp.? Ale niezależnie od tego wybiórcze wykorzystanie klasy wydaje się najlepszym wyjściem z tego.
Metalshark,