FAQ Schema (FAQPage) to typ danych strukturalnych, który pozwala wyświetlić pytania i odpowiedzi bezpośrednio w wynikach wyszukiwania Google. Prawidłowa implementacja może znacząco zwiększyć widoczność i CTR Twojej strony, ale Google wprowadził ważne ograniczenia, które musisz znać.
Czym jest FAQ Schema?
FAQPage to typ Schema.org, który oznacza stronę zawierającą listę pytań i odpowiedzi na określony temat. Google wykorzystuje te dane do wyświetlenia rozwijalnych sekcji FAQ bezpośrednio w wynikach wyszukiwania (SERP).
Jak wygląda FAQ Rich Result?
Gdy Google wyświetli FAQ rich result, użytkownik widzi:
- Tytuł i opis strony (standardowy wynik)
- Rozwijalne pytania pod opisem
- Po kliknięciu pytania - odpowiedź inline
- Możliwość rozwinięcia wszystkich pytań
Ten format może zwiększyć zajmowaną przestrzeń w SERP nawet 2-3 krotnie!
Ważne zmiany w 2023 roku
W sierpniu 2023 Google znacząco ograniczył wyświetlanie FAQ rich results:
Przed zmianą (do sierpnia 2023)
- FAQ rich results wyświetlane dla wszystkich stron
- Bardzo popularny sposób na zwiększenie widoczności
- Szeroko wykorzystywany przez SEO
Po zmianie (od sierpnia 2023)
- FAQ rich results tylko dla stron rządowych i medycznych o wysokim autorytecie
- Zwykłe strony komercyjne nie otrzymują FAQ snippets
- HowTo rich results również ograniczone
Co to oznacza dla Twojej strony?
- Strony komercyjne - FAQ Schema nadal warto wdrażać (pomaga Google zrozumieć treść), ale nie oczekuj wyświetlania w SERP
- Strony rządowe (.gov) - pełne FAQ rich results
- Strony medyczne - potencjalnie FAQ rich results (wymagany wysoki autorytet)
- Strony edukacyjne - możliwe FAQ rich results
Implementacja FAQ Schema
Mimo ograniczeń, warto wdrożyć FAQ Schema, ponieważ:
- Pomaga Google lepiej zrozumieć treść
- Może wpłynąć na Featured Snippets
- Przygotowuje stronę na ewentualne przywrócenie rich results
- Poprawia strukturę treści
Podstawowa implementacja JSON-LD
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Czym jest pozycjonowanie SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pozycjonowanie SEO (Search Engine Optimization) to proces optymalizacji strony internetowej w celu poprawy jej widoczności w organicznych wynikach wyszukiwania Google i innych wyszukiwarek."
}
},
{
"@type": "Question",
"name": "Ile kosztuje pozycjonowanie strony?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Koszt pozycjonowania zależy od wielu czynników: konkurencyjności branży, stanu strony, zakresu prac. Typowe ceny wahają się od 1500 do 10000 PLN miesięcznie dla małych i średnich firm."
}
},
{
"@type": "Question",
"name": "Jak długo trwa pozycjonowanie?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pierwsze efekty pozycjonowania są widoczne zazwyczaj po 3-6 miesiącach. Pełne rezultaty i stabilne pozycje osiąga się zwykle po 6-12 miesiącach systematycznych działań."
}
}
]
}
HTML do wstrzyknięcia
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Pytanie 1?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Odpowiedź na pytanie 1."
}
}
]
}
</script>
Odpowiedzi z formatowaniem HTML
Odpowiedzi mogą zawierać podstawowe HTML:
{
"@type": "Question",
"name": "Jakie są korzyści z pozycjonowania?",
"acceptedAnswer": {
"@type": "Answer",
"text": "<p>Główne korzyści z pozycjonowania to:</p><ul><li>Zwiększony ruch organiczny</li><li>Wyższa konwersja</li><li>Budowanie autorytetu marki</li><li>Długoterminowe rezultaty</li></ul><p>Dowiedz się więcej na <a href='https://example.com/seo'>naszej stronie o SEO</a>.</p>"
}
}
Dozwolone znaczniki HTML w odpowiedziach:
<p>- akapity<br>- łamanie linii<ul>,<ol>,<li>- listy<a href="">- linki<b>,<strong>- pogrubienie<i>,<em>- kursywa<h2>-<h6>- nagłówki
Wymagania Google dla FAQ Schema
Treść musi być widoczna
FAQ musi być widoczne na stronie. Nie możesz dodać Schema dla treści, która nie istnieje w HTML.
<!-- Sekcja FAQ na stronie -->
<section class="faq">
<h2>Często zadawane pytania</h2>
<div class="faq-item">
<h3>Czym jest pozycjonowanie SEO?</h3>
<p>Pozycjonowanie SEO to proces optymalizacji...</p>
</div>
<div class="faq-item">
<h3>Ile kosztuje pozycjonowanie?</h3>
<p>Koszt zależy od wielu czynników...</p>
</div>
</section>
<!-- JSON-LD z tą samą treścią -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [...]
}
</script>
Jedna FAQPage na stronę
Na jednej stronie może być tylko jeden typ FAQPage. Możesz mieć wiele pytań (Question), ale jeden kontener FAQPage.
Pytania muszą być unikalne
Nie duplikuj tych samych pytań na wielu stronach. Google może uznać to za spam.
Treść nie może być reklamowa
FAQ nie może być wykorzystywane wyłącznie do promocji:
// ŹLE - zbyt reklamowe
{
"@type": "Question",
"name": "Dlaczego nasza firma jest najlepsza?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Jesteśmy najlepsi ponieważ mamy 20 lat doświadczenia i setki zadowolonych klientów. Zadzwoń teraz!"
}
}
// DOBRZE - informacyjne
{
"@type": "Question",
"name": "Na co zwrócić uwagę wybierając agencję SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Przy wyborze agencji SEO warto sprawdzić: portfolio i case studies, opinie klientów, transparentność działań, raportowanie wyników, oraz doświadczenie w Twojej branży."
}
}
Implementacja w różnych technologiach
WordPress
Yoast SEO:
- Edytuj stronę/post
- Dodaj blok “Yoast FAQ”
- Wprowadź pytania i odpowiedzi
- Schema generowane automatycznie
Rank Math:
- Użyj bloku “FAQ by Rank Math”
- Lub włącz Schema w ustawieniach posta
Ręcznie:
// W functions.php lub szablonie
function add_faq_schema() {
$faq_data = array(
'@context' => 'https://schema.org',
'@type' => 'FAQPage',
'mainEntity' => array(
array(
'@type' => 'Question',
'name' => 'Pytanie 1?',
'acceptedAnswer' => array(
'@type' => 'Answer',
'text' => 'Odpowiedź 1.'
)
)
)
);
echo '<script type="application/ld+json">' . json_encode($faq_data) . '</script>';
}
add_action('wp_footer', 'add_faq_schema');
React/Next.js
import Head from 'next/head';
const FAQSchema = ({ faqs }) => {
const schema = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: faqs.map(faq => ({
'@type': 'Question',
name: faq.question,
acceptedAnswer: {
'@type': 'Answer',
text: faq.answer
}
}))
};
return (
<Head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
</Head>
);
};
// Użycie
const faqs = [
{ question: 'Pytanie 1?', answer: 'Odpowiedź 1.' },
{ question: 'Pytanie 2?', answer: 'Odpowiedź 2.' }
];
<FAQSchema faqs={faqs} />
Astro
---
const faqs = [
{ question: 'Pytanie 1?', answer: 'Odpowiedź 1.' },
{ question: 'Pytanie 2?', answer: 'Odpowiedź 2.' }
];
const faqSchema = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: faqs.map(faq => ({
'@type': 'Question',
name: faq.question,
acceptedAnswer: {
'@type': 'Answer',
text: faq.answer
}
}))
};
---
<script type="application/ld+json" set:html={JSON.stringify(faqSchema)} />
<section class="faq">
<h2>FAQ</h2>
{faqs.map(faq => (
<details>
<summary>{faq.question}</summary>
<p>{faq.answer}</p>
</details>
))}
</section>
Testowanie FAQ Schema
Rich Results Test
- Otwórz Rich Results Test
- Wklej URL strony lub kod HTML
- Sprawdź czy FAQPage jest wykryty
- Przejrzyj ewentualne błędy i ostrzeżenia
Schema Markup Validator
https://validator.schema.org/ - szczegółowa walidacja zgodności ze specyfikacją Schema.org.
Google Search Console
W GSC sprawdź raport Unparsable structured data dla błędów w danych strukturalnych.
Alternatywy dla FAQ Schema
Skoro FAQ rich results są ograniczone, rozważ inne typy Schema:
HowTo Schema
Dla poradników krok po kroku:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Jak założyć konto w Google Analytics",
"step": [
{
"@type": "HowToStep",
"name": "Przejdź do analytics.google.com",
"text": "Otwórz przeglądarkę i wejdź na stronę Google Analytics."
},
{
"@type": "HowToStep",
"name": "Kliknij Rozpocznij pomiar",
"text": "Na stronie głównej kliknij przycisk 'Rozpocznij pomiar'."
}
]
}
Q&A Schema
Dla stron typu forum z wieloma odpowiedziami na jedno pytanie:
{
"@context": "https://schema.org",
"@type": "QAPage",
"mainEntity": {
"@type": "Question",
"name": "Jak poprawić Core Web Vitals?",
"answerCount": 3,
"acceptedAnswer": {
"@type": "Answer",
"text": "Najlepsza odpowiedź...",
"upvoteCount": 42
},
"suggestedAnswer": [
{
"@type": "Answer",
"text": "Inna odpowiedź...",
"upvoteCount": 15
}
]
}
}
Best Practices
1. Twórz wartościowe FAQ
Odpowiadaj na rzeczywiste pytania użytkowników:
- Sprawdź “Ludzie też pytają” w Google
- Analizuj zapytania w Search Console
- Przejrzyj komentarze i maile od klientów
2. Aktualizuj FAQ regularnie
Nieaktualne odpowiedzi mogą zaszkodzić:
- Przeglądaj FAQ co kwartał
- Usuwaj nieaktualne pytania
- Dodawaj nowe pytania na podstawie trendów
3. Łącz FAQ z innymi typami Schema
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"name": "Pozycjonowanie stron - usługi SEO",
"description": "..."
},
{
"@type": "FAQPage",
"mainEntity": [...]
},
{
"@type": "Service",
"name": "Pozycjonowanie SEO",
"provider": {
"@type": "Organization",
"name": "UPER"
}
}
]
}
4. Unikaj spamu
- Maksymalnie 10-15 pytań na stronę
- Każde pytanie powinno być unikalne
- Odpowiedzi min. 50-100 słów
Podsumowanie
FAQ Schema pozostaje wartościowym elementem strategii SEO, mimo ograniczenia rich results w 2023 roku:
- Rich results ograniczone - głównie dla stron rządowych i medycznych
- Wdrożenie nadal zalecane - pomaga Google zrozumieć treść
- Fokus na jakość - wartościowe, unikalne pytania i odpowiedzi
- Testowanie - Rich Results Test przed publikacją
- Alternatywy - rozważ HowTo, Q&A i inne typy Schema
Nawet bez wyświetlania w SERP, FAQ Schema poprawia strukturę treści i może wpływać na Featured Snippets oraz odpowiedzi AI.
Źródła
-
Google Search Central - FAQ structured data https://developers.google.com/search/docs/appearance/structured-data/faqpage
-
Schema.org - FAQPage https://schema.org/FAQPage
-
Google Search Central Blog - August 2023 update https://developers.google.com/search/blog/2023/08/howto-faq-changes
-
Google Rich Results Test https://search.google.com/test/rich-results
-
Schema.org - Question https://schema.org/Question



