Schema FAQPage i rich results, kiedy Google pokazuje FAQ (2026)

faqpage5 min czytania25 lipca 2026

Autor: DevStudio.it

TL;DR

FAQPage w JSON-LD może dać rozwijane pytania w wynikach Google, ale od 2023/2024 Google mocno ograniczył, kto dostaje FAQ rich results (głównie autorytatywne / rządowe / zdrowotne w wielu rynkach; reguły się zmieniają). Nawet bez snippeta FAQ na stronie nadal pomaga UX, featured snippets i E-E-A-T. Ten przewodnik skupia się tylko na FAQ (uzupełnienie ogólnego JSON-LD): kiedy schema ma sens, jak uniknąć mismatch content↔markup, jak wdrożyć w Next.js i jak testować w Rich Results Test / GSC. Organization, BlogPosting i BreadcrumbList, w osobnym artykule o Schema.org.

Dla kogo

  • Firm usługowych z sekcją FAQ na ofercie, landingu lub blogu
  • Developerów Next.js dodających structured data do markdowna
  • SEO, którzy widzieli FAQ w SERP konkurencji i chcą checklistę zgodności
  • Zespołów po utracie FAQ rich results (nie panikować, treść zostaje)
  • Autorów, którzy mają FAQ w HTML, ale bez JSON-LD (lub odwrotnie)

Fraza (SEO)

faqpage json-ld, schema faq rich results 2026, faqpage nextjs, faq structured data google, rich results test faq, faq seo strona firmowa

Co to jest FAQPage (i czym nie jest)

FAQPage to typ Schema.org opisujący stronę z listą pytań i odpowiedzi. W JSON-LD:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Ile trwa wdrożenie strony firmowej?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Typowy zakres to 4–8 tygodni od briefu do produkcji, zależnie od liczby locale i integracji."
      }
    }
  ]
}
To jest To nie jest
Markup widocznego FAQ na stronie Sposób na upchnięcie keywordów niewidocznych dla usera
Uzupełnienie QAPage (pytania użytkowników) Zamiennik Organization / LocalBusiness
Potencjalny rich result (gdy Google uzna) Gwarancja pozycji #1

QAPageFAQPage: QA to wątki Q&A (Stack Overflow style). Na stronie firmowej prawie zawsze chcesz FAQPage.

Kiedy Google pokazuje (lub nie) FAQ rich results

Polityka Google ewoluuje. Stan praktyczny na 2026:

  • Rich results FAQ są ograniczone, wiele zwykłych stron komercyjnych nie dostaje snippeta mimo poprawnego JSON-LD
  • Nadal warto mieć FAQ + schema, bo: UX, długie odpowiedzi pod featured snippet, spójność z People Also Ask
  • Google wymaga, by treść w markup odzwierciedlała treść widoczną
  • Treści medyczne / YMYL mają osobne, surowsze zasady

Wniosek biznesowy: buduj FAQ pod użytkownika i sprzedaż (zastrzeżenia, proces, cena „od”), a rich result traktuj jako bonus, nie KPI nr 1.

Zasady zgodności, pułapki

  1. Każde pytanie z JSON-LD musi być na stronie (HTML), accordion OK, byle w DOM po SSR
  2. Odpowiedź w schema ≈ odpowiedź widoczna (nie skrót vs esej)
  3. Bez reklam i „kup teraz” jako jedynej treści odpowiedzi
  4. Bez FAQ o innej stronie (pytania muszą dotyczyć tej URL)
  5. Unikaj duplicate FAQ skopiowanego 1:1 na 20 landingów, thin + spam signal
  6. Nie mieszaj Review i FAQ w jeden mylący blok
  7. Język = locale strony (inLanguage / treść PL na /pl)
Błąd Skutek
Schema FAQ, brak sekcji w UI Odrzucenie / ręczna ocena jakości
40 pytań keyword stuffing Ignorowanie markupu
Client-only FAQ (pusty HTML) Google nie widzi treści
FAQ tylko jako obrazek Brak tekstu do snippeta

Gdzie FAQ ma sens na stronie usługowej

URL Cel FAQ
Oferta / usługi Cena „od”, czas, co w scope, hosting
Landing Ads Zastrzeżenia zgodne z reklamą
Case study Metodyka, stack, ograniczenia
Blog przewodnik Podsumowanie + CTA
Kontakt SLA odpowiedzi, co przygotować do briefu

3–7 pytań wysokiej jakości bije 25 ogólników.

Implementacja w Next.js App Router

1. FAQ w markdownzie bloga

