Тег 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 больше не будет считать это важным.Stack Overflow сам использует этот метод-сделайте источник представления на этой странице, и вы увидите предупреждение "лучше всего работает с JavaScript" в конце HTML, которое появляется в верхней части страницы, когда вы выключаете JavaScript.
<noscript>не предназначен для бессмысленных предупреждений, таких как:
<noscript>
О, нет! У вас не включен JavaScript! Если вы не включите JS, вы обречены. [Длинное объяснение о том, как включить JS в каждом браузере, когда-либо сделанном]</noscript>Он предназначен для вас, чтобы предоставить как можно больше контента, наряду с вежливым упоминанием, что включение JS обеспечит доступ к некоторым дополнительным функциям. Вы обнаружите, что в основном каждый популярный сайт следует этому руководству.
Я не думаю, что использование
<noscript>- Хорошая идея. Я слышал, что он неэффективен, когда клиент находится за брандмауэром, блокирующим JavaScript, - если в браузере клиента включен JavaScript, тег<noscript>не активируется, потому что, насколько это касается браузера, JavaScript полностью работоспособен в документе...Лучший метод ИМО, чтобы иметь все потенциальные '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 или блокированный.
Если вы объедините это с чем-то вроде метода не-носкрипта, упомянутого 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, the безопасный путь
Comments