Canonical: fouten in single-page-applicaties die moeten worden verholpen

In een SPA kunnen URL’s veranderen zonder dat de pagina volledig opnieuw wordt geladen, wat geweldig is voor gebruikers maar vaak voor verwarring zorgt bij zoekmachines

Delen:

In een SPA kunnen URL’s veranderen zonder dat de volledige pagina opnieuw wordt geladen, wat geweldig is voor gebruikers maar vaak voor verwarring zorgt bij zoekmachines. Wanneer canonical-tags niet weergeven wat elke route daadwerkelijk vertegenwoordigt, ontstaan er de canonical-problemen waar single-page-applicaties om bekend staan: hiaten in de indexering, verkeerde pagina’s in de ranglijst en clusters van dubbele URL’s die nooit worden samengevoegd.

Wat 'canonicals' in SPA’s zouden moeten doen

Een canonieke link geeft crawlers aan welke URL de “voorkeursversie” is wanneer meerdere URL’s dezelfde of vrijwel identieke inhoud kunnen weergeven. In een SPA kunnen routing, queryparameters en client-side omleidingen snel tot een groot aantal alternatieve URL’s leiden.

De canonical-tag moet elke indexeerbare route naar zichzelf verwijzen, tenzij je bewust consolidatie nastreeft. Als je canonical-tag per ongeluk ergens anders naartoe verwijst, kunnen crawlers de huidige URL als een duplicaat beschouwen en deze negeren.

Veelvoorkomende fouten die de indexering van SPA’s verstoren

De meeste fouten met canonicals in SPA’s zijn terug te voeren op een klein aantal patronen: één sjabloon, veel routes en canonicals die niet worden bijgewerkt wanneer de route verandert. Om deze fouten te verhelpen, moet je meestal de routing, de serverresponsen en het genereren van head-tags op elkaar afstemmen.

12.000+ DOWNLOADS
Hoe zorg je dat AI jouw merk aanbeveelt?

De toekomst van zoeken is aan merken die autoriteit opbouwen, niet alleen content.

Authora helpt bedrijven gestructureerde autoriteitssystemen te bouwen die de zichtbaarheid vergroten in Google AI, ChatGPT, Gemini en Perplexity.

1) Elke route geeft de canonieke URL van de startpagina weer

Dit is de standaardinstelling van het klassieke framework: <link rel="canonical" href="https://example.com/"> komt op elke route voor. Dit gebeurt vaak wanneer de canonical-tag hardgecodeerd is in de basis-HTML-structuur en na het navigeren nooit wordt vervangen.

Wat het veroorzaakt:

  • Diepe routes worden maar moeilijk geïndexeerd, zelfs als ze links en vertoningen genereren.
  • Signalen worden samengevoegd op de startpagina, die vervolgens wordt gerangschikt voor zoekopdrachten waaraan ze niet kan voldoen.
  • De zoekresultaten tonen de verkeerde URL, of worden samengevat tot één vermelding.

Oplossing: genereer canonical-tags per route op een manier die al bij de eerste laadbeurt werkt (SSR, pre-rendering of door de server ingevoegde head), en niet pas na hydratatie.

2) Canonicals worden bijgewerkt in de DOM, maar niet in de weergegeven momentopname

Teams controleren canonical-tags vaak door de live DOM in DevTools te bekijken. Crawlers en indexeringsprocessen baseren zich mogelijk op de oorspronkelijke HTML of op een gedeeltelijke weergave die niet overeenkomt met wat je ziet nadat alle scripts zijn uitgevoerd.

Dit hangt nauw samen met de betrouwbaarheid van de weergave in JavaScript. Als Bing een onvolledige weergave weergeeft, kan het zijn dat de verkeerde canonical-tag wordt opgeslagen en de pagina als een duplicaat wordt beschouwd.

Oplossingen voor gerelateerde problemen worden behandeld in Problemen met de weergave van JavaScript bij de indexering door Bing, met name de paragrafen over ‘CSR-only’-shells en time-outs.

3) Canonicals met en zonder afsluitende schuine streep komen niet overeen met de routing

