SEO voor single page applications: een praktische gids

SEO voor single page applications

SEO voor single page applications: React SEO-gids met checklist | We.Inc

Waarom single page apps het moeilijk hebben in zoekmachines en hoe u dat oplost: SSR, statische generatie of prerendering, titels per route in React 19 of react-helmet-async, echte URL's, soft 404's, sitemaps, URL-inspectie en een broncodechecker.

Single page apps sturen zoekmachines vaak een vrijwel lege HTML-schil en bouwen de pagina pas later op met JavaScript. Google kan JavaScript renderen, maar dat gebeurt met vertraging en andere crawlers doen het misschien niet. Los het op door per URL echte HTML te leveren via server rendering, statische generatie of prerendering, met een unieke titel, beschrijving en canonical op elke route.

De drie oplossingen die het meest uitmaken

Deze site is zelf een React single page app die elke openbare pagina bij het builden prerendert, dus dit zijn de controles die we op onze eigen pagina's uitvoeren. Plak de broncode van een pagina in de checker om te zien wat een crawler krijgt voordat er JavaScript draait.

Veelgestelde vragen

Kan Google een React single page app indexeren?

Ja. Google rendert JavaScript, maar pagina's wachten in een renderwachtrij en alles wat niet laadt wordt gemist. Andere zoekmachines en bots voor linkvoorbeelden renderen minder of helemaal niet, dus HTML leveren is de veiligere keuze.

Heb ik Next.js nodig voor React SEO?

Nee. Next.js maakt server rendering en statische generatie makkelijk, maar een SPA in de stijl van Vite of Create React App kan zijn openbare routes bij het builden prerenderen en zo dezelfde crawlbare HTML krijgen.

Is react-helmet in React 19 nog nodig?

Niet voor basistags. React 19 rendert title-, meta- en link-elementen vanuit elk component en verplaatst ze naar de head. react-helmet-async blijft nuttig op React 18 en eerder.

Is prerendering cloaking?

Niet als crawlers en mensen dezelfde content krijgen. Prerendering bewaart alleen de pagina die uw gebruikers toch al zouden zien. Het wordt cloaking als de HTML die aan bots wordt geleverd iets anders zegt.

Testen zoals Google

SSR, statische generatie of prerendering

Manieren om crawlers echte HTML te geven

Oplossingen met code

Titel en beschrijving per route in React 19

Met React 19 kan elk component title-, meta- en link-tags renderen; React verplaatst ze naar de head van het document. Elke route stelt zijn eigen tags in.

Hetzelfde met react-helmet-async (React 18 en eerder)

Wikkel de app één keer in HelmetProvider en stel daarna per pagina tags in. De async-versie is veilig voor server rendering en prerendering.

Echte URL's, geen hash-fragmenten

Google negeert alles na een # bij het bepalen wat een URL is. Gebruik de History API (BrowserRouter, createBrowserRouter) zodat elke weergave een eigen pad heeft.

Crawlbare links

Crawlers volgen a-elementen met een href. Een click handler op een div is voor hen onzichtbaar. Link-componenten van de router renderen een echte anchor.

Voorkom soft 404's voor onbekende routes

Een client-only app beantwoordt elke URL met status 200, dus een ontbrekende pagina lijkt een echte. Voeg een noindex toe aan de not-found-weergave, of lever een echte 404 vanuit de server of de prerenderstap.

Een sitemap van elke openbare route

Vermeld elke openbare URL één keer, met het canonieke adres. Genereer hem uit dezelfde routelijst die uw app gebruikt, zodat ze nooit uit elkaar lopen.

Wilt u de tags voor u laten schrijven? Probeer de

meta-tag generator

Paginabron-checker

Plak de HTML uit Paginabron weergeven om te controleren wat een crawler ontvangt.

Paginabron (het voorbeeld is een typische lege SPA-schil)

SPA SEO-checklist

Titel

"{title}" ({n} tekens)

Geen titel in de HTML

Meta description

{n} tekens

Ontbreekt

Canonical link

Hoofdkop (h1)

Geen h1 voordat JavaScript draait

Zichtbare tekst

{n} woorden in de body voordat JavaScript draait

Crawlbare links

{n} a-elementen met een echte href

Open Graph-titel (linkvoorbeelden)

Indexering toegestaan

robots meta: {robots}

Geen robots meta (indexeerbaar)

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap