Cyber SEO: 50% kedvezmény
Beállítások

A magánszféra fontos számunkra, ezért lehetőséged van kikapcsolni bizonyos típusú tárolókat, amelyekre a weboldal alapvető működéséhez nincs szükség. A kategóriák letiltása befolyásolhatja a weboldal használatának élményét. További információ (Sütikezelési szabályzat)

Összes süti elfogadása

Next.js SEO: renderelés, metaadatok, sitemapek és egy blog, amely rangsorol

Next.js SEO útmutató: válassz SSG, SSR vagy ISR módot, állítsd be a metaadatokat és a canonical címkéket, generálj sitemap.xml fájlt, futtass webhookkal táplált blogot, és maradj olvasható az AI-robotok számára.

Közzétéve
25/10/2026
Frissítve
25/10/2026
Olvasási idő
8 perc
Sorank-képernyőkép: fehér kártya Technikai SEO címkével és „Next.js SEO” felirattal, cikkek listája fölött

Eszközök

Ezen az oldalon

Röviden

a Next.js az egyik legjobb React-keretrendszer SEO-szempontból, mert teljes HTML-t küld a robotoknak üres váz helyett. A rangsoroláshoz rendereld előre a tartalmi oldalakat (statikus generálás vagy ISR), határozd meg a címeket, leírásokat és canonical címkéket a Metadata API-val, generálj sitemap.xml és robots.txt fájlt az app mappából, használj valódi linkeket és helyes státuszkódokat, és tartsd a fő tartalmadat kizárólag kliensoldali kódon kívül, mert a legtöbb AI-robot nem futtat JavaScriptet.

Szeretnél többet megtudni? Kérdezd meg

Gyors kvíz

Neked való a SEO, és hogyan kezdd el?

1. kérdés, összesen 425%
Keresik az emberek a Google-ben, amit eladsz?

A Next.js SEO főleg arról szól, hogy útvonalanként jól döntsd el: mi renderelődik a szerveren, mi kerül gyorsítótárba, és mi kerül be a HTML-be, mielőtt bármilyen szkript lefutna. A Google a JavaScript SEO alapjaiban leírja, hogy a JavaScript-alkalmazásokat három fázisban dolgozza fel (bejárás, renderelés, indexelés), és hogy „a szerveroldali vagy előre renderelt megjelenítés továbbra is nagyon jó ötlet”. A Next.js ezt alapértelmezetten megteszi. Ez az útmutató az App Routerrel foglalkozik (Next.js 13-tól), a régebbi Pages Routerhez tartozó megjegyzésekkel.

Jó a Next.js SEO-szempontból?

Igen. Egy sima, kliensoldali renderelésű React-alkalmazás szinte üres HTML-fájlt küld, és az oldalt a böngészőben építi fel; a keresőmotoroknak ezt renderelniük kell, és sok robot soha nem teszi meg. A Next.js a szerveren renderel Reactot, így a HTML-válasz már tartalmazza a fejléceket, a szöveget, a linkeket és a metaadatokat. A JavaScript SEO útmutatónk elmagyarázza, miért fontos ez a különbség az indexeléshez.

Az App Routerben a komponensek alapértelmezetten Server Components. Még a 'use client' jelöléssel ellátott komponensek is előre renderelődnek HTML-re a szerveren. A gyenge pont az adat: minden, amit a useEffect-ben kérsz le, vagy csak egy kattintás után töltesz be, hiányzik a kezdeti HTML-ből. A tartalmat Server Components-ben kérd le, a kliens komponenseket pedig az interaktivitásra tartsd meg.

SSG, SSR, ISR vagy CSR: melyik renderelési módot válaszd?

A Next.js útvonalanként keverheti a módokat. A választás hat a frissességre, a sebességre és arra, amit a robotok kapnak.

MódMikor épül a HTMLSEO-ítéletIdeális
Statikus generálás (SSG)Build időbenA legjobb: teljes HTML, nagyon gyorsCéloldalak, dokumentációk, örökzöld cikkek
Inkrementális statikus újragenerálás (ISR)Build időben, majd a háttérben vagy igény szerint frissülA legjobb nagy vagy változó oldalaknálBlogok, termékkatalógusok, CMS-oldalak
Szerveroldali renderelés (SSR)Minden kérésnélJó: teljes HTML, a szerver sebességétől függSzemélyre szabott vagy valós idejű oldalak
Kliensoldali renderelés (CSR)A böngészőbenGyenge: a tartalom a legtöbb robot számára láthatatlanBejelentkezés mögötti irányítópultok

A Next.js ISR-dokumentációja felsorolja az előnyöket: a statikus tartalom frissíthető „az egész oldal újraépítése nélkül”, és nagy mennyiségű oldal kezelhető hosszú build-idő nélkül. Az export const revalidate = 3600 beállítású útvonal legfeljebb óránként regenerálódik; pontos vezérléshez a tartalom változásakor hívd meg a revalidatePath vagy a revalidateTag függvényt. Figyelj arra, hogy az ISR nem működik statikus exporttal (output: 'export'). Azoknak az alkalmazásoknak, amelyeknek kliensoldalon kell maradniuk, az egyoldalas alkalmazások SEO-ja útmutatónk tartalmazza a megkerülő megoldásokat.

Tipp

Azt ellenőrizd, amit a robotok kapnak, nem azt, amit a böngésződ mutat: futtass curl parancsot az URL-en, vagy nyisd meg a view-source nézetet, és keress rá egy mondatra a cikkből. Ha nincs a nyers HTML-ben, az JavaScripttől függ.

Hogyan állíthatod be a címeket, leírásokat és canonical címkéket a Metadata API-val?

A Metadata API az App Routerben a next/head helyét veszi át. A Next.js metaadat-dokumentációja szerint egy layoutból vagy oldalból statikus metadata objektumot exportálsz, vagy generateMetadata függvényt, ha az értékek adattól függnek, és a Next.js generálja a fejléc címkéit. Mindkettő csak Server Components-ben támogatott.

export async function generateMetadata({ params }) {
  const { slug } = await params
  const post = await getPost(slug)
  return {
    title: post.title,
    description: post.excerpt,
    alternates: { canonical: `/blog/${slug}` },
    openGraph: { images: [post.cover] },
  }
}

Öt szabály, amely a legtöbb problémát megelőzi:

  • Állítsd be a metadataBase értékét a gyökérlayoutban (az éles domained), hogy a relatív canonical és Open Graph URL-ek abszolútak legyenek.
  • Használj címsablont a gyökérlayoutban, például '%s | Brand' formában, hogy minden oldal egyedi címet kapjon, a márkanév pedig egyszer szerepeljen benne.
  • Adj minden indexelhető oldalnak önhivatkozó canonical címkét az alternates.canonical beállítással; ez véd a lekérdezési paraméterek és a záró perjelek miatt keletkező duplikációk ellen. A canonical címke szószedeti szócikkünk elmagyarázza a szabályokat.
  • Írj leírást minden oldalhoz, amelyet a generateMetadata-ban a tartalomból generálsz, soha ne használj egységes, webhelyszintű alapértelmezettet.
  • Adj Open Graph képeket az útvonal mappájában lévő opengraph-image fájllal, és ellenőrizd az eredményt egy Open Graph előnézeti eszközzel.

Dinamikus oldalaknál a Next.js az első bájtok után streamelve küldi a metaadatokat, hogy gyorsítsa a renderelést. A dokumentáció szerint a streamelés azoknál a robotoknál le van tiltva, amelyek a fejlécben várják a metaadatokat, ezt a user agent alapján ismeri fel (például a Bingbot, a Twitterbot és a Slackbot), és a htmlLimitedBots beállítással testreszabható a lista. Ha egy nem szereplő robot számít neked, add hozzá. A Pages Routerben a megfelelő megoldás a next/head Head komponense, a key attribútummal, hogy elkerüld a duplikált címkéket.

Hogyan generálhatsz sitemap.xml és robots.txt fájlt Next.js-ben?

Mindkettő speciális fájl az app mappában. Egy sitemap.ts fájl, amely URL-eket visszaadó függvényt exportál, a /sitemap.xml címet kapja; egy robots.ts fájl a /robots.txt címet. A sitemap-referencia megjegyzi, hogy a fájl alapértelmezetten gyorsítótárazott, és hogy a Google határa sitemapenként 50 000 URL; efölött a generateSitemaps több fájlra bontja.

import type { MetadataRoute } from 'next'

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const posts = await getPosts()
  return posts.map((p) => ({
    url: `https://example.com/blog/${p.slug}`,
    lastModified: p.updatedAt,
  }))
}

Csak a kanonikus, indexelhető, 200-as választ adó URL-eket vegyél bele, a lastModified mezőben pedig a valódi frissítési dátumot használd. A sitemap többnyelvű oldalaknál az alternates.languages beállítást is elfogadja. A robots.ts fájlban mutass a sitemapre, és döntsd el, mely AI-robotok járhatják be az oldalt; az AI-robotok robots.txt-jéről szóló cikkünk felsorolja őket. A formátumról bővebben az XML-sitemap szószedeti szócikkünkben olvashatsz.

Mely technikai részletek törik el leggyakrabban a Next.js SEO-t?

ProblémaMi történikMegoldás
Navigáció onClick és router.push segítségévelA Google csak href attribútummal rendelkező a elemeket követiHasználd a next/link Link komponensét, amely valódi linket jelenít meg
Hiányzó tartalom 200-as oldalként jelenik megSoft 404 a Search Console-banHívd meg a notFound() függvényt, hogy az útvonal 404 státuszt adjon
Átköltöztetett oldalak ideiglenes átirányításaA redirect() 307-es kódot küldHasználd a permanentRedirect() függvényt, vagy a permanent: true beállítást a next.config fájlban (308)
Vegyes záró perjelekKét URL ugyanarra az oldalraVálassz egyet a trailingSlash beállítással, és tartsd következetesen a canonical címkéket
Előnézeti vagy tesztkörnyezeti telepítések indexelveAz oldal duplikált példányai a Google-benKüldj noindex jelzést a nem éles domaineken
Füleken keresztül, kattintásra betöltött tartalomA szöveg hiányzik a HTML-bőlJelenítsd meg az összes tartalmat a szerveren, és szükség esetén CSS-sel rejtsd el

Ezek a problémák mind csökkentik a bejárhatóságot: a robotnak minden URL-t el kell tudnia érnie linkeken keresztül, és tiszta státuszkódot kell kapnia.

Hogyan adhatsz strukturált adatokat egy Next.js oldalhoz?

A Next.js dokumentációja azt javasolja, hogy a JSON-LD-t application/ld+json típusú script-címkeként rendereld közvetlenül az oldal vagy a layout komponensében, az oldallal azonos adatokból építve, és a sorosított JSON-ban escape-eld a < karaktert, hogy megelőzd a befecskendezést. Mivel a szerveren renderelődik, a Google és az AI-robotok is látják a nyers HTML-ben. Cikkekhez használj Article (vagy BlogPosting) típust, a gyökérlayoutban Organization-t, mély oldalaknál BreadcrumbList-et, webáruházaknál pedig Product-ot. A sémagenerátor érvényes kiindulópontot ad, utána a Google Rich Results Test eszközével ellenőrizd az oldalt.

Hogyan teheted elég gyorssá a Next.js oldalt a Core Web Vitals-hoz?