Jeśli pipeline (jak w DevStudio.it) wykrywa sekcję ## FAQ i generuje JSON-LD, trzymaj pytania jako ### Pytanie + akapit odpowiedzi. Spójność parsera = zero driftu między HTML a schema.

2. Ręczne script na stronie oferty

// components/FaqJsonLd.tsx
type FaqItem = { question: string; answer: string };

export function FaqJsonLd({ items }: { items: FaqItem[] }) {
  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'FAQPage',
    mainEntity: items.map((item) => ({
      '@type': 'Question',
      name: item.question,
      acceptedAnswer: {
        '@type': 'Answer',
        text: item.answer,
      },
    })),
  };

  return (
    <script
      type="application/ld+json"
      dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
    />
  );
}

3. Widoczny accordion (SSR)

export function FaqSection({ items }: { items: FaqItem[] }) {
  return (
    <section aria-labelledby="faq-heading">
      <h2 id="faq-heading">FAQ</h2>
      <div>
        {items.map((item) => (
          <details key={item.question}>
            <summary>{item.question}</summary>
            <p>{item.answer}</p>
          </details>
        ))}
      </div>
      <FaqJsonLd items={items} />
    </section>
  );
}

details/summary jest dostępne i indeksowalne bez JS. Unikaj FAQ ładowanego wyłącznie po useEffect z API, chyba że treść jest też w RSC.

4. Dane z CMS / bazy

Jeśli FAQ oferty żyje w Branchly, serwuj te same rekordy do UI i do JSON-LD w Server Component, jedno źródło prawdy. Hosting z SSR na DevStudioIT Cloud gwarantuje, że pierwsza odpowiedź HTML zawiera pytania.

Testowanie

  1. Rich Results Test, wklej URL lub kod
  2. GSC → Enhancements / rich result reports (jeśli dostępne dla property)
  3. View Source / „View crawled page”, czy FAQ jest w HTML
  4. Po zmianie: czekaj na re-crawl; brak snippeta ≠ błąd schema

Walidacja Schema.org ≠ gwarancja wyświetlenia w Google.

FAQ a inne typy na tej samej stronie

Możesz mieć na jednym URL:

  • Organization / WebSite (layout)
  • BreadcrumbList
  • FAQPage
  • Service lub BlogPosting

Używaj @graph albo osobnych &lt;script type=&quot;application/ld+json&quot;&gt;. Nie pakuj FAQ do Article jako jedynego typu, jeśli strona to oferta usług.

Checklista publikacji FAQ

  1. 3–7 realnych pytań klientów (z calli / maili)
  2. Odpowiedzi konkretne, bez lania wody
  3. Sekcja widoczna w HTML (SSR)
  4. JSON-LD 1:1 z widokiem
  5. Locale zgodne z URL
  6. Rich Results Test bez błędów krytycznych
  7. CTA po FAQ → #formularz-kontakt
  8. Po 30 dniach: GSC + czy snippet się pojawił (bonus)

FAQ

Czy bez rich result schema FAQ jest bezużyteczna?

Nie. Porządkuje treść, wspiera snippet klasyczny / PAA i spójność dla asystentów. Rich result to opcjonalna warstwa.

Ile znaków powinna mieć odpowiedź?

Wystarczająco, by domknąć pytanie (zwykle 2–5 zdań). Esej przenieś do artykułu i linkuj.

Czy mogę dodać FAQPage na każdej podstronie?

Tylko jeśli FAQ jest unikalne i na temat. Kopiowanie tego samego bloku wszędzie wygląda jak spam.

FAQ w modalu po kliknięciu, OK?

Ryzykowne, jeśli treść nie jest w początkowym HTML. Preferuj SSR accordion.

CTA

Chcesz wdrożyć FAQ + JSON-LD na ofercie i blogu Next.js, ze SSR i testami rich results?

Powiązane wpisy

JSON-LD i Schema.org, SEO strony firmowej w Next.js (przewodnik 2026)
9 min czytania
Canonical URL i duplicate content w Next.js, PL/EN/DE, hreflang, trailing slash (2026)
5 min czytania
robots.txt w Next.js App Router, crawl budget i pułapki Disallow (2026)
5 min czytania

O autorze

Budujemy szybkie strony WWW, aplikacje web/mobile, chatboty AI i hosting — z naciskiem na SEO i konwersję.

Przydatne linki

Od teorii do produkcji — Branchly, hosting i realizacje.

Podoba Ci się nasze podejście? Zbudujmy coś razem.

Rozpocznij konfigurację projektu