Znacznik Noscript, wyłączenie JavaScript Ostrzeżenie i kara Google

Używam znacznika noscript, aby wyświetlić ostrzeżenie, gdy użytkownicy mają wyłączoną obsługę JavaScript lub używają wtyczek blokujących Skrypty, takich jak Noscript. Witryna nie będzie działać poprawnie, jeśli JavaScript jest wyłączony i użytkownicy mogą nie dowiedzieć się, dlaczego nie działa bez ostrzeżenia.

Po najnowszym algorytmie Google shuffle, widziałem dzienny spadek ruchu do około 1/3 tego, co było w poprzednich miesiącach. Widziałem również strony, które były w rankingu #1 lub # 2 w SERPs drop out wyników. Po przeprowadzeniu pewnych badań w Narzędziach dla webmasterów zauważyłem ,że" JavaScript " jest wymieniony jako #16 w sekcji słowa kluczowe. Nie ma to sensu, ponieważ witryna nie ma nic wspólnego z JavaScript, a jedyne miejsce, gdzie pojawia się słowo, znajduje się w tekście między znacznikami noscript.

Wygląda na to, że Google włącza i indeksuje zawartość między znacznikami noscript. Nie wierzę, że to się działo wcześniej. Ostrzeżenie to trzy zdania. Wyobrażam sobie, że mając te same trzy zdania pojawiające się na górze każdej strony w witrynie mogą mieć szkodliwy wpływ na SEO.

Myślisz, że to może powodować problem z SEO? A czy jest jakaś inna metoda, aby zapewnić ostrzeżenie dla użytkowników, którzy mają wyłączoną obsługę JavaScript w sposób, który nie będzie indeksowany lub czytany przez wyszukiwarki?

Author: undoIT, 2009-06-14

6 answers

Umieść zawartość <noscript> Na końcu twojego HTML, a następnie użyj CSS, aby umieścić ją na górze okna przeglądarki. Google nie będzie już uważać tego za ważne.

Sam Stack Overflow używa tej techniki - zrób źródło widoku na tej stronie, a zobaczysz ostrzeżenie "działa najlepiej z JavaScript" na końcu HTML, które pojawia się na górze strony po wyłączeniu JavaScript.

 41
Author: RichieHindle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 17:37:58

<noscript> nie jest przeznaczony do bezsensownych ostrzeżeń typu:

<noscript>
O nie! Nie masz włączonej obsługi JavaScript! Jeśli nie włączysz JS, jesteś stracony. [Długie wyjaśnienie jak włączyć JS w każdej przeglądarce]
</noscript>

Ma na celu dostarczenie jak największej ilości treści, wraz z uprzejmą wzmianką, że włączenie JS zapewni dostęp do niektórych dodatkowych funkcji. Przekonasz się, że w zasadzie każda popularna strona przestrzega tych wytycznych.

 23
Author: Matthew Flaschen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-06 15:06:33

Nie sądzę, że używanie {[2] } jest dobrym pomysłem. Słyszałem, że jest to nieskuteczne, gdy klient znajduje się za zaporą blokującą JavaScript - jeśli przeglądarka klienta ma włączoną obsługę JavaScript, znacznik <noscript> nie aktywuje się, ponieważ, jeśli chodzi o przeglądarkę, JavaScript jest w pełni operacyjny w dokumencie...

Lepszą metodą IMO jest ukrywanie wszystkich niedoszłych treści "noscript" przez JavaScript.

Oto bardzo podstawowy przykład:

...
<body>

    <script>
        document.body.className += ' js-enabled';
    </script>

    <div id="noscript">
        Welcome... here's some content...
    </div>

I w Twoim StyleSheet:

body.js-enabled #noscript { display: none; }

Więcej informacji:

 20
Author: James,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-24 22:46:37

Ktoś na innym forum wspomniał o używaniu obrazka do ostrzeżenia. Z tego co widzę to miałoby to trzy zalety:

  1. nie byłoby żadnego nieistotnego tekstu dla wyszukiwarek do indeksowania.
  2. kod wyświetlający pojedynczy obraz jest mniej obszerny niż Ostrzeżenie tekstowe (które jest ładowane na każdej stronie).
  3. śledzenie może być zaimplementowane w celu określenia, ile razy obraz jest wywoływany, aby dać wyobrażenie o tym, ilu odwiedzających ma wyłączoną obsługę JavaScript lub zablokowane.

Jeśli połączysz to z czymś w rodzaju techniki non-noscript wymienionej przez J-P, wydaje się to być najlepszym możliwym rozwiązaniem.

 13
Author: undoIT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-19 23:08:25

Chciałem tylko zamieścić ciekawą ciekawostkę związaną z tym. W przypadku mojej strony zrobiłem coś podobnego do tego, czego używa stack overflow, ale z dodatkiem linku "dowiedz się więcej", ponieważ moi użytkownicy nie są tak techniczni, jak ta strona.

Interesujące jest to, że zgodnie z radami ludzi aboce, moje rozwiązanie porzuciło znacznik noscript, zamiast tego decydując się na ukrycie wiadomości divs za pomocą javascript. Ale okazało się, że jeśli firefox czeka na swoje hasło główne, to ukrywanie wiadomość jest przeplatana, więc myślę, że wrócę do noscript.

 3
Author: James P McGrath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-03 03:10:06

Jeśli wybierzesz rozwiązanie oparte na zastąpieniu zawartości div (jeśli JS jest włączony, zawartość div zostanie zaktualizowana), zamiast używać znacznika noscript, uważaj o tym, jak google postrzega tę praktykę:

Http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66353

Nie jestem pewien, czy google uzna to za zwodnicze, ale jest to coś, co należy rozważyć i zbadać dalej. Oto kolejny post stackoverflow na ten temat: noscript Google snapshot, the bezpieczny sposób

 1
Author: prograhammer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:25:39