2009-06-14 17 views
48

Używam tagu noscript, aby wyświetlać ostrzeżenie, gdy użytkownicy mają wyłączoną obsługę JavaScript lub używają wtyczek blokujących skrypty, takich jak Noscript. Strona internetowa nie będzie działać poprawnie, jeśli JavaScript jest wyłączony, a użytkownicy mogą nie rozumieć, dlaczego nie działa bez ostrzeżenia.Znacznik Noscript, Wyłączone ostrzeżenie JavaScript i Google Penalty

Po ostatnim przetasowaniu algorytmu Google zaobserwowałem, że dzienny spadek natężenia ruchu do około 1/3 tego, co było w poprzednich miesiącach. Widziałem także strony, które w rankingu SERPS wypadły z rankingu nr 1 lub nr 2 z wyników. Po kilku badaniach w narzędziach dla webmasterów zauważyłem, że "JavaScript" jest wymieniony jako # 16 w sekcji słów kluczowych. Nie ma to sensu, ponieważ strona nie ma nic wspólnego z JavaScriptem i jedyne miejsce, w którym pojawia się to słowo, znajduje się w tekście między tagami noscript.

Wygląda na to, że Google włącza teraz i indeksuje zawartość między tagami noscript. Nie wierzę, że działo się to wcześniej. Ostrzeżenie składa się z trzech zdań. Wyobrażam sobie, że posiadanie tych samych trzech zdań pojawiających się na górze każdej strony w witrynie może mieć szkodliwy wpływ na SEO.

Czy uważasz, że to może być przyczyną problemu z SEO? Czy jest jakaś inna metoda ostrzegania użytkowników, którzy mają wyłączoną obsługę JavaScript w sposób, który nie zostanie zaindeksowany lub odczytany przez wyszukiwarki?

Odpowiedz

13

Ktoś na innym forum wspomniał o używaniu obrazu do ostrzeżenia. Tak jak ja to widzę, miałoby to trzy zalety:

  1. Nie byłoby żadnego znaczenia tekstu dla wyszukiwarki do indeksu.
  2. Kod wyświetlany pojedynczego obrazu jest mniej obszerny niż ostrzeżenie tekstowe (które jest ładowane na każdej stronie).
  3. Można zaimplementować śledzenie w celu ustalenia, ile razy obraz jest wywoływany, aby dać pojęcie, ilu użytkowników ma wyłączoną lub zablokowaną obsługę JavaScript.

Jeśli połączy się to z czymś podobnym do nienotowalnej techniki wspomnianej przez J-P, wydaje się, że jest to najlepsze możliwe rozwiązanie.

+13

Ponadto nie będzie żadnego tekstu, więc osoby niepełnosprawne z czytnikami ekranu nie będą mogły korzystać z witryny. -1. – user9876

+4

@ user9876, Nic 'alt' nie może naprawić. ("alt" został zaprojektowany do tego, nawet.Może jednak zostać zaindeksowany przez Google. – strager

23

<noscript> nie jest przeznaczona dla bezsensownych ostrzeżenia jak:

<noscript>
Och, nie! Nie masz włączonej obsługi JavaScript! Jeśli nie włączysz JS, jesteś skazany na zagładę. [Długie wyjaśnienie, jak włączyć obsługę JS w każdej przeglądarce kiedykolwiek dokonane]
</noscript>

To oznaczało, aby dostarczyć jak najwięcej treści, jak to możliwe, wraz z uprzejmym wspomnieć, że umożliwienie JS zapewni dostęp do niektórych dodatkowych cechy. Przekonasz się, że w zasadzie każda popularna strona jest zgodna z tą wytyczną.

20

Nie sądzę, że używanie <noscript> 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 zostanie aktywowany, ponieważ jeśli chodzi o przeglądarkę, JavaScript jest w pełni obsługiwany w dokumencie ...

Lepszą metodą IMO jest ukrywanie wszystkich potencjalnych treści "noscriptowych" przez JavaScript.

Oto bardzo prosty przykład:

... 
<body> 

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

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

I w swoim arkuszu stylów:

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

Więcej informacji:

+10

Wskazuje to na błąd projektowy w systemie "firewall", a nie problem z noscript. –

+0

Taka zapora prawdopodobnie blokowałaby wymagany skrypt * przed pobraniem *. Stąd, jeśli 'className + = 'js-enabled'' jest rzeczywiście częścią takiej zewnętrznej biblioteki, to powyższe może ujawnić znacznie więcej problemów niż'

41

Umieść zawartość <noscript> na koniec kodu HTML, a następnie użyć CSS, aby umieścić go w górnej części okna przeglądarki.Google nie będzie już uważał tego za ważne.

Stack Overflow sam używa tej techniki - wykonaj View Source na tej stronie, a zobaczysz ostrzeżenie "działa najlepiej z JavaScriptem" pod koniec HTML, które pojawia się u góry strony po wyłączeniu JavaScript.

+0

wstaw '

+0

@Amir: Przykładowy kod jest tutaj na tej stronie - StackOverflow sam używa tej techniki. Wyświetl tę stronę z wyłączoną obsługą JavaScript, a zobaczysz ją, a następnie użyj narzędzi programistycznych przeglądarki, aby sprawdzić kod HTML i CSS. Jeśli nadal nie możesz tego zrobić, powinieneś stworzyć minimalny JSFiddle, który demonstruje problem i zadać nowe pytanie. – RichieHindle

3

Po prostu chciałem opublikować interesującą ciekawostkę z tym związaną. W przypadku mojej witryny skończyłem robić coś podobnego do tego, z czego korzysta przepełnienie stosu, ale z dodatkiem linku "znajdź więcej", ponieważ moi użytkownicy nie są tak techniczni jak ta strona.

Ciekawe jest to, że po otrzymaniu porady od ludzi aboce, moje rozwiązanie porzuciło tag noscript, zamiast tego ukrywa wiadomość div z javascript. Ale znalazłem, że jeśli firefox czeka na swoje główne hasło, to ukrywanie wiadomości jest przerywane, więc myślę, że wrócę do noscript.

1

Jeśli wybierzesz rozwiązanie oparte na wymianie zawartości div (jeśli js jest włączona, wtedy zawartość div jest aktualizowany) zamiast używać tagu noscript, uważać o tym, jak Google wyświetleń tej praktyki:

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

Nie jestem pewien, czy Google uzna to za złudne, ale jest to coś, co należy rozważyć i dalej badać. Oto kolejny wpis dotyczący tego stackoverflow: noscript google snapshot, the safe way