Jak sprawić, by produkty były widoczne w wyszukiwarkach
Moduł 7: Widoczność w wyszukiwarkach i hosting · Czas czytania: 10 min
Cel lekcji: Po tej lekcji będą Państwo potrafili tworzyć strony produktów zrozumiałe dla wyszukiwarek, sprawdzać, jakie dane strukturalne przekazuje WooCommerce, oraz unikać pułapek związanych z wyprzedanymi produktami, filtrami i powielonymi treściami.
Kluczowe pojęcia: strona produktu, tytuł produktu, opis produktu, strona kategorii jako strona docelowa, dane strukturalne, JSON-LD, Product, Offer, AggregateOffer, availability, GTIN, SKU, produkt wyprzedany, filtry i parametry, canonical, mapa witryny produktów, bezpłatne informacje o produktach
Czym różni się sklep
Podstawy widoczności w wyszukiwarkach omawia kurs WordPress, lekcja 9.2: tytuły, metaopisy, nagłówki, mapa witryny, noindex, Search Console i przekierowania przy zmianie adresów. Wszystko to dotyczy także sklepu. Sklep ma jednak trzy własne wyzwania:
- Wiele podobnych do siebie stron. Dziesięć dzbanków do herbaty z niemal identycznym tekstem, warianty, filtry według koloru i ceny: wyszukiwarka musi wybrać, która strona jest istotna.
- Strony, które pojawiają się i znikają. Produkty się wyprzedają, wypadają z asortymentu albo do niego wracają.
- Wyszukiwarki same pokazują dane produktów. Cena, dostępność i oceny mogą pojawić się w wynikach wyszukiwania, jeśli wyszukiwarka potrafi je odczytać z Państwa strony.
Ta lekcja dotyczy tych trzech kwestii. Więcej o słowach kluczowych, pisaniu tekstów i widoczności lokalnej znajdą Państwo w kursie o widoczności w internecie (w przygotowaniu).
Strona produktu, która coś mówi
Wyszukiwarka i klient chcą wiedzieć to samo: co to jest, dlaczego ten produkt, a nie inny, i ile kosztuje. W Theehuis Example słaba strona produktu wygląda tak:
- tytuł "Dzbanek 3";
- opis przejęty od dostawcy, taki sam jak w dwudziestu innych sklepach;
- jedno zdjęcie bez tekstu alternatywnego.
Mocna wersja:
- tytuł zawierający to, czego ludzie szukają: "Żeliwny dzbanek do herbaty 0,8 litra, czarny";
- krótki opis z dwóch lub trzech zdań z najważniejszymi informacjami (pojemność, materiał, dla kogo);
- długi opis własnymi słowami: jak go używać, jak o niego dbać, co wchodzi w zestaw, wymiary oraz pytania, które klienci naprawdę zadają;
- kilka zdjęć z opisowym tekstem alternatywnym (kurs WordPress, lekcja 4.4);
- uzupełniony SKU oraz, jeśli go Państwo mają, GTIN (kod EAN) (lekcja 3.1).
Teksty od dostawców kuszą, ale wtedy ten sam tekst pojawia się na wielu stronach. Wyszukiwarka zwykle pokazuje tylko jedną z nich. Prosimy napisać samodzielnie przynajmniej pierwszy akapit.
Strony kategorii są często ważniejsze, niż się wydaje. Ktoś, kto szuka frazy "żeliwny dzbanek do herbaty", chce zobaczyć wybór, a nie jeden produkt. Dlatego warto nadać kategoriom krótki tekst wprowadzający i jasną nazwę oraz zachować prostą strukturę (Dzbanki do herbaty > Żeliwo, a nie pięć poziomów w głąb).
Dane strukturalne: co przekazuje WooCommerce
Dane strukturalne to fragment kodu na stronie, który w ustalonej formie informuje, co się na niej znajduje. WooCommerce używa do tego JSON-LD: bloku <script type="application/ld+json">, który umieszcza na dole strony produktu (w stopce kodu HTML). Zawiera on obiekt typu Product z następującymi danymi:
name,url,description(krótki opis, a jeśli go brak, długi) orazimage;sku(lub identyfikator produktu, jeśli nie wpisano SKU) orazgtin, jeśli wpisano prawidłowy GTIN;offers: obiekt Offer z ceną (wpriceSpecification),priceCurrency,availabilityi sprzedawcą (nazwą Państwa sklepu). W przypadku produktu z wariantami o różnych cenach staje się on obiektem AggregateOffer z najniższą i najwyższą ceną;availabilityw postaci adresu schema.org:https://schema.org/InStock,OutOfStocklubBackOrder(przy zamówieniach oczekujących);- przy ocenach także średnia ocena i recenzje.
Tak wygląda skrócony przykład:
{
"@type": "Product",
"name": "Gietijzeren theepot 0,8 liter, zwart",
"sku": "TP-GIJ-08",
"offers": [{
"@type": "Offer",
"price": "39.95",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}]
}Co dane strukturalne robią: wyszukiwarka wie na pewno, jaka jest cena i dostępność, i może je pokazać. Czego nie robią: nie podnoszą pozycji w wynikach i nie gwarantują rozszerzonego wyniku wyszukiwania. Google samo decyduje, czy coś pokaże.
Trzy pułapki:
- Podwójny schemat. Wtyczka SEO lub motyw również dodaje obiekt Product. Wtedy są dwa, czasem z różnymi cenami. Prosimy wybrać jedno źródło, a drugie wyłączyć.
- Cena z pamięci podręcznej. Po zmianie ceny stara, zapisana strona pokazuje dawną cenę, zarówno w tekście, jak i w schemacie. Po zmianach cen prosimy wyczyścić pamięć podręczną (lekcja 6.4).
- Nieprawidłowe wyświetlanie VAT. Schemat przejmuje cenę w takiej postaci, w jakiej pokazuje ją sklep. Jeśli pokazują Państwo konsumentom ceny z VAT (lekcja 4.1), taka cena znajdzie się też w schemacie.
Sprawdzić to można za pomocą walidatora schema.org lub testu Google (zob. Dalsza lektura) albo w zadaniu do tej lekcji.
Wyprzedany, wycofany z asortymentu, ponownie dostępny
Co zrobić z produktem, którego chwilowo brakuje? W WooCommerce > Ustawienia > Produkty > Magazyn można ukryć wyprzedane produkty w katalogu. Nie należy tego robić pochopnie przy chwilowym braku: strona nadal istnieje, ale znika ze stron kategorii, a klienci, którzy trafią na nią z wyszukiwarki, wciąż ją widzą. Dla produktu, który wróci, lepiej pozostawić stronę z informacją "brak w magazynie", przewidywaną datą dostępności lub alternatywą. Schemat podaje wtedy OutOfStock, i jest to uczciwe.
Jeśli produkt zostaje na stałe wycofany z asortymentu, mają Państwo trzy możliwości:
- pozostawić stronę z wyraźnym komunikatem i linkami do następców (jeśli nadal odwiedza ją wiele osób);
- przekierowanie 301 do następcy lub kategorii (jeśli istnieje prawdziwy zamiennik);
- usunąć stronę, tak aby zwracała 404 lub 410 (jeśli nie ma nic porównywalnego).
Czego nie robić: przekierowywać każdego wycofanego produktu na stronę główną. Wyszukiwarki traktują to jak rodzaj błędu 404, a odwiedzający szukają bez końca.
Filtry, sortowanie i powielone treści
Filtry według koloru, rozmiaru i ceny oraz sortowanie według ceny tworzą adresy takie jak /theepotten/?filter_kleur=zwart&orderby=price. Każda kombinacja to nowy adres o niemal identycznej treści. Przy wielu filtrach powstają ich tysiące. Wyszukiwarka poświęca wtedy czas tym wariantom zamiast Państwa produktom.
Co pomaga:
- canonical na każdej przefiltrowanej stronie wskazujący stronę bez filtra (WordPress i większość wtyczek SEO nie zawsze robią to automatycznie przy parametrach: prosimy to sprawdzić);
- brak linków do przefiltrowanych adresów w menu;
- nietworzenie wariantów jako osobnych produktów, jeśli w rzeczywistości jest to jeden produkt (lekcja 3.2);
- jeden adres na produkt, nawet jeśli należy on do kilku kategorii. WooCommerce domyślnie używa
/product/<naam>/bez kategorii w adresie; prosimy to tak zostawić, chyba że wiedzą Państwo, co robią.
Mapa witryny produktów
WordPress od wersji 5.5 sam tworzy mapę witryny (/wp-sitemap.xml) z osobną częścią dla każdego typu treści. Produkty są typem treści, więc istnieje mapa częściowa, np. /wp-sitemap-posts-product-1.xml. Jeśli korzystają Państwo z wtyczki SEO, często tworzy ona własną mapę witryny pod innym adresem (i wyłącza mapę WordPress). Prosimy sprawdzić, czy znajdują się w niej Państwa produkty, czy koszyk, zamówienie i Moje konto nie są w niej uwzględnione (mają noindex, lekcja 2.2), i zgłosić mapę witryny w Search Console.
Jeśli chcą Państwo, aby produkty pojawiały się także w zakładkach produktowych wyszukiwarek, można to osiągnąć za pomocą pliku danych produktowych (feed), np. przez bezpłatne informacje o produktach w Google Merchant Center. Wykracza to poza zakres tego kursu; opisane wyżej dane strukturalne stanowią jednak podstawę.
Podsumowanie
- Strona produktu ma tytuł, którego ludzie szukają, własny opis, dobre zdjęcia z tekstem alternatywnym oraz uzupełnione SKU i GTIN.
- WooCommerce umieszcza na stronie produktu schemat Product w JSON-LD z ceną, walutą, dostępnością i sprzedawcą; nie gwarantuje on rozszerzonego wyniku wyszukiwania.
- Należy unikać podwójnego schematu i starych cen w pamięci podręcznej.
- Chwilowy brak: pozostawić stronę; wycofanie na stałe: następca, 301 lub 404/410, nie przekierowanie na stronę główną.
- Filtry tworzą powielone treści; należy stosować canonical i sprawdzić mapę witryny produktów.
Quiz
Zadanie
Zadanie A7.1: Czy wyszukiwarka rozumie Państwa produkt? Prosimy wpisać adres sklepu oraz slug lub adres produktu (jeśli pole zostanie puste, program weźmie pierwszy produkt ze Store API). Program pobiera produkt przez Store API, otwiera stronę produktu i odczytuje wszystkie bloki application/ld+json. Następnie szuka w robots.txt lub /wp-sitemap.xml mapy witryny z produktami. Wynik zielony, jeśli jest dokładnie jeden obiekt Product z nazwą, offers z ceną i priceCurrency, wartością availability zgodną ze stanem magazynowym, zdjęciem oraz SKU lub GTIN; jeśli cena w schemacie jest taka sama jak w Store API; jeśli strona nie ma noindex i ma canonical wskazujący na siebie; oraz jeśli produkt znajduje się w mapie witryny produktów. Pomarańczowy przy dwóch lub więcej blokach Product, braku SKU i GTIN, rozbieżnej cenie, braku canonical, braku zdjęcia lub gdy produktu nie ma w mapie witryny. Czerwony, jeśli brak schematu Product, strona ma noindex lub brakuje ceny (offers).
Pytanie do samodzielnego przemyślenia (niesprawdzane): prosimy wkleić adres strony produktu także do walidatora schema.org. Czy widzi on to samo co program?
Dalsza lektura
- Darmowy kurs WordPress 9.2: Widoczność w wyszukiwarkach: podstawy
- Darmowy kurs WordPress 4.4: Media: obrazki i tekst alternatywny
- Dane strukturalne dla produktów (Google Search Central, w języku angielskim): https://developers.google.com/search/docs/appearance/structured-data/product
- Schema Markup Validator (schema.org, w języku angielskim): https://validator.schema.org/
- Managing products (woocommerce.com, w języku angielskim): https://woocommerce.com/document/managing-products/
