Тег Noscript, предупреждение об отключении JavaScript и штраф Google
Я использовал тег noscript, чтобы показать предупреждение, когда пользователи отключили JavaScript или используют плагины блокировки скриптов, такие как Noscript. Веб-сайт не будет функционировать должным образом, если JavaScript отключен, и пользователи могут не понять, почему он не работает без предупреждения.
после последнего алгоритма Google shuffle я видел, что ежедневный трафик упал примерно до 1/3 от того, что было в предыдущие месяцы. Я также видел страницы, которые были ранжированы #1 или #2 в SERPS выпадают из результатов. После некоторых исследований в инструментах веб-мастера я заметил, что" JavaScript " указан как #16 в разделе ключевых слов. Это не имеет смысла, потому что сайт не имеет ничего общего с JavaScript, и единственное место, где появляется слово, находится в тексте между тегами noscript.
похоже, что Google теперь включает и индексирует контент между тегами noscript. Я не верю, что это происходило раньше. Предупреждение состоит из трех предложений. Представляю. то, что те же три предложения, появляющиеся в верхней части каждой страницы на сайте, могут иметь разрушительное влияние на SEO.
Как вы думаете, это может вызвать проблему с SEO? И есть ли другой способ предоставить предупреждение пользователям, у которых отключен JavaScript таким образом, что он не будет индексироваться или считываться поисковыми системами?
6 ответов
поставить <noscript>
контент конец вашего HTML, а затем используйте CSS, чтобы разместить его в верхней части окна браузера. Google больше не будет важно.
переполнение стека само использует этот метод-сделайте источник представления на этой странице, и вы увидите предупреждение "лучше всего работает с JavaScript" в конце HTML, которое появляется в верхней части страницы при выключении JavaScript.
<noscript>
не предназначен для бессмысленных предупреждений типа:
<noscript>
О, нет! У вас нет JavaScript включен! Если вы не включите JS, вы обречены. [Длинное объяснение о том, как включить JavaScript в каждом браузере, когда-либо сделанных]</noscript>
Он предназначен для вас, чтобы обеспечить столько контента, сколько вы можете, наряду с вежливым упоминанием, что включение JS обеспечит доступ к определенным дополнительным функциям. Вы найдете, что фактически все популярные сайт следует этому руководству.
Я не думаю, что с помощью <noscript>
хорошая идея. Я слышал, что он неэффективен, когда клиент находится за брандмауэром, блокирующим JavaScript, - если в браузере клиента включен JavaScript <noscript>
тег не активируется, потому что, насколько это касается браузера, JavaScript полностью работоспособен в документе...
лучший метод IMO-это иметь все возможное содержимое "noscript", скрытое JavaScript.
вот очень простой пример:
...
<body>
<script>
document.body.className += ' js-enabled';
</script>
<div id="noscript">
Welcome... here's some content...
</div>
и в вашей таблице стилей:
body.js-enabled #noscript { display: none; }
Подробнее:
кто-то на другом форуме упомянул использование изображения для предупреждения. Как я вижу, это будет иметь три преимущества:
- не было бы никакого неуместного текста для индексирования поисковых систем.
- код для отображения одного изображения менее громоздкий, чем текстовое предупреждение (которое загружается на каждой странице).
- отслеживание может быть реализовано, чтобы определить, сколько раз вызывается изображение, чтобы дать представление о том, сколько посетителей отключили JavaScript или заблокирован.
Если вы объедините это с чем-то вроде метода non-noscript, упомянутого J-P, это, по-видимому, лучшее возможное решение.
просто хотел опубликовать интересный лакомый кусочек, связанный с этим. Для моего сайта я в конечном итоге сделал что-то похожее на то, что использует Stack overflow, но с добавлением ссылки "узнайте больше", поскольку мои пользователи не такие технические, как этот сайт.
интересная часть заключается в том, что, следуя совету людей, мое решение выбросило тег noscript, вместо этого решив скрыть сообщения divs с помощью javascript. Но я обнаружил, что если firefox ждет своего мастер-пароля, это сокрытие сообщения прерывается, поэтому я думаю, что вернусь к noscript.
Если вы выбираете решение, основанное на замене содержимого div (если JS включен, то содержимое div обновляется), а не с помощью тега noscript,будьте осторожны о том, как google рассматривает эту практику:
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66353
Я не уверен, что google будет считать это обманчивым, но это то, что нужно рассмотреть и исследовать дальше. Вот еще один пост stackoverflow об этом: NoScript Google snapshot, безопасный способ