Как я могу предотвратить ошибочное предложение 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.