Тег Noscript, предупреждение об отключенном JavaScript и штраф Google



Я использую тег noscript, чтобы показывать предупреждение, когда пользователи отключили JavaScript или используют плагины блокировки скриптов, такие как Noscript. Веб-сайт не будет функционировать должным образом, если JavaScript отключен, и пользователи не могут понять, почему он не работает без предупреждения.



После последнего алгоритма Google shuffle я увидел, что ежедневный трафик упал примерно до 1/3 от того, что было в предыдущие месяцы. Я также видел страницы, которые были ранжированы #1 или #2 в SERPS выпадают о результатах. После некоторых исследований в инструментах веб-мастеров я заметил, что "JavaScript" указан как #16 в разделе ключевых слов. Это не имеет смысла, потому что сайт не имеет ничего общего с JavaScript, и единственное место, где появляется слово, - это текст между тегами noscript.



Похоже, что Google теперь включает и индексирует контент между тегами noscript. Я не верю, что это происходило раньше. Предупреждение состоит из трех предложений. Я бы предположил, что имея те же три предложения, появляющиеся в верхней части каждой отдельной страницы на сайте, могут иметь разрушительный эффект для SEO.



Как вы думаете, это может вызвать проблемы с SEO? И, есть ли какой-либо другой метод для предоставления предупреждения пользователям, которые отключили JavaScript таким образом, что не будут индексироваться или читаться поисковыми системами?

673   6  

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; }

Дополнительная информация:

Кто-то на другом форуме упомянул об использовании изображения для предупреждения. На мой взгляд, это имело бы три преимущества:

  1. не было бы никакого нерелевантного текста для индексирования поисковыми системами.
  2. Код для отображения одного изображения менее громоздкий, чем текстовое предупреждение (которое загружается на каждой странице).
  3. отслеживание может быть реализовано, чтобы определить, сколько раз вызывается изображение, чтобы дать представление о том, сколько посетителей отключили 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

    Ничего не найдено.