SPA’s bedienen doorgaans zowel /product en /product/ als geldige routes. Als de canonieke route tussen deze routes wisselt (of altijd naar de tegenovergestelde richting wijst), ontstaan er dubbele clusters en worden signalen opgesplitst.

Wat moet worden gestandaardiseerd:

  • Eén URL-formaat voor de hele website (kies per routetype voor een schuine streep of geen schuine streep).
  • Eén omleidingsregel op de edge/server (301) om dit af te dwingen.
  • Een canoniek formaat dat exact overeenkomt met het voorgeschreven formaat.

4) Canonicals bevatten trackingparameters of sessiegegevens

In SPA's geven URL-parameters vaak de status van de gebruikersinterface weer: filters, tabbladen, sortering, paginering, A/B-varianten. Als je canonieke URL deze parameters bevat, kun je crawlers per ongeluk laten denken dat de statusafhankelijke varianten de voorkeurs-URL's zijn.

Veelvoorkomende voorbeelden:

  • ?utm_source=, ?gclid=, ?fbclid= opgenomen in de canon
  • ?sort=prijs en ?filter=kleur als afzonderlijke canonieke doelen behandeld
  • #hash fragmenten die worden gebruikt voor het routeren (worden niet naar servers verzonden, onbetrouwbaar voor indexering)

Patroon aanpassen: verwijder trackingparameters uit canonieke URL’s. Bepaal voor filter- en sorteerparameters of het om indexeerbare landingspagina’s of niet-indexeerbare UI-toestanden gaat, en pas dit vervolgens consequent toe.

5) De canonische tag verwijst naar een URL die een andere status of inhoud retourneert

Een ‘canonical’ is een aanwijzing, maar het moet wel een geloofwaardige aanwijzing zijn. Als /categorie/schoenen canonicals naar /schoenen maar /schoenen omleidingen, 404-fouten of het weergeven van verschillende inhoud op basis van de locale; crawlers kunnen de aanwijzing negeren of een andere canonieke URL kiezen.

Snelle controles:

  • Het canonieke doel wordt weergegeven 200 voor bots en gebruikers.
  • Het canonieke doel wordt niet geblokkeerd door de regels voor robots.
  • De inhoud van de canonieke bestemming komt overeen met de bedoeling van de bron-URL.

6) Routes die eigenlijk wel in de zoekresultaten moeten verschijnen, “wegcanoniseren”

Soms is de canonieke configuratie technisch gezien consistent, maar strategisch gezien verkeerd. Dit komt aan het licht wanneer productpagina’s of oplossingspagina’s als canonieke pagina’s zijn gekoppeld aan een bredere hub, omdat het team consolidatie nastreefde.

Als je dit doet, geef je de zichtbaarheid in de ‘long tail’ op en dwing je de hubpagina om voor veel zoekintenties te scoren. Dat leidt vaak tot een lagere relevantie en zorgt ervoor dat de snippets onstabiel worden.

Als je moet beslissen wat je prioriteit moet geven wanneer de indexering niet goed werkt, dan is de triagelogica in Hoe moet je in 90 dagen prioriteit geven aan SEO versus GEO? helpt: zorg eerst voor stabiliteit in de crawl- en indexeringssignalen, en verbeter vervolgens de extractie en de bereidheid tot citeren.

Een diagnostische checklist voor problemen met canons in een single-page-applicatie

Deze checklist is bedoeld om snel problemen op te sporen wanneer je vermoedt dat canonical-tags leiden tot een overvolle index, ontbrekende routes of verkeerde URL’s in de zoekresultaten.

  • Broncode bekijken versus DOM: bevestig de canonieke versie in bron bekijken, niet alleen in de live DOM na het navigeren.
  • Een diepe route volledig vernieuwen: laden /een/route rechtstreeks (niet via de navigatie in de app) en controleer bij de eerste reactie of de canonieke URL correct is.
  • Eén canonieke per intentie: controleer of twee wezenlijk verschillende routes niet per ongeluk dezelfde canonieke route delen.
  • Beleid inzake parameters: geef aan welke parameters zijn toegestaan in indexeerbare URL’s en welke uit canonical-links moeten worden verwijderd.
  • Omleidingspariteit: zorg ervoor dat omleidingen dezelfde URL-indeling hanteren als die in de canonical-tags wordt aangegeven.
  • Steekproef van de index: zoek naar varianten van dezelfde route en kijk of zoekmachines een andere canonieke URL kiezen dan die je hebt opgegeven.

Veelvoorkomende SPA-configuraties en de bijbehorende standaardstrategie

Deze tabel is bedoeld om snel te kunnen bepalen welke canonieke aanpak het beste bij uw architectuur past, aangezien deze aanpak doorgaans zorgt voor stabiele indexering.

SPA-patroon Typisch canoniek risico Veiligere canonieke benadering
Alleen CSR (lege HTML-shell) Canonicals worden niet omgezet tijdens onvolledige weergaven SSR of kritieke routes vooraf weergeven; canonieke versies server-side genereren
Hybride SSR + client-routing Afwijking tussen de oorspronkelijke route en de gehydrateerde route Canonical op basis van de oorspronkelijke verzoek-URL; alleen bijwerken wanneer de route daadwerkelijk verandert
Categoriepagina’s met filterfunctie Parametercombinaties leiden tot een explosieve toename van duplicaten Canonical moet de categorie-URL opschonen, tenzij specifieke filters bedoeld zijn als doelpagina’s
Gelokaliseerde routes (bijv. /en/, /nl/) Canonicals verwijzen naar de verkeerde locale Zelfverwijzende canonicals per taalinstelling; afstemming op hreflang-regels

Een gezaghebbende bron wanneer teams het oneens zijn

Wanneer belanghebbenden van mening verschillen over de vraag of “canonicals” nu “regels” of ‘aanbevelingen’ zijn, helpt het om uit te gaan van een neutrale definitie. Het overzicht van Wikipedia over het canonieke link-element vormt een goed uitgangspunt om de bedoeling en de beperkingen toe te lichten.

Volgende stap: maak canonicals onderdeel van je releaseproces

Standaardproblemen in een single-page-applicatie blijven zelden definitief opgelost als ze worden behandeld als een eenmalige SEO-taak. Ze duiken weer op bij het herontwerpen van de routing, bij wijzigingen in de toestemmingsfuncties en bij het opnieuw opbouwen van sjablonen.

Als u hulp nodig hebt om technische oplossingen voor SPA’s om te zetten in een herhaalbaar systeem voor publicatie en interne links dat crawlbaar blijft naarmate uw content groeit, kan Authora de knelpunten in kaart brengen, prioriteiten stellen voor de oplossingen en ervoor zorgen dat nieuwe pagina’s in lijn blijven met een stabiele indexering.

Ontvang de nieuwste inzichten van Authora

De Authora-blog biedt deskundige inzichten over AI-content, organische groei en de toekomst van zoekmachines

Hoe word je het merk dat AI aanbeveelt

Een praktische gids om je zichtbaarheid te vergroten in ChatGPT, Google AI, Gemini en Perplexity

Hoe lang moet een ‘Answer-First’-blok zijn?

Een goed ‘antwoord-eerst’-blok is meestal kort genoeg om in zijn geheel over te nemen, maar lang genoeg om verkeerde citaten te voorkomen. De meeste pagina’s

Welke fouten in antwoordblokken verhinderen dat AI offertes opstelt?

Je kunt een pagina publiceren die hoog scoort in de zoekresultaten en toch verwijzingen mislopen, omdat de passage die een medewerker wil overnemen

12.000+ DOWNLOADS

Download de gratis blueprint

Bedrijven die vandaag autoriteit opbouwen, worden morgen de vertrouwde bron binnen Google en AI-chatbots. Claim jij die positie niet, dan doet je concurrent het wel.

Deze website maakt gebruik van cookies

We gebruiken cookies om inhoud en advertenties te personaliseren, om functies voor sociale media aan te bieden en om het verkeer op onze website te analyseren. Daarnaast delen we informatie over uw gebruik van onze website met onze partners op het gebied van sociale media, advertenties en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan hen hebt verstrekt of die zij hebben verzameld op basis van uw gebruik van hun diensten.