Googlebot potrafi czytać JavaScript – jak powinni reagować SEO?
Opublikowany: 2017-12-11Tradycyjnie wyszukiwarki tylko odczytywały i renderowały kod HTML strony internetowej. Oznaczało to, że optymalizacja kodu HTML była tym, na czym musieli się skupić SEO. Co to oznacza dla optymalizacji pod kątem wyszukiwarek, jeśli Googlebot jest teraz w stanie przeszukiwać i indeksować JavaScript? Poprosiliśmy o to kilku ekspertów z branży.

Googlebot i JavaScript: co mówią eksperci
Aby poznać różne perspektywy na temat Googlebota i JavaScriptu, zadaliśmy naszym ekspertom następujące pytania:
- Google twierdzi, że Googlebot może indeksować strony internetowe oparte na JavaScript – jakie wyzwania i możliwości widzisz dla SEO?
- Jakie konkretne aspekty powinien wziąć pod uwagę ktoś, kto planuje ponowne uruchomienie witryny JavaScript?
- Jakich zmian pod względem wydajności i dokładności spodziewasz się po aktualizacji renderowania stron internetowych w Chrome?
I oto nadchodzą odpowiedzi.
Martina Taubera
Partner Zarządzający, Marketing Factory GmbH
Strony internetowe oparte na JavaScript oferują ogromne możliwości pod względem doświadczenia użytkownika, ponieważ są szybsze i bardziej interaktywne w użyciu.
Jednak Googlebot nadal ma trudności z interpretacją JavaScriptu, co oznacza, że programowanie musi być wyjątkowo czyste i musi być zakorzenione w ścisłej współpracy z działem SEO, jeśli ma uniknąć przykrych niespodzianek.
Dominik Wójcik
Dyrektor Zarządzający, Agenci Powiernictwa
Istnieją możliwości w tym, że teraz nie masz dwóch oddzielnych światów programowania (np. dla fragmentów z uciekinierami), co pozwala skupić się na czystym kodzie i czystym środowisku sieciowym. Dopóki programiści rozważają stopniowe ulepszanie i odpowiednio rozwijają swoje aplikacje internetowe, Google powinien sobie radzić dobrze.
Istnieją jednak ukryte wyzwania. Który framework jest używany? Czy będzie renderowanie po stronie klienta, czy możliwe jest zaimplementowanie renderowania po stronie serwera? Czy można w ogóle zaimplementować izomorficzny JavaScript? Czy JavaScript jest zaimplementowany wewnętrznie czy zewnętrznie? Jako SEO będziemy musieli przeprowadzić niesamowitą ilość testów i wypróbować różne rzeczy, aby upewnić się, że Google indeksuje i waży nasze strony tak, jak sobie tego życzymy.
Przed ponownym uruchomieniem należy podjąć ostrożną decyzję dotyczącą ram, które mają zostać użyte. Należy wziąć pod uwagę zarówno indeksowanie, jak i wydajność. Najlepiej byłoby stworzyć środowisko testowe, które umożliwi testowanie bieżącego rozwoju z zewnątrz, jeśli jest używany renderowanie po stronie klienta. To powiedziawszy, gorąco polecam również korzystanie z renderowania po stronie serwera. Ma to wpływ na wydajność serwera, ale powinno zminimalizować ryzyko. Przede wszystkim naprawdę musisz testować, testować i testować, używając funkcji pobierania i renderowania, aby zobaczyć, co Googlebot znajduje, indeksuje i indeksuje.
Jeśli Google w końcu przełączy się na wersję Chrome wyższą niż V49, możemy użyć bezgłowego Chrome w połączeniu z czymś takim jak Rendertron, aby stworzyć środowiska testowe, które pozwolą nam symulować konfigurację podobną do tej z Googlebota. Pomogłoby nam to lepiej zrozumieć, jak i co Google może interpretować. To znacznie ułatwiłoby nam pracę SEO
Bartosz Góralwicz
Współzałożyciel i szef SEO, Elephate
Podczas szczytu Searchmetrics w listopadzie 2017 r. Bartosz Goralwicz z Elephate mówił o relacji między Googlebotem a JavaScriptem:
Stephan Czysch
Założyciel i dyrektor zarządzający Trust Agents

Nie chcemy, aby SEO (lub agencje) słyszeli, jak ludzie mówią: „Nawiasem mówiąc, niedługo przechodzimy na JavaScript. Czy jest coś, o czym musimy pomyśleć w kontekście SEO? Nie powinno być, prawda? Ale byłoby wspaniale, gdybyś mógł rzucić okiem, zanim w poniedziałek opublikujemy nową witrynę”. Ten scenariusz nieuchronnie zakończyłby się całkowitym chaosem. Bartosz [w filmie powyżej] wspaniale przyjrzał się tematowi JavaScript i SEO.
Oprócz pytania, co może renderować Google, SEO powinien przy ponownym uruchomieniu witryny spojrzeć na to, co bot może zobaczyć i ustalić, co różni się od starej witryny. Niedawno miałem do czynienia z witryną, na której cały system linków wewnętrznych został zepsuty po ponownym uruchomieniu JavaScript, ponieważ logika linków ze starej witryny nie została przeniesiona. Pojawiły się również problemy z hreflangiem. Dlatego niezbędna jest praca z listą kontrolną pożądanych „funkcji SEO”. Dodatkowo powinieneś zapytać, co naprawdę oznacza renderowanie JavaScript dla twoich zastosowań: jakiego rodzaju sprzętu używają do uzyskania dostępu do Twojej witryny i jak wpłynie to na czas ładowania? Więcej na ten temat można polecić ten artykuł autorstwa Addy Osmani.

Sebastian Adler
Konsultant SEO , leap.de
Nawet przy ulepszonych możliwościach indeksowania JavaScript, Google będzie preferować zawartość czystą HTML, ponieważ zajmuje mniej zasobów. Pytanie nie brzmi, czy Google może czytać i renderować JS, ale czy możesz i chcesz zdjąć część pracy z rąk Google. Jeśli moje treści mogą być odczytywane, działają i ładują się szybko i doskonale bez JS, to nadal jest to dla mnie lepsze.
Zdolność renderowania zawsze zależy od technologii, która za nią stoi i, jak powiedział Bartosz (szanuj go za cały wysiłek, jaki wkłada w swoje eksperymenty i badania!), musisz w pełni zrozumieć technologię, jeśli chcesz ją jak najlepiej wykorzystać . Wielką szansą jest tutaj minimalizowanie ryzyka poprzez dostarczanie ważnych treści w formacie HTML i używanie JS tylko w sposób, w jaki jest przeznaczony: dla dodatkowych funkcji. Największą trudnością jest znalezienie błędów, jeśli w pełni zaangażujesz się w JavaScript.
Podczas ponownego uruchamiania strony upewnij się, że treść, którą chcesz pozycjonować, działa bez JavaScript. Obejmuje to nie tylko główną treść, ale także elementy nawigacyjne. Wiele stron nie ma menu, gdy JS jest dezaktywowany. Sensowne jest nie uwzględnianie każdej fantazyjnej funkcji, ale pytanie, czy funkcja jest naprawdę potrzebna Twojej firmie i grupie docelowej. Jaki byłby wpływ, gdyby jakaś funkcja nie działała? A potem wykonaj odpowiednie testy.
Poza tym, że nie oczekuję, że Google będzie bardzo dobrze informować webmasterów o aktualizacji renderowania stron internetowych, oczekuję, że główną rzeczą, która się zmieni, będzie podatność na błędy. Chrome i frameworki rozwijają się bardzo szybko, a wraz z nowymi wersjami prawdopodobnie pojawią się nowe błędy w RWS.
Kilka rzeczy z pewnością zostanie przetworzonych szybciej lub czystszych. Ale główny problem pozostaje ten sam. Kod obarczony błędem (z punktu widzenia używanego silnika) nie może być interpretowany. Musimy dowiedzieć się, jak silnik interpretuje nasz kod. Podczas programowania zmienia to narzędzie, którego musimy używać do debugowania. Ale jeśli masz swoje najważniejsze zasoby, takie jak szybko ładujące się pliki HTML (itp.), to nie musisz się martwić – możesz skoncentrować się na właściwej pracy SEO.
Bjorn Beth
Dyrektor ds. Usług Profesjonalnych, Searchmetrics