A Next.js olyan komponenseket szállít, amelyek kezelik a gyenge Core Web Vitals szokásos okait:

  • next/image: átméretezi a képeket, modern formátumokat szolgál ki, alapértelmezetten lusta betöltést alkalmaz, és megköveteli a méreteket, ami megakadályozza az elrendezés-eltolódást. A hajtás feletti fő képet jelöld prioritásként, hogy ne legyen lusta betöltésű (általában ez a Largest Contentful Paint elem).
  • next/font: saját szerverről szolgálja ki a betűtípusokat, és elkerüli az elrendezés-eltolódást, amelyet a későn cserélt betűtípusok okoznak.
  • next/script: a harmadik féltől származó szkripteket stratégiával tölti be (afterInteractive, lazyOnload), ahelyett hogy blokkolná az oldalt.
  • Kevesebb kliensoldali JavaScript: minden 'use client' határ újabb letöltendő és hidratálandó kódot ad, ami mobilon terheli az Interaction to Next Paint mutatót.

Valós felhasználói adatot mérj, ne csak laboratóriumi pontszámot: a PageSpeed Insights útmutatónk megmutatja, hogyan olvasd mindkettőt.

Hogyan futtass rangsoroló blogot Next.js-en?

Egy Next.js blog általában három formában létezik: MDX vagy Markdown fájlok a repositoryban (egyszerű, de minden poszthoz commit és telepítés kell), egy headless CMS (Sanity, Contentful, Strapi, Payload), amelyet Server Components-ben kérdezel le, vagy egy publikáló webhook, amely egy külső eszköztől fogadja a cikkeket. Mindhárom esetben az SEO-minta ugyanaz: egy dinamikus app/blog/[slug] útvonal generateStaticParams, generateMetadata és ISR beállítással, a sitemap ugyanabból a forrásból táplálva, és egy indexoldal, amely minden posztra linkel.

A webhook-minta kiveszi a publikálást a telepítési ciklusból. Egy Route Handler fogadja a cikket, elmenti, majd újravalidálja az érintett oldalakat:

// app/api/publish/route.ts
import { revalidatePath } from 'next/cache'

export async function POST(request) {
  if (request.headers.get('authorization') !== `Bearer ${process.env.PUBLISH_SECRET}`) {
    return new Response('Unauthorized', { status: 401 })
  }
  const article = await request.json()
  await savePost(article)
  revalidatePath('/blog')
  revalidatePath(`/blog/${article.slug}`)
  return Response.json({ ok: true })
}

Figyelem

Védd a végpontot titokkal, és a pontos nyilvános útvonalat validáld újra. Az ISR-dokumentáció figyelmeztet: több szerverpéldány és az alapértelmezett fájl-gyorsítótár esetén az igény szerinti újravalidálás csak azt a példányt üríti, amelyik a hívást kapja; ilyenkor közös gyorsítótár-kezelőt használj.

Hogyan segít a Next.js SEO abban, hogy az AI-asszisztensek idézzenek?

A szerveroldali renderelés a GEO (generatív motoroptimalizálás) első feltétele. A Vercel 2024. decemberi elemzése, a Az AI-robotok felemelkedése megállapította, hogy „a nagy AI-robotok közül egyik sem renderel jelenleg JavaScriptet”, név szerint a GPTBotot, a ChatGPT-Usert, az OAI-SearchBotot, a ClaudeBotot és a PerplexityBotot említette, és egy hónap alatt 569 millió GPTBot-lekérést és 370 millió Claude-lekérést számolt a hálózatán. Egy Next.js oldal, amely előre rendereli a szövegét, a fejléceit és a JSON-LD-jét, mindegyikük számára olvasható; egy kliensoldalon renderelt oldal nem.

