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