Musimy rozróżnić indeksowanie od indeksowania. Google może indeksować JavaScript, ale wymaga znacznie więcej zasobów niż indeksowanie czystego kodu HTML. Bardziej problematyczne jest dla indeksatora, który renderuje linki (adresy URL), które otrzymuje od robota indeksującego za pomocą usługi renderowania stron internetowych (WRS), podobnie jak Fetch & Render w Search Console. W tym celu Google używa własnej przeglądarki Chrome (wersja 41). Za pomocą przeglądarki próbuje utworzyć obiektowy model dokumentu (DOM) i interpretować stronę w taki sam sposób, w jaki będzie wyświetlana w przeglądarce. Może to prowadzić do problemów, ponieważ np. Google (jak pokazują testy przeprowadzone przez Distilled i Bartosza Góralewicza) nie radzi sobie z problemami w kodzie, lub podczas renderowania pojawiają się inne duże problemy, przez co Google przestaje renderować stronę po pięciu sekundach . Pokazały to testy przeprowadzone przez Screaming Frog.
Zasadniczo JavaScript znacznie komplikuje przeszukiwanie i indeksowanie i tworzy wysoce nieefektywną relację między nimi. Jeśli SEO jest dla Ciebie ważne, zawsze upewnij się, że bot może czytać Twoje strony tak szybko i wydajnie, jak to tylko możliwe.
Przed ponownym uruchomieniem ze strony internetowej opartej na HTML do struktury lub biblioteki opartej na JavaScript, upewnij się, że włączone jest renderowanie po stronie obsługi. Na przykład React ma własne rozwiązanie, które nazywa się renderToString. Wykorzystuje niezależny od przeglądarki interfejs DOM, który renderuje JavaScript na serwerze, tworzy DOM i wysyła go do bota. AngularJS używa Angular Universal. To udowadnia klientowi wszystko, co jest ważne, jak prerenderowany HTML. Klient następnie pobiera JavaScript, jak jest to wymagane. Możesz jednak również pracować z bezgłowym Chrome na serwerze i wysyłać wstępnie wyrenderowany kod HTML do bota.
Przede wszystkim spodziewam się szybszego i wydajniejszego renderowania z Chrome 59, zmierzającego w kierunku wydajności porównywalnej z czystym HTML. Tylko testy pokażą, czy tak się naprawdę dzieje.
Przeczołgaj się po błocie: oceń stan swojej witryny
Analizuj zarówno HTML, jak i JavaScript za pomocą Optymalizacji Struktury Witryny, w tym Crawlera JavaScript teraz z Searchmetrics! Twoje korzyści:
- Przeszukuj wszystkie odpowiednie frameworki JavaScript, w tym Angular i React
- Popraw wydajność witryny dzięki priorytetowej liście problemów technicznych
- Porównaj indeksowanie z indeksowaniem JavaScript i bez niego
Przeczytaj więcej o naszym indeksowaniu JavaScript
I co myślisz?
Tak myśli tych pięciu ekspertów, ale mamy o wiele więcej ekspertów czytających ten blog. Więc co myślisz o JavaScript? Czy dokonałeś już zmian na swoich stronach internetowych? Czy w swoich testach odkryłeś już coś ciekawego?
