Как я могу предотвратить ошибочное предложение Google перевести страницу?


37

Несколько страниц моего сайта появляются в результатах поиска [Translate this page]рядом с ним. Когда я нажимаю, он переводит меня в Google Translate и переводит мою страницу «с каталонского на английский».

Страницы на английском, но содержат несколько иностранных слов (на самом деле это японская латиница, а не каталанский), которые, похоже, приводят в замешательство Google.

Несколько недель назад я установил тег html, <html lang="en">который, по мнению исследователей, является лучшим способом указать язык документа. Google кэшировал страницы с этим атрибутом, но все еще предлагает перевод.

Дополнительные исследования привели меня к атрибуту «notranslate» , который предотвращает перевод полностью: <html lang="en" class="notranslate">. Проблема в том, что пользователи не могут переводить с английского на нужный язык!

Существуют ли другие решения, которые заставляют Google анализировать мой сайт только на английском?

Ответы:


19

Google не использует языковые метаданные, поскольку мы обнаружили, что они, как правило, неверны. Использование заголовков HTTP, метатегов HTML или lang-атрибутов уровня элемента не влияет на распознавание языка Google, поэтому, если вы не хотите делать это для других целей (например, для чтения с экрана), вы, вероятно, можете пропустить это.

Следует помнить, что у Google нет проблем с распознаванием нескольких языков на странице. Поэтому, даже если мы признаем, что часть страницы написана на итальянском языке (возможно, когда вы пишете об итальянских отелях), и мы показываем ссылку «перевести эту страницу» в результатах поиска, мы, вероятно, все равно сможем распознать что это в основном на английском языке. Простой способ проверить это - использовать расширенные параметры поиска, чтобы выбрать определенный язык и создать сайт: - запрос для вашего сайта.


1
Отличное понимание, Джон, спасибо. То есть вы говорите, что нет способа остановить показ Google [Translate this page]? Мои страницы отображаются в расширенном поиске только на английском языке. Мое главное беспокойство - пользователи - показ ссылки на перевод подразумевает, что вся страница написана на другом языке. Лично я склонен избегать этих ссылок, когда вижу их. Есть и другие сайты, использующие те же слова, которые не получают ссылку на перевод ...
DisgruntledGoat

2
Это правильно - в настоящее время нет способа заставить ссылку «Перевести эту страницу» исчезнуть со стороны веб-мастера. Я передам ваши отзывы команде, хотя, возможно, это то, что они могут рассмотреть в будущем.
Джон Мюллер

2
Спасибо @Джон. Основная проблема заключается в том, что Google считает, что страницы на каталонском языке, когда они не. Я удивлен, что Google полностью игнорирует языковой тег - почему бы не использовать его как подсказку?
Рассерженная шлюха

1
Есть ли какое-то обновление по этому поводу, поскольку я видел людей, которые тут и там в Интернете задавали один и тот же вопрос, а в некоторых случаях вызывал бесконечный цикл - superuser.com/questions/326938/…
Coops

4
Кстати, я должен добавить, что я лично видел это (в Chrome для Windows), когда я нахожусь в PHPMyAdmin, где Google думает, что страница на итальянском и предлагает перевод. Это всегда казалось мне странным, учитывая, что я никогда не замечал никаких неанглийских слов в PHPMyAdmin.
хуза

13

используйте эту мету, чтобы пропустить перевод Google

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

2
Это было фактически представлено как ответ ранее, затем удалено владельцем без объяснения причин. @danlefree есть причина, по которой это не верно? Он по- прежнему отображается на недавно обновленной странице справки Инструментов для веб-мастеров.
Су '20

@Su ': по словам веб-мастера Google, переводчик Google должен быть пропущен. и его работы для моего сайта.
Криш

@ krish, разве это не делает то, что я упоминаю в вопросе, и запрещает перевод всех пользователей?
Рассерженная шлюха

Это может быть тоталитарным. Если язык пользователя отличается от метатега языка содержимого, вам, вероятно, понадобится языковой перевод.
Чови

Если вы щелкнете правой кнопкой мыши по веб-странице в Chrome, она все равно даст вам возможность перевести, даже если у вас есть этот метатег ...
NewBie1234

12

Вы должны добавить метатег

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

Вы также можете отправить HTTP-заголовок Content-Language с сервера, если у вас есть к нему доступ.

Более подробная информация на http://www.w3.org/International/questions/qa-http-and-lang


2
Или установить заголовок с помощью Apache: Header набор Content-Language "EN"
Джон Conde

@ Джон, да. ( именно это я и имел в виду, что он может отправлять http-заголовок с сервера )
Габриэле Петриоли

Хм, ну, якобы, <html lang="en">лучше использовать метатег, но я попробую и посмотрю, что произойдет :)
DisgruntledGoat

У меня была такая же проблема, и я проверил это работает для меня в Chrome 19 dev
Olly

<html lang=en>не исправил это для меня, но метатег 'content-language' сделал.
Чови

4

Возможно, вы сможете посмотреть Accept-Languageзаголовок запроса, чтобы динамически добавить / удалить class="notranslate"атрибут, если включена языковая строка en.

Согласно Web Master World, вы можете применять class="notranslate"только к контенту, на который он влияет (например, «пару иностранных слов»), и, надеюсь, избежать перевода с английского на английский.


Но если они захотят перевести с английского на другой язык, то это будет Google, а не браузер, и, вероятно, Google будет использовать «английский» в заголовке accept-language.
Lèse Majesté

Google обычно использует английский для google.com, google.co.uk и т. Д. Однако как насчет сканера google.de и т. Д.? Но независимо от того, выборочное использование класса кажется лучшим выходом из этого.
Metalshark
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.