Widzialni cares about Your privacy
In order to offer access to a secure, functional and attractive service, we use identifiers sent by your device and may store or read small text files (e.g. cookies) contained on your device. Based on your consent, we will process personal data, such as unique identifiers, information sent by end devices for personalization of advertisements and content, statistical demographic information for traffic measurement, we will also analyze the usefulness of certain solutions of the service, their performance in order to improve user satisfaction - hereinafter: your Data. By clicking "Accept all" you consent to the processing of your data in a broad way, including sharing it with third parties - a list of which can be found in the Privacy Policy. By clicking "Personalize" you can make your choice of settings. By clicking "Necessary only," you refuse to consent to the use of optional settings and the transfer of additional data. You can make changes to your choices at any time by clicking the padlock button in the corner of the page. Regardless of your preference settings on our site, you can also manage your browser`s privacy settings. For more information about data processing, see our Privacy Policy.
Manage preferences
Select the consents of your choice
Necessary
Necessary scripts and data stored on the end device contribute to the security and usability of the website by enabling secure access to basic functions such as site navigation and access to specific areas of the website. The website cannot be properly displayed without this group.
Functionality
This is data used to personalize your use of our website and to remember choices you make while using our website. For example, we may use functional cookies to remember your language preferences or to remember your login information, making it easier for you to use the site.
Analytics
Scripts and data used to collect information to analyze site traffic and how users use the site, how they came to the site, and to create aggregate demographic statistics about users. Analytical cookies and similar technologies allow us to measure the effectiveness of actions taken and content presented.
Marketing
Scope responsible for displaying personalized ads that may be of interest to the user based on browsing history and habits and demographic criteria. Also, third-party files that, in conjunction with files installed while browsing other websites, profile the user, providing him or her with the marketing, advertising and retargeting content deemed most appropriate.
Personalize
Accept choices
Accept all
Pozycjonowanie stron opartych o JavaScript

Pozycjonowanie stron opartych o JavaScript

W swojej praktyce zawodowej spotkałem się z opiniami, iż tworzenie stron internetowych w oparciu o JavaScript jest niekorzystne dla procesu pozycjonowania. Jak to zwykle bywa, „diabeł tkwi w szczegółach”. Dobrze skonstruowana strona www nie powinna sprawiać problemów robotom Google.

Podstawowe pojęcia, które warto poznać.

  • JavaScript – Skryptowy język programowania, zapewniający większe możliwości interakcji z użytkownikiem niż HTML. W odróżnieniu od języka HTML (wysyłanego przez serwer) pozwala na dynamiczne zmiany na stronach internetowych w przeglądarce użytkownika np. zmiany treści lub wyglądu czy wyświetlenie okien dialogowych.
  • Źródło HTML – w ujęciu najbardziej ogólnym jest to po prostu kod strony w języku znaczników HTML, który wysyłany jest do przeglądarki użytkownika. Następnie, w oparciu o style CSS (opisujące wygląd strony) przeglądarka interpretuje wspomniany kod i wyświetla stronę. Oczywiście proces ten opisany został w uproszczeniu, aby był jak najbardziej zwięzły.
  • DOM (Document Object Model – Obiektowy model dokumentu) – Jest to sposób opisywania dokumentów HTML poprzez elementy (obiekty) uporządkowane w hierarchicznej strukturze drzewa. Po pobraniu źródła HTML, przeglądarka przekształca pobrany kod do drzewa DOM. Następnie przy pomocy JavaScript można swobodnie zmienić elementy strony www (drzewa DOM), np. ukryć część produktów na stronie po wybraniu filtrowania.

Strona www może dzięki temu zmieniać się bez potrzeby ponownego jej wyświetlania (odświeżania). Zmieniają się tylko elementy drzewa DOM. Niegdyś roboty wyszukiwarek nie mogły rozpoznać takiej treści, bazowały tylko i wyłącznie na zawartości źródła HTML. W przypadku, gdy robot nie był w stanie odczytać treści, po prostu ją ignorował. Taka treść w ogóle nie wpływała na ranking witryny. Utrwalił się pogląd, że JavaScript szkodzi w procesie optymalizacji pod wyszukiwarki.

2 błędy, które powodują, że pozycjonowanie jest utrudnione

Niecałe dwa lata temu Google na swoim blogu poinformowało, że ich roboty mogą skanować i wyświetlać dynamicznie generowaną treść[1]. To zależy od kilku czynników z czego wymienię dwa bardzo ważne:

  1. Możliwość odczytu odnośników (robot musi wyszukać odnośniki w serwisie i odnaleźć wszystkie podstrony).
  2. Udzielenie dostępu do skryptów (należy odblokować dostęp w pliku robots.txt).

Możliwość odczytu odnośników jest podstawą, gdyż roboty Google indeksują zasoby sieciowe przechodząc po adresach stron internetowych. Należy używać znacznika anchor z atrybutem href (<a href=”odnośnik”>[…]</a>), inne sposoby implementacji mogą pogorszyć indeksowanie odnośników.

Udzielenie dostępu do skryptów jest ogromnie ważne, gdyż bez dostępu do skryptów robot nie może widzieć dynamicznie generowanych treści. Jak mniemam, twórcy serwisów www chcą zablokować takie pliki przed pojawieniem się w indeksie wyszukiwarki. Lepiej w tym celu użyć nagłówka HTTP x-robots-tag opatrzonego instrukcją noindex[2]. Jeśli projektujemy serwis www w oparciu o JavaScript, należy odblokować skrypty wykorzystywane przy wyświetlaniu widoku strony internetowej.

Gdy w serwisie www zastosowane są powyższe zasady, wówczas roboty Google mogą wygenerować drzewo DOM jak przeglądarka.

Czy warto używać escaped_fragment?

Google przedstawiło w roku 2009 sposób na rozwiązanie kwestii dynamicznie generowanych treści. Adresy URL miały przyjmować składnię z elementem hashbang (http://nowastrona.ok/nowasekcja#!artykul1), a użytkownik nie mający obsługi JavaScript (oraz roboty) uzyskiwał adres URL w formie http://nowastrona.ok/nowasekcja?_escaped_fragment_=artykul1. Takie podejście umożliwiało poprawne indeksowanie dynamicznych zasobów, gdyż miały swoją statyczną „kopię”. Aktualnie ten sposób konstruowania adresów URL jest zdeprecjonowany, co także zostało wspomniane na blogu Google[1].

Internet to nie tylko Google

Na koniec warto wspomnieć, że nie wszystkie roboty wyszukiwarek wspierają w pełni dynamiczną treść. Kolejną kwestią jest też fakt, że nie każdy framework JavaScriptu jest wspierany w procesie skanowania witryny. Ciekawskich odsyłam do artykułu Bartosza Góralewicza, który przeprowadził wartościowy eksperyment[3].

Pod kątem pozycjonowania, warto stale polegać na źródle HTML. Jeśli chcemy stosować JavaScript w serwisie www, to należy pamiętać o prawidłowej implementacji, gdyż mogą się pojawić problemy przy indeksowaniu naszej strony internetowej.

Źródła:

  1. https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html
  2. https://yoast.com/x-robots-tag-play/
  3. https://goralewicz.com/blog/JavaScript-seo-experiment/

Powiązane wpisy

Kursy z marketingu internetowego online!

Zarejestruj się do bezpłatnej platformy.

Dołącz do newslettera i otrzymuj regularną dawkę wiedzy oraz ciekawostek ze świata digital marketingu!

Z naszą pomocą zawsze będziesz na bieżąco – bez spamu!

Poznaj historie, które odmienią Twój biznes

Oglądaj na YouTube!

1
Komentarze
Dodaj własny
  1. 1

    Problem z escape fragments jest czasem taki, iż devovie nieprawidłowo wdrożyli angulara i nie wszystko działa poprawnie. Utrudnione jest to przy dużych stronach kopor gdzie zmiana URLi (które od lat zawierały #!) powoduje, że wszystko wylatuje i nie wiaodmo kiedy wróci.
    Wspaniałym przykładem jest fakt, że gugiel sam wspiera angulara, który jest jednym ze słabszych javovych frameworków 🙁

Komentarze są wyłączone.

O blogu

Blog powstał w celu przybliżenia marketingu internetowego w wyszukiwarkach wszystkim zainteresowanym tą tematyką. Będziemy dzielić się tutaj naszą wiedzą oraz nowościami z branży. Życzymy miłej lektury.

Szukaj