Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
Znacznik FAQPage należy do tych elementów SEO, które najłatwiej wdrożyć i najtrudniej rozliczyć. Kod dodaje się w kilkanaście minut, wynik w wyszukiwarce potrafi urosnąć o rozwijaną listę pytań, a klient widzi różnicę na własne oczy. Problem zaczyna się tydzień później, kiedy ta lista znika, potem wraca na dwa dni, a potem znów jej nie ma — i pytanie „czy my to źle wdrożyliśmy?” wraca do mnie w mailu.
Odpowiedź prawie zawsze brzmi: wdrożenie jest w porządku, tylko oczekiwania były błędne. Google obsługuje dane strukturalne FAQ od maja 2019 roku i od początku pisze wprost, że oznaczenie strony nie jest obietnicą wyświetlenia wyniku rozszerzonego. To ustawienie kwalifikacji, nie gwarancja.
Poniżej wyjaśniam, czym FAQPage właściwie jest, jak wygląda poprawne wdrożenie, jakie wytyczne najczęściej są łamane i skąd bierze się ta zmienność. Piszę też, czego po tym znaczniku nie należy się spodziewać, bo tu narosło najwięcej nieporozumień.
FAQPage to typ danych strukturalnych ze słownika schema.org, którym opisuje się stronę z listą pytań i odpowiedzi przygotowanych przez autora witryny. To Ty zadajesz pytanie i Ty na nie odpowiadasz — nie ma tu miejsca na wiele konkurencyjnych odpowiedzi.
Sama sekcja FAQ na stronie nie jest jeszcze danymi strukturalnymi. Dla użytkownika akordeon z pytaniami i lista oznaczona znacznikiem wyglądają identycznie — różnica jest w tym, czy w kodzie znajduje się dodatkowy opis mówiący robotowi: to jest pytanie, a to jego odpowiedź.
Warto od razu rozdzielić FAQPage od QAPage, bo to najczęstsza pomyłka przy wyborze typu. QAPage jest przeznaczony dla stron w rodzaju forum, gdzie pytanie zadaje użytkownik, a odpowiedzi udziela społeczność i można je oceniać. Oznaczenie forum jako FAQPage albo firmowej pomocy jako QAPage w najlepszym razie nie da nic, w gorszym zostanie uznane za niezgodne z wytycznymi.
Google preferuje format JSON-LD, czyli osobny blok danych w kodzie strony, niezależny od tego, jak zbudowany jest szablon. Mikrodane wplecione w istniejący HTML też są obsługiwane, ale przy większych serwisach to droga do bałaganu — każda zmiana układu grozi rozjechaniem oznaczeń.
Struktura jest prosta: strona opisana jako FAQPage, w środku lista elementów typu Question, a każde pytanie z dokładnie jedną odpowiedzią typu Answer oznaczoną jako zaakceptowana. Wymagane pola to treść pytania i treść odpowiedzi; w odpowiedzi wolno użyć podstawowego formatowania.
Na co zwracam uwagę przy każdym wdrożeniu:
W praktyce wdrażam to wtyczką, bo ręczne pisanie JSON-LD w kilkudziesięciu wpisach nie ma sensu. Trzeba tylko sprawdzić, czy nie dodaje znacznika wszędzie automatycznie i czy nie dubluje oznaczeń wstawianych już przez motyw.
To sedno pytania z tytułu. Dane strukturalne kwalifikują stronę do wyniku rozszerzonego — nie zamawiają go. Decyzję podejmuje wyszukiwarka za każdym razem od nowa i wpływa na nią kilka rzeczy naraz.
Po pierwsze, kontekst zapytania: ta sama strona przy pytaniu wpisanym pełnym zdaniem i przy dwuwyrazowej frazie zakupowej dostaje inaczej zbudowany wynik. Po drugie, urządzenie i miejsce w rankingu — na telefonie miejsca jest mniej, a rozbudowane wyniki trafiają się częściej wysoko niż na drugiej stronie. Po trzecie, układ strony wyników: Google zmienia go bez zapowiedzi i testuje warianty na części ruchu.
Dochodzi do tego ograniczenie, o którym łatwo zapomnieć: wynik rozszerzony FAQ nie pojawia się przy wszystkich pozycjach naraz. Nawet gdy dziesięć witryn ma poprawne oznaczenie, wyszukiwarka nie zamieni wszystkich w rozwijane listy. Konkurujesz nie tylko rankingiem, ale też miejscem w tej wąskiej puli.
Osobna kategoria przyczyn to jakość samej strony. Jeśli treść jest cienka, a FAQ dopisano wyłącznie po to, żeby coś oznaczyć, brak wyniku rozszerzonego jest normalną konsekwencją — a od grudnia zeszłego roku system oceny przydatności treści działa już we wszystkich językach, więc dotyczy też polskich serwisów.
Wniosek praktyczny: zmienność jest tu stanem normalnym, nie awarią. Widzę to na większości kont, którymi się zajmuję.
Rozdzielam dwa pytania, bo mieszanie ich prowadzi do błędnych wniosków. Pierwsze: czy oznaczenie jest technicznie poprawne. Drugie: czy Google je pokazuje.
Na pierwsze odpowiada test wyników z elementami rozszerzonymi. Wklejasz adres albo kod, dostajesz listę wykrytych typów, błędów blokujących i ostrzeżeń. Do zgodności z samym słownikiem schema.org — także w częściach, których Google nie obsługuje — jest walidator schema.org.
Na drugie odpowiada Search Console: w sekcji z ulepszeniami pojawia się osobny raport dla stron z oznaczeniem FAQ, z liczbą poprawnych adresów i błędami. To najwygodniejsze miejsce, żeby wyłapać sytuację, w której zmiana szablonu wywaliła znacznik z kilkuset podstron naraz.
Czego Search Console nie powie wprost: jak często wynik rozszerzony faktycznie się wyświetlił. Raport ulepszeń mówi o kwalifikacji, nie o prezentacji. Zmiany kliknięć i CTR traktuję więc jako poszlakę i porównuję dłuższe okresy, nie pojedyncze dni.
Najważniejsze: to nie jest czynnik rankingowy. Oznaczenie nie podnosi pozycji strony. Zmienia wygląd wyniku, jeśli wyszukiwarka zdecyduje się go rozbudować, i tyle. Za każdym razem, gdy słyszę „dodajmy FAQ, żeby wyjść wyżej”, tłumaczę to od nowa.
Nie zawsze też pomaga w kliknięciach. Rozwinięta lista zajmuje więcej miejsca i przykuwa uwagę, ale potrafi udzielić odpowiedzi na tyle wyczerpującej, że wejście na stronę traci sens. Przy pytaniach typu „ile trwa” albo „czy potrzebuję” trzeba się liczyć z tym, że użytkownik dostanie swoje i zostanie w wyszukiwarce.
Nie naprawi też złej strony. Jeśli podstrona nie ma treści i nie odpowiada na intencję zapytania, znacznik nie zmieni nic — poza tym, że w Search Console pojawi się ładny raport.
I rzecz najważniejsza przy planowaniu pracy: Google traktuje wyniki rozszerzone jako element interfejsu, a interfejs zmienia bez pytania nas o zdanie. Typy danych strukturalnych bywają modyfikowane, ograniczane, a czasem wycofywane. Strategia oparta na jednym sposobie prezentacji wyniku stoi na czymś, czego nie kontrolujesz.
Znacznik FAQPage wdrażam wtedy, gdy sekcja pytań i odpowiedzi i tak jest na stronie potrzebna — bo klienci naprawdę o te rzeczy pytają, a odpowiedzi skracają drogę do decyzji. Wtedy oznaczenie jest darmowym dodatkiem do treści, która przynosi wartość niezależnie od wyszukiwarki.
Nie tworzę natomiast sekcji FAQ tylko po to, żeby móc ją oznaczyć. Wymyślone pytania są balastem: obniżają jakość strony i nie dają żadnego wyniku rozszerzonego, bo wyszukiwarka nieźle radzi sobie z rozpoznaniem treści dopisanej pod robota.
Klientom mówię jedno zdanie: to nie dźwignia pozycji, a szansa na lepiej wyglądający wynik, której nie da się zagwarantować. Przy tak ustawionych oczekiwaniach nikt nie pisze do mnie w panice, gdy lista pytań na tydzień zniknie. A zniknie — prędzej czy później na pewno.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |