Ugrás a tartalomra

Utoljára frissítve:

FAQPage schema implementáció lépésről lépésre — Astro, WordPress, Next.js

A FAQPage schema a legjobb befektetés-arányú GEO-boost, amit egy weboldalon elvégezhetsz: a Frase kutatása szerint 3,2×-esére növeli az AI Overview-megjelenés valószínűségét. Ez az útmutató megmutatja, hogyan implementáld helyesen JSON-LD formátumban — Astro, WordPress és Next.js platformokon — validálással, hibakezeléssel és a leggyakoribb csapdák elkerülésével.

TL;DR

A FAQPage JSON-LD schema @type: "FAQPage" + mainEntity tömbből áll. A <head>-be kerül. 8–12 kérdés az optimum, minden válasz max 50 szó, HTML tag nélkül. Astro-ban set:html={JSON.stringify(...)}, WordPress-ben wp_head hook, Next.js-ben next/head komponens. Validálás: Google Rich Results Test + Schema Markup Validator.

3,2×
AI Overview-megjelenés valószínűsége FAQPage schemával (Frase, 2024)
8–12
Optimális kérdésszám egy FAQPage schemában — a legjobb minőség-mennyiség arány
1–4 hét
Google feldolgozási idő az új schemától a SERP-en való megjelenésig

Miért működik a FAQPage schema?

A Google AI Overview egy tartalom-kinyerő mechanizmust használ, amely az indexelt oldalakból idézhető egységeket azonosít. A mechanizmus explicit Q&A-struktúrát keres: egy önállóan érthető kérdést és egy tömör, faktikus választ. A FAQPage schema ezt a struktúrát gépileg olvasható formában tárja az AI crawler elé — nincs szükség arra, hogy az AI a szövegkörnyezetből próbálja leolvasni a kérdés-válasz viszonyt.

A Frase 2024-es GEO-kutatása 10 000+ oldalt elemzett, és azt találta, hogy a FAQPage schemával rendelkező oldalak 3,2-szer akkora valószínűséggel kerülnek be az AI Overview forráslistájába, mint azonos témájú, de schema nélküli oldalak. Ez az egyetlen strukturált adat típus, amelyre ekkora hatásméretet mértek.

A mechanizmus három szinten dolgozik. Először: a schema explicit jelzést ad az AI crawlernek, hogy az oldal kérdés-válasz formátumban tartalmaz idézhető egységeket. Másodszor: a mainEntity tömb minden eleme önálló, kontextustól független választ tartalmaz — amit az AI anélkül tud idézni, hogy az egész oldalt feldolgozná. Harmadszor: a schema jelenléte a Google Rich Results rendszerén keresztül minőségi jelzésként is értelmezhető, amely a domain hitelességét növeli.

GEO-insight

A FAQPage schema hatása a domain authority-tól függetlenül érvényesül. Kis, kevésbé ismert oldalak is megjelenhetnek AI Overview-ban, ha a schema helyes, a kérdések valósak, és a válaszok tömören, önállóan érthetők. Ez a GEO leginkább demokratikus aspektusa.

A FAQPage schema JSON-LD struktúrája

A FAQPage schema JSON-LD formátumban három kötelező elemet tartalmaz: az @context hivatkozást a Schema.org-ra, az @type értékét ("FAQPage"), és a mainEntity tömböt, amely a kérdés-objektumokat tartalmazza. Minden kérdés-objektum @type: "Question" típusú, name mezőben tartalmazza a kérdést, és acceptedAnswer objektumban a választ.

FAQPage JSON-LD — teljes példa 3 kérdéssel
{
  "@context": "https://schema.org",  // kötelező — Schema.org névtér
  "@type": "FAQPage",               // kötelező — oldaltípus deklaráció
  "mainEntity": [                   // kötelező — kérdések tömbje

    {
      "@type": "Question",          // kötelező minden kérdésnél
      "name": "Mi az a FAQPage schema?",  // a kérdés szövege (egyezzen a látható HTML-lel)
      "acceptedAnswer": {
        "@type": "Answer",          // kötelező
        "text": "A FAQPage schema egy JSON-LD strukturált adat,
amely gépileg olvasható formában tárja a kérdés-válasz
párokat a keresőmotorok és AI crawlerek elé. Jelenléte
3,2×-esére növeli az AI Overview-megjelenés esélyét
(Frase, 2024)."
        // text: max 50 szó, HTML tag nélkül, önállóan érthető
      }
    },

    {
      "@type": "Question",
      "name": "Hány kérdés kerüljön egy FAQPage schemába?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "8–12 kérdés az optimális tartomány.
Kevesebb mint 6 kérdésnél az AI kevés idézhető egységet
talál; 12 felett a minőség rovására megy a mennyiség.
Minden kérdés valós Google-keresési szándékot tükrözzön."
      }
    },

    {
      "@type": "Question",
      "name": "Hol helyezzük el a FAQPage JSON-LD scriptet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A dokumentum head szekciójában, script
type=application/ld+json tagben. A Google body-ban is
feldolgozza, de a konvenció és a Rich Results Test
elvárása a head elhelyezés."
      }
    }

  ]  // mainEntity tömb vége
}

Néhány kritikus formai szabály, amelyeket a Google dokumentációja explicit előír:

Implementáció Astro-ban

Astro-ban a FAQPage schemát a frontmatterben definiáljuk JavaScript objektumként, majd a set:html direktívával adjuk át a <script type="application/ld+json"> tagnek. Ez a megközelítés biztonságos — elkerüli a JSX által esetleg módosított karaktereket — és a HubLayout slot="head" mechanizmusán keresztül garantálja a <head>-be kerülést.

Astro implementáció — frontmatter + template
---
// src/pages/pelda-oldal.astro
import HubLayout from '../layouts/HubLayout.astro';

// 1. A schema objektum definiálása a frontmatterben
const faqSchema = {
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Mi az a FAQPage schema?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A FAQPage schema egy JSON-LD strukturált adat,
amely 3,2×-esére növeli az AI Overview-megjelenés
valószínűségét (Frase, 2024)."
      }
    },
    {
      "@type": "Question",
      "name": "Hogyan kerülök be az AI Overview-ba?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "FAQPage schema + H2 szekciókban azonnali definíció
+ statisztika 150–200 szavanként + Author schema.
A struktúra és a schema kombinációja a leghatékonyabb."
      }
    }
    // ... további kérdések
  ]
};
---

<!-- 2. A HubLayout head slotján keresztül injektálás -->
<HubLayout title="..." description="..." ...>

  <!-- A script tag a head slotba kerül a set:html direktívával -->
  <script
    slot="head"
    type="application/ld+json"
    set:html={JSON.stringify(faqSchema)}
  />

  <!-- Az oldal többi tartalma... -->
</HubLayout>

Ha a HubLayout nem biztosít dedikált head slot-ot, a BaseLayout-ot kell kibővíteni, vagy a JSON-LD scriptet közvetlenül a <body> elejére helyezni. A set:html direktíva helyett sosem használj template literal interpolációt ({faqSchema["@type"]} stb.) a script tagen belül — ez nem azonos a teljes objektum szerializálásával.

Astro-specifikus megjegyzés

Az Astro build folyamata a JSON.stringify()-t build time-ban futtatja le, nem kliens oldalon. Ez azt jelenti, hogy a schema statikusan bekerül a generált HTML-be — pontosan az, amit a Google crawler lát és feldolgoz. Nincs szükség client-side JavaScript futtatására a schema megjelenítéséhez.

Implementáció WordPress-ben

WordPress-ben két megközelítés létezik: manuális implementáció a functions.php-n keresztül (teljes kontroll, plugin-függetlenség), vagy plugin-alapú megoldás Rank Math vagy Yoast SEO FAQ blokkkal (gyorsabb, de kevésbé rugalmas). Tartós, pontosan ellenőrizhető implementációhoz a manuális megközelítés javasolt.

1. lehetőség — manuális, functions.php

WordPress functions.php — FAQPage schema wp_head hookkal
<?php
// functions.php (child theme vagy plugin)
// A schemát csak a megfelelő oldalon adjuk hozzá

function vz_faqpage_schema() {
    // Csak a céloldalon fut le — cseréld ki az ID-t
    if ( ! is_page( 'faqpage-schema-implementacio' ) ) {
        return;
    }

    $faq_schema = array(
        '@context'   => 'https://schema.org',
        '@type'      => 'FAQPage',
        'mainEntity' => array(
            array(
                '@type'          => 'Question',
                'name'           => 'Hány kérdés kerüljön egy FAQPage schemába?',
                'acceptedAnswer' => array(
                    '@type' => 'Answer',
                    'text'  => '8–12 kérdés az optimális tartomány. Kevesebb mint 6
kérdésnél az AI kevés idézhető egységet talál; 12 felett
a minőség rovására megy a mennyiség.'
                )
            ),
            array(
                '@type'          => 'Question',
                'name'           => 'Hogyan validálom a FAQPage schemát?',
                'acceptedAnswer' => array(
                    '@type' => 'Answer',
                    'text'  => 'Google Rich Results Test (search.google.com/test/rich-results)
és Schema Markup Validator (validator.schema.org) —
mindkettőt futtasd implementáció után.'
                )
            )
            // ... további kérdések
        )
    );

    echo '<script type="application/ld+json">'
       . wp_json_encode( $faq_schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES )
       . '</script>' . "
";
}
add_action( 'wp_head', 'vz_faqpage_schema' );

2. lehetőség — Rank Math FAQ blokk

A Rank Math SEO bővítménnyel a Gutenberg szerkesztőben hozzáadhatsz egy FAQ blokkot, amelyet a Rank Math automatikusan FAQPage schemává alakít és a <head>-be injektál. A blokk látható FAQ-ot is renderel, így egyszerre teljesíti a schema-látható HTML egyezés követelményét. A blokk a Rank Math > Blokkok > FAQ menüpontból érhető el a szerkesztőben. Yoast SEO-ban a FAQ block ugyanígy működik, de csak a Yoast SEO Premium verzióban érhető el.

WordPress-tipp

A wp_json_encode() a json_encode() WordPress-specifikus, biztonsági szempontból javított változata. A JSON_UNESCAPED_UNICODE flag nélkül a magyar ékezetes karakterek unicode escape szekvenciaként jelennek meg a kimenetben — ez technikailag valid, de olvashatóságot ront és debugging-ot nehezít.

Implementáció Next.js-ben

Next.js-ben a next/head komponens biztosítja a <head>-be való injektálást. A JSON-LD schemát a komponens dangerouslySetInnerHTML propján keresztül adjuk át — ez a React-konform megközelítés a set:html Astro-beli megfelelője. A Next.js 13+ App Router esetén a metadata API JSON-LD-t nem kezel natívan, ezért a layout-ban közvetlenül kell script taget elhelyezni.

Next.js — Pages Router (pages/_app.js vagy page komponens)
// pages/faqpage-schema-implementacio.js  (Pages Router)
import Head from 'next/head';

const faqSchema = {
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Hány kérdés kerüljön egy FAQPage schemába?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "8–12 kérdés az optimális tartomány. Kevesebb mint 6
kérdésnél az AI kevés idézhető egységet talál."
      }
    },
    {
      "@type": "Question",
      "name": "Hogyan validálom a FAQPage schemát?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Google Rich Results Test és Schema Markup Validator —
mindkettőt futtasd implementáció után az URL-lel."
      }
    }
  ]
};

export default function FaqSchemaOldal() {
  return (
    <>
      <Head>
        {/* JSON-LD schema injektálása — dangerouslySetInnerHTML szükséges */}
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(faqSchema) }}
        />
      </Head>

      {/* Az oldal tartalma */}
      <main>
        {/* ... */}
      </main>
    </>
  );
}
Next.js — App Router (app/faqpage-schema-implementacio/page.js)
// app/faqpage-schema-implementacio/page.js  (App Router, Next.js 13+)

const faqSchema = {
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Hány kérdés kerüljön egy FAQPage schemába?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "8–12 kérdés az optimális tartomány."
      }
    }
    // ... további kérdések
  ]
};

export default function FaqSchemaOldal() {
  return (
    <>
      {/* App Routerben: script taget közvetlenül a komponensbe, nem Head-be */}
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(faqSchema) }}
      />

      <main>
        {/* ... */}
      </main>
    </>
  );
}

// metadata export — SEO meta tagekhez (JSON-LD-t NEM kezel)
export const metadata = {
  title: 'FAQPage schema implementáció — Astro, WordPress, Next.js',
  description: 'A FAQPage schema 3,2×-esére növeli az AI Overview-megjelenés valószínűségét.'
};

A 7 leggyakoribb hiba — és hogyan kerüld el

A Google Rich Results Test és a Search Console rendszeres vizsgálata alapján a következő 7 hiba a leggyakoribb FAQPage schema implementációkban. Mindegyik elkerülhető — de előfordulásuk csökkenti vagy megszünteti a schema pozitív hatását az AI Overview-megjelenésre.

Figyelem

A Google 2024-ben szigorított a FAQPage rich result megjelenítési feltételein: azok az oldalak, amelyeken a schema és a látható tartalom eltér, vagy amelyek nem valódi, keresési szándékon alapuló kérdéseket tartalmaznak, elveszíthetik a rich result megjelenítési jogosultságukat — és ez a büntetés az egész domain FAQPage schemájára kiterjedhet.

Validálás és tesztelés

Implementáció után mindig validáld a schemát két eszközzel. A Google Rich Results Test az AI Overview-ra és a keresési megjelenésre vonatkozó jogosultságot ellenőrzi; a Schema Markup Validator mélyebb JSON-LD strukturális validálást végez.

1. lépés — Google Rich Results Test

Nyisd meg a search.google.com/test/rich-results oldalt. Választhatsz URL-tesztet (a már publikált oldalhoz) vagy kód-tesztet (HTML kód közvetlen beillesztésével, még publikálás előtt is). A teszt megmutatja:

2. lépés — Schema Markup Validator

A validator.schema.org mélyebb JSON-LD validálást végez. Nem csupán a Google Rich Results szempontjából, hanem a Schema.org specifikáció teljessége alapján is ellenőrzi a schemát. Különösen hasznos, ha:

3. lépés — Google Search Console ellenőrzés

Miután a Googlebot újraindexelte az oldalt (1–4 hét), a Google Search Console Enhancements > FAQ szekciójában megjelenik az oldal — ha a schema valid és a rich result jogosultság fennáll. Ha az oldal nem jelenik meg itt 4 hét után sem, futtasd újra az URL Inspection-t és kattints a "Request Indexing" gombra.

Gyorsítás

Az indexelés felgyorsítható a Google Search Console "URL Inspection" eszközével: keresd meg az oldalt, majd kattints a "Request Indexing" gombra. Ez nem garantálja az azonnali feldolgozást, de előre sorolja az oldalt a Googlebot crawl-várólistájában. Friss domain esetén 1–2 hétig tarthat, régi, jó authority domaineken akár 1–3 napig.

Kérdések és válaszok

Hány kérdés kerüljön egy FAQPage schemába?

8–12 kérdés az optimális tartomány. Kevesebb mint 6 kérdés esetén az AI Overview-megjelenés valószínűsége csökken — a rendszer kevés idézhető egységet talál. 12-nél több kérdésnél a minőség rovására megy a mennyiség; jobb 8 jó kérdés, mint 15 generikus. Minden kérdés valós Google-keresési szándékot tükrözzön.

Kell-e a FAQPage schema látható HTML FAQ-nak megfelelni?

Igen — ez a Google egyik explicit követelménye. A schema 'name' mezőjének egyeznie kell az oldalon látható kérdés szövegével, az 'acceptedAnswer.text' tartalmának pedig az oldalon látható válasszal. Ha a schema és a látható tartalom eltér, a Google Rich Results Test figyelmeztetést jelez, és a megjelenés elmaradhat.

Hol helyezzük el a FAQPage JSON-LD scriptet?

A <head> szekcióban vagy a <body> elején, a fő tartalom előtt. A Google és a Bing egyaránt képes <body>-ban is feldolgozni, de a konvenció és a Google Rich Results Test elvárása a <head> elhelyezés. Astro-ban a HubLayout slot='head' mechanizmusán keresztül injektálj, Next.js-ben a Head komponensen belül.

Hogyan validálom a FAQPage schemát implementáció után?

Két eszközzel: 1) Google Rich Results Test (search.google.com/test/rich-results) — beírod az oldal URL-jét vagy HTML-jét, és megmutatja, hogy a schema valid-e és milyen rich result-ra jogosult. 2) Schema Markup Validator (validator.schema.org) — mélyebb JSON-LD validáció, warningok és errorok részletezve. Mindkettőt futtasd le implementáció után.

Mennyi idő alatt dolgozza fel a Google az új FAQPage schemát?

Általában 1–4 hét a Googlebot következő crawl-jától számítva. Gyorsítható a Google Search Console 'URL Inspection' eszközével: 'Request Indexing' gomb újraküldi az oldalt feldolgozásra. A Rich Results Test azonnali — de a live SERP-en való megjelenés a crawl-tól függ.

Mi a különbség a FAQPage, a QAPage és az HowTo schema között?

FAQPage: egy-egy kérdés egy fogadott (szerkesztett) válasszal — ideális cikk FAQ-okhoz. QAPage: egy kérdés több felhasználói válasszal és szavazatokkal — fórum-formátumhoz. HowTo: lépéses útmutató, minden lépésnek saját neve/képe/leírása — 'hogyan csináljak X-et' formátumhoz. GEO-szempontból a FAQPage és HowTo schema adja a legjobb AI Overview bekerülési arányt.

Kapcsolódó tartalmak

Ez a cikk az AI-látható weboldal hub egyik spoke cikke, amely a FAQPage schema technikai implementációját dolgozza fel. A témakör más dimenzióit az alábbi tartalmakban részletezem:

GEO Audit — implementálj a szakértővel

Ha szeretnéd, hogy a FAQPage schema és a teljes GEO-struktúra szakszerűen kerüljön a weboldaladra, kérd az auditot — megmutatom, mi hiányzik és hogyan javítható.

GEO audit kérése Kérdezz közvetlenül →