Ten tekst jest wynikiem ostatnich kilku potyczek z deweloperami, którzy, przy całym szacunku do ich wiedzy i ogromnego talentu programistycznego, wiedzą co i jak wdrożyć na serwisie, ale nie kumają przeznaczenia. Poniżej taka checklista z linkami oraz informacjami, które można przekazać. Chciałbym miec to wszystko w SaaS’ach <3
1. Fragmenty rozszerzone
Jest wiele typów fragmentów rozszerzonych. Generalnie służą do przekazania informacji do wyszukiwarek bez potrzeby czytania przez nie całego HTMLa. Fragmenty rozszerzone pozwalają na wzbogacenie wyników wyszukania ponieważ wyświetlają cenę, gwiazdki, dostępność etc.
Pod tym adresem są opisane najbardziej popularne dane uporządkowane: https://developers.google.com/search/reference/overview.
Najczęstsze problemy spotkane w implementacjach:
- wstawienie nagłówków Hx do menu okruszkowego
- implementacja typu Organization wewnątrz drzewa Product (czyli tam gdzie był producent na karcie produktu wstawiono, niezgodnie z przeznaczeniem, typ Organization, który służy do oznaczenia właściciela serwisu, sklepu a nie producenta)
- wstawienie „na sztywno” (na stałe) w danej pozycji np. gwiazdek 5 na 5
- implementacja gwiazdek na stałe w kategoriach zamiast skorzystanie z np ListItem
2. Canonical oraz prev/next
Cholernie istotna kwestia, krytyczna bo zła implementacja z reguły wyindeksowywuje cały serwis. Najczęstsze problemy przy implementacji:
- nie da się – tak bo to skomplikowane
- wstawienie canonical na główna stronę – very funny
- błędna implementacja canonical wraz z alternate pod kątem wersji językowych
- błędne wdrożenie dla wersji mobilnych w przypadku korzystania z wersji mDot
- niezwykle istotny parametr przy stronicowaniu (paginacji)
To czego brakuje w skryptach sklepowych to możliwość ustawienia canonicala dla każdej podsrtony czy produktu. Tak jak jest to w WordPressie, że pod każdym tworzonym artykułem jest pole typu canonical i można to sobie dowolnie wstawiać:

Do zapoznania się przez deweloperów:
- https://support.google.com/webmasters/answer/1663744?hl=pl
- https://support.google.com/webmasters/answer/1663744?hl=pl
3. Przekierowania 301
Trudne do przypilnowania i jeszcze trudniejsze w realizacji – wykonanie tabeli przekierowań w przypadku przebudowy serwisu a jeszcze trudniejsze w bieżącym zarządzaniu przekierowaniami.
Z mojej perspektywy należy dać możliwość w oprogramowaniu (np. skrypcie sklepu internetowego typu SaaS) dwie możliwości:
- ustawianie przekierowań z poziomu skryptu za pomocą jakichkolwiek wtyczek czy modułów i wykonywanie ich za pomocą tego skryptu
- lub też to co wyżej, żeby to jeszcze zapisywało się automatycznie do pliku htaccess
Jest to bardzo ważny aspekt w przypadku usuwania podstron z produktami czy wpisami blogowymi – trzeba wykonać przekierowanie 301 ze starego adresu na nowy. Tutaj od razu uczulam – zrobienie przekierowania na główną nie działa korzystanie ani na SEO ani na UX (czyli wstawienie „ErrorDocument 404 /” w htacess to karygodny błąd).
Na kwestię przekierowań należy szczególnie zwrócić uwagę deweloperem – oni to zaprogramują ale zawsze licze (i się przeliczę), że zapytają „a po co?” albo „czy to na pewno tak ma być?”. Bo na przykład zdarza się, że piszesz o zmianach w adresach URL a „woocommerce” odwali numer i nie wykona automatycznie przekierowań 301 i dopiero po miesiącu zastanawiasz się „Czemu kura spadają mi pozycje”.
4. Wersje językowe
To jest totalny sajgon i poligon. Zła implementacja wersji językowych powoduje, że kod sklepu trzeba niemalże pisać od nowa. Pod tym adres jest pełen opis co i jak wybrac i zrobić: https://support.google.com/webmasters/answer/182192?hl=pl. Jedyną i najgorszą rzeczą jaką można wykonać to implementacja wersji językowych za pomocą zmiennych.
Nie wierzycie? Zobaczcie – a potem wyobraźcie sobie jak to możliwe, że to się w ogole indeksuje.

Te same wersje językowe w jednym podkatalogu i poza tym x-default też – normalnie nóź w kieszeni.
5. Treści – czyli chcesz content
Ważnym aspektem każdego serwisu są treści. To czego z reguły potrzebuje seowiec lub contentowiec to:
- pole na wstawienie tekstu SEO na stronie głównej
- możliowść wstawienia tekstów na kategorie i podkategorie w sklepie internetowym
- blog, który najlepiej funkcjonuje w podkatalogu /blog/ a nie w poddomenie blog.zgred.pl – niby Googlersi mówią, że nie ma to znaczenia ale blog jednak lepiej pracuje w podkatalogu
- opisy kategorii
- linkowanie wewnętrzne na kartach produktu – są to elementy, które oprócz klikania i przenoszenia się do kategorii dają również SEO
Problemy, które czasem sie spotyka to:
- ukrywanie treści przed robotami – czyli cloaking – warto zatem zajrzeć do cache bo można znaleźć tam ciekawe kwiatki
- ucinanie nagłówków – bo dev stwierdził, że DIV mu się kończy i zamiast „złamać” napis to dał 3 kropeczki
- tekst jest górze strony odsuwając produkty poniżej linii i ich nie widać, przez co użytkownik wychodzi ze sklepu
Inne rzeczy – krótkie wskazówki:
- nie implementujcie infinity scroll – to jest zuo – zróbcie zwykłe stronicowanie. Poza tym spróbujcie dojechać do stopki, gdy są tam ważne dane jak telefon – skoro sie nie da to po co implementować
- nie róbcie nagłówków Hx jako tytuły w sekcjach menu czy tytułach bloków z boku (sidebars) bo one nie muszą brać udziału w ustalaniu rankgingu strony
- potrzebna możliwość wpisywania meta description dłuższego niż 160 znaków (w presta jest blokada a czasem warto pokusić się wstawić i 200 znaków)
- w całym serwisie potrzeba wstawiać linkowanie wewnętrzne – więc warto wdrożyć edytor WYSIWYG umożliwiający dostęp do wszystkich b,u,i,a,href,h1..h6 itd.
- dla obróbki i optymalizacji grafik też jest dobrze wdrożyć moduł jak np Imagify do WordPressa – optymalizacja grafik przekłada się na prędkość ładowania serwisu
- hotlinkowanie – nie należy dopuszczać do pobierania obrazków (czy jakichkolwiek innych plików mediowych) z poza własnej domeny
- nie robić nagłówka H1 pod logotypem – to zamierzchłe czasy i już tego sie nie robi
- zapomina się o zdjęciu NOINDEX z wersji dev po przesunięciu na produkcję
- nie używajcie comic sans 😉
I na koniec – właściwie dobierzcie framework skrypt oraz wykonanie i skonsultujcie go z seowcem, żeby na koniec w Google nie było o tak:

Developerzy! Seowcy Was kochają! Nauka dla obu stron jest bezcenna. Jeśli macie inne przypadki i uwagi to zapraszam do dzielenia się w komentarzach.
Dodaj komentarz