Technologiczne, Gadżety, Telefony Komórkowe, Pobieranie Aplikacji

Upewnij się, że JavaScript może być faktycznie renderowany

Uwaga: Poniższy artykuł pomoże Ci w: Upewnij się, że JavaScript może być faktycznie renderowany

Podczas hangouta z udziałem Johna Muellera w dniu 9 marca 2021 r. jeden z webmasterów zapytał o problem, jaki ma w swojej witrynie e-commerce korzystającej z JavaScript. Google nie ma do niego dostępu i nie może go wyrenderować.

Webmaster postrzega te strony jako duplikaty lub indeksowanie jest mniejsze, niż by się spodziewał.

John powiedział, że webmaster będzie musiał najpierw upewnić się, że jego witryna internetowa rzeczywiście będzie mogła zostać wyświetlona w wynikach wyszukiwania. Jednym z najlepszych sposobów na osiągnięcie tego jest użycie zapytania witryny dla tych konkretnych stron.

Należy to zrobić, ponieważ narzędzia testujące mają znacznie bardziej rygorystyczne wytyczne dotyczące szybkości reakcji serwera w porównaniu z faktycznym działaniem Google.

Możliwe, że narzędzie testujące stwierdzi, że nie działa, choć w rzeczywistości w samym Google działa prawidłowo.

Warto o tym pamiętać.

Webmaster 8 20:58

Kolejne pytanie dotyczy czegoś zbyt skomplikowanego, abyś mógł mi pomóc. Ale chciałbym kilka pomysłów. Zasadniczo mamy ogromny problem w jednej z naszych witryn e-commerce, którą przeglądamy. Na stronach z listami kod JavaScript odpowiedzialny za ładowanie wszystkich produktów z listy — Googlebot nie ma do niego dostępu ani nie może go renderować.

Najwyraźniej według przyjaznego dla urządzeń mobilnych narzędzia testowego i konsoli wyszukiwania. Otrzymujemy więc produkty typu zero. Plik robots.txt tego nie blokuje. Sprawdziliśmy logi serwera, mówią, że Googlebot nie jest zablokowany i może uzyskać dostęp do zasobów. Pozostałe części strony są w porządku. Pozostały JavaScript na stronie jest w porządku. Kolejna absolutnie identyczna witryna internetowa, którą mamy, ale znajdująca się w innym kraju, również jest w porządku.\

Nie ma tego problemu. Problem rozwiązał się sam na jakiś miesiąc, kiedy programiści niczego nie zmienili. A ludzie od serwera również niczego nie zmienili. Więc nie mamy pojęcia, co się dzieje. I naprawdę nie wiem gdzie jeszcze szukać. Więc jeśli masz jakieś pomysły?

Jana 22:07
Czy jest to coś, co widzisz tylko w narzędziach testowych? A może jest to coś, co widzisz także w wynikach wyszukiwania?

Webmaster 8 22:14
Widzimy na przykład, że te strony są postrzegane jako duplikaty lub indeksowanie jest mniejsze niż oczekiwaliśmy. Więc myślę, że faktycznie nie jest to poprawnie renderowane.

Jana 22:27
Dobra. To znaczy, chciałbym jeszcze raz sprawdzić, czy rzeczywiście można to najpierw wyrenderować do wyszukiwania. Myślę, że jednym ze sposobów, w jaki możesz to zrobić, jest wykonanie zapytania w witrynie dotyczącego tych konkretnych stron. I niektóre słowa kluczowe, które są dodawane tylko za pomocą JavaScript. Aby w pewnym sensie sprawdzić założenie, że to tak naprawdę jakby nie być branym pod uwagę przez Google, ponieważ zwłaszcza w przypadku narzędzi testowych, które mamy, ustaliliśmy je w taki sposób, że mają znacznie bardziej rygorystyczne terminy w odniesieniu do jak szybko serwer powinien odpowiedzieć, ponieważ chcemy dać Ci wynik tak szybko, jak to możliwe.

A jeśli chodzi o wyszukiwanie, nie mamy takich terminów, ponieważ możemy powiedzieć: „Cóż, po prostu potrzebujemy czasu na buforowanie tych skryptów, a następnie wykonanie ich osobno”. Nie musimy tego wszystkiego robić w ciągu kilku sekund. Może się zatem zdarzyć, że narzędzie testujące powie, że nie zadziałało, ale w wyszukiwarce faktycznie zadziałało. Więc raczej na to bym uważał. Ale zwykle też, gdy coś takiego się zdarza, może to być znak, że sytuacja jest na krawędzi, w tym sensie, że czasami wszystko działa, a czasami nie. I myślę, że to wciąż coś, nad czym warto się zastanowić. Co, co bym zrobił, zwłaszcza jeśli jest to strona JavaScript, dołączyłbym do jednej z sesji Martina.

Pracuje w godzinach pracy specjalnie dla witryn opartych na JavaScript i być może z wyprzedzeniem podaje jeden z tych adresów URL do swoich pytań i odpowiedzi, aby mógł się z nimi zapoznać i uzyskać swoją opinię. Może się zdarzyć, że jest coś małego, co możesz zrobić, aby ulepszyć cały proces. Może się zdarzyć, że kiedy na to spojrzy, powie: „Och, to nie jest problem”. To narzędzie testujące wprowadza Cię w błąd.

Ale to jest rodzaj kierunku, w którym bym poszedł. Najpierw więc sprawdziłbym, czy jest to naprawdę poważny problem, a następnie skontaktowałbym się z Martinem, aby sprawdzić, czy nie jest to coś na krawędzi, co czasem działa, a czasem nie.

Webmaster 8 24:43
Dobrze dziękuję. Więc szybko, żeby to sprawdzić, bo zauważyliśmy, że problem sam się rozwiązał, indeksy poszły w górę. A kiedy to wróciło, to… opadły. Zakładając zatem, że problem istnieje, jak myślisz… Jakie są główne powody, dla których Google nie może uzyskać dostępu do JavaScript, poza blokadą w pliku Robots.txt lub blokowaniem przez serwery?

Jana 25:11
Tak. Więc myślę, że prawdopodobnie to, co się dzieje najczęściej, to to, że jest to bardziej ogólny problem z szybkością renderowania, w tym sensie, że może, może masz coś skonfigurowanego, że odpowiedzi JavaScript lub API są tworzone w sposób, w jaki prawie mają powiązane z nimi identyfikatory sesji, abyśmy mogli je poprawnie buforować lub cokolwiek innego, gdy renderowanie strony wymaga dodatkowej ilości znacznych zasobów.

Zatem to, co robiłem w przeszłości, przyglądając się tego typu problemom, to zaglądanie do webpagetest.org lub w przeglądarce Chrome na diagram przypominający wodospad i zobaczenie, czy jest to strona, która ma znaczące znaczenie ilość kodu JavaScript i innej zawartości, którą należy załadować? A może jest to coś, w czym może być łącznie około 50 żądań? A to może w takim razie trochę inne pytanie.

Ale przynajmniej w przypadkach, w których się temu przyglądałem, jest to raczej coś, co przypomina setki lub 200 300 400 500 żądań wymaganych do wyrenderowania strony. A kiedy masz ich tak wiele, nawet jeśli buforujemy wiele z tych żądań, może się zdarzyć, że w odpowiednim czasie uda nam się ukończyć wszystkie te żądania na czas przed renderowaniem.

Table of Contents