A második feltétel az idézésre érdemes tartalom: olyan cikkek, amelyek szakaszonként egy kérdésre válaszolnak, forrásokkal, adatokkal és világos definíciókkal, rendszeresen publikálva. Ezt a részt automatizálja a Sorank, a termékünk. A Sorank autopilot SEO- és GEO-szoftver: megtalálja a kulcsszavaidat, a blogcikk-generátora pedig havi 20, 60 vagy 120 cikket ír forrásokkal, belső linkekkel és képekkel. Egy Next.js oldalhoz az telepítési oldalon leírt egyéni webhookon keresztül csatlakozik: a Route Handler fogadja minden cikket, elmenti, és újravalidálja a blogot. Az AI-említések követése ezután havonta ellenőrzi, hogy a ChatGPT, a Claude és a Gemini idézi-e a márkádat.

A Sorank blogcikk-generátor űrlapja, amely egy célkulcsszóból SEO-cikket készít

A lényeg röviden: renderelj előre minden olyan oldalt, amelyet meg akarsz találni, határozd meg a metaadatokat a szerveren, és a sitemapet ugyanabból a forrásból táplálod, mint a tartalmat. A Next.js megadja az eszközöket; a rangsorolás és az AI-idézések abból jönnek, amit ezekkel publikálsz. Hogy a Next.js-es blogod folyamatosan kapjon cikkeket, nézd meg a Sorank csomagjait, havi $49-tól, 3 napos ingyenes próbaidőszakkal.

Gyakran ismételt kérdések

Jobb a Next.js, mint a React SEO-szempontból?

A Next.js a Reactra épül, így a kérdés a renderelési módok összehasonlítása. Egy alapértelmezett React egyoldalas alkalmazás a böngészőben renderel, és szinte üres HTML-t küld, míg a Next.js az oldalakat a szerveren vagy a build során előre rendereli. A robotok, köztük a JavaScriptet nem futtató AI-robotok, extra beállítás nélkül teljes tartalmat kapnak a Next.js-től.

A Next.js automatikusan generál sitemapot?

Önmagában nem. Az App Routerben egy sitemap.ts fájlt helyezel az app mappába, amely visszaadja az URL-jeidet, és a Next.js ezt a /sitemap.xml címen szolgálja ki. Nagy oldalaknál a generateSitemaps több fájlra bontja a listát, mivel a Google sitemapenként legfeljebb 50 000 URL-t fogad el.

Az App Routert vagy a Pages Routert érdemes használni SEO-hoz?

Mindkettő jól tud rangsorolni, mert mindkettő előre rendereli a HTML-t. Az App Router ajánlott az új projektekhez: a Server Components csökkenti a kliensoldali JavaScriptet, a Metadata API, a sitemap.ts és a robots.ts pedig natívan kezeli az SEO-fájlokat. Egy meglévő Pages Router oldal átállása csak SEO miatt ritkán éri meg.

Ingyenes SEO- és GEO-audit

Kérd ingyen a 30 napos tartalomtervedet

Elemezzük a versenytársaidat, a weboldalad és az AI-láthatóságodat, hogy ingyen készítsünk neked testre szabott tartalomtervet.

Ingyenes SEO-eszközeink

Összes ingyenes eszközünk megtekintése

Kérj ingyenes auditot a weboldaladról

A TE ELŐTTED PRÓBÁLTÁK KI A SORANKOT

Ambiciózus alapítók véleményei

Organikus növekedésE-commerce

0-ról 10000 látogatóra 5 hónap alatt

Celio Fabianomonrobotlavevitre.fr
Organikus növekedésSzoftver

0-ról 5000 ügyfélre 8 hónap alatt

Thibault BMsorank.com
Organikus növekedésSzabadidő és repülés

0-ról 1104 kattintásra 4 hónap alatt

Dominiqueflight-sensations-idf.com
Organikus növekedésLead-generálás telepítőknek

x98 kattintás 2 hónap alatt

LeadBolt Agencyleadbolt.online
Organikus növekedésZenei szoftver

x55 kattintás 5 hónap alatt

Valentin Cordiertiger-sounds.com