Shopify SEO

10 Shopify SEO-problemen die je rankings kosten (en hoe je ze herkent)

SEO-problemen bij Shopify-webshops

Shopify draait wereldwijd miljoenen webshops, en een groot deel daarvan deelt dezelfde SEO-problemen. Niet omdat de eigenaren iets fout doen, maar omdat de problemen in het platform zelf zitten. Welke problemen in jouw shop spelen, hangt af van je theme, je apps en de leeftijd van je shop.

Ik werk als SEO-specialist regelmatig in Shopify-shops en ben zelf ook webshopeigenaar. De tien problemen hieronder kom ik steeds weer tegen. Bij elk probleem leg ik uit waarom het ontstaat, hoe je checkt of jouw shop het heeft, en in welke richting de oplossing zit.

–> Meer lezen over SEO voor Shopify?

10 veelvoorkomende SEO-problemen bij Shopify

# Probleem Zo herken je het Urgentie
1 Producten met meerdere URL’s Productlinks op collectiepagina’s bevatten /collections/…/products/ Hoog
2 Filter- en tagpagina’s blazen je index op Veel meer geïndexeerde pagina’s dan producten en collecties Hoog
3 Apps maken je shop trager Slechte Core Web Vitals, veel externe scripts Middel
4 Dunne collectiepagina’s Alleen een titel en een productraster Middel
5 Varianten delen één title en description Varianten met dezelfde titel in Google Middel
6 Robots, noindex en canonicals door elkaar Meldingen in Search Console over geblokkeerde of dubbele pagina’s Hoog
7 De vaste URL-structuur /products/, /collections/ en /pages/ in elke URL Laag, wel bewust mee werken
8 /collections/all staat er gewoon De pagina /collections/all bestaat en is te vinden Laag tot middel
9 Redirects en handle-wijzigingen Interne links via redirects, redirects die niet werken Hoog bij migraties
10 Internationale shops met Markets Niet-vertaalde pagina’s in /en/ of /fr/ Hoog bij meerdere landen

1. Producten met meerdere URL’s (check je theme)

Dit is het bekendste Shopify-probleem, en meteen het probleem waar de meeste verouderde informatie over rondgaat. Daarom eerst de actuele stand van zaken.

Zodra een product in meerdere collecties zit, bestaat het via meerdere URL’s. Eén blauw T-shirt in drie collecties is bereikbaar via vier paden. Daar komen nog URL’s met ?variant= bij voor elke variant. Shopify zet een canonical tag op de juiste versie en blokkeert de collectie-varianten tegenwoordig ook in robots.txt. Die canonicals kun je zelf niet zomaar aanpassen.

In de nieuwste standaard-themes van Shopify is daarmee de angel eruit: de productlinks op collectiepagina’s wijzen daar direct naar de canonieke /products/ URL. Heb je recent een verse shop op zo’n theme gebouwd, dan is dit probleem voor jou waarschijnlijk geen issue.

Maar draait je shop op een ouder theme, een betaald third-party theme of een theme waar ooit maatwerk in is gedaan? Dan is de kans groot dat je interne links nog steeds naar de collectie-versies wijzen. En een canonical is een hint voor Google, geen bevel: als vrijwel al je interne linkwaarde naar de verkeerde versies stroomt, kan Google de canonical alsnog negeren. Ook sommige apps, zoals recommendation-widgets, voegen zelf weer links naar de collectie-varianten toe, ook in moderne themes.

Zo check je het: open een collectiepagina in je shop, klik met rechts op een product en kopieer de link. Staat er /collections/…/products/… in plaats van /products/…? Dan heb je dit probleem. Check daarna ook de productlinks die apps op je shop tonen, zoals “anderen kochten ook”.

De richting van de oplossing: dit fix je niet met een instelling, maar met een aanpassing in de Liquid-code van je theme. Welk bestand en welke regel dat is, verschilt per theme, en bij een verkeerde aanpassing breek je je collectiepagina’s. Dit is typisch een klus van een half uur voor wie weet waar hij moet zijn, en een week ellende voor wie het niet weet. Het beste moment is bij de bouw van een nieuwe shop: dan begin je meteen schoon.

2. Filter- en tagpagina’s blazen je index op

Filters zijn handig voor je bezoekers. Maar elke filtercombinatie krijgt een eigen URL, en Google kan die allemaal vinden. Kleur, maat, prijs, merk, beschikbaarheid: de combinaties groeien exponentieel.

Tags doen iets vergelijkbaars. Geef je een product de tag “rood”, dan kan Shopify daar een eigen collectiepagina voor maken, zoals /collections/schoenen/rood. Met elke nieuwe tag komt er zo’n pagina bij, en na een paar jaar productbeheer door verschillende mensen heb je er honderden, vaak met bijna dezelfde inhoud.

Het gevolg: je index raakt vol met pagina’s die weinig toevoegen, en Google besteedt zijn tijd aan filtervarianten in plaats van aan de pagina’s waarmee je geld verdient.

Zo check je het: ga in Google Search Console naar Indexering > Pagina’s en kijk hoeveel pagina’s er geïndexeerd zijn. Is dat aantal vele malen groter dan je werkelijke aantal producten en collecties? Zoek dan in het overzicht naar URL’s met vraagtekens, filterparameters of tagnamen achter een collectie.

De richting van de oplossing: de kunst is niet om alle filters te blokkeren of alles toe te laten, maar om per filterpatroon te beslissen wat het verdient: indexeren, alleen crawlen, of volledig weren. Sommige filter- en tagpagina’s hebben namelijk juist zoekvolume en verdienen een eigen plek in Google. Gebruik tags daarom bewust, met afspraken voor iedereen die producten toevoegt. Die afweging maken, en vervolgens canonicals, robots-regels en interne links daarop laten aansluiten, is maatwerk per shop.

Twijfel je wat er in jouw Search Console gebeurt? Plan een kennismaking, dan kijken we samen wat voor jouw shop slim is.

Plan een vrijblijvend gesprek

3. Apps maken je shop trager (en traag rankt slechter)

Elke app voegt JavaScript en CSS toe aan je shop. Veel apps laden hun code op élke pagina, ook waar je de app niet gebruikt. En zelfs na het verwijderen van een app blijft er regelmatig code achter in je theme.

Het resultaat zie je terug in je Core Web Vitals, en die wegen mee in je rankings. Het opschonen van overbodige apps en achtergebleven code levert daarom vaak merkbare snelheidswinst op.

Apps kunnen ook je koppenstructuur verstoren. Een pop-up of nieuwsbriefbalk die direct in de HTML wordt geladen, kan een extra H1 of H2 toevoegen die niets met de pagina te maken heeft. Voor Google staat er dan een kop over “10% korting” boven je productbeschrijving.

Zo check je het: draai je belangrijkste collectiepagina door PageSpeed Insights. Kijk daarna in je theme-code hoeveel verschillende externe scripts er laden. Tel je apps: heb je er meer dan vijf die iets aan de voorkant van je shop doen, dan is de kans groot dat hier winst zit. Bekijk met de URL-inspectie in Search Console hoe Google je pagina weergeeft, en of daar pop-up-koppen tussen staan.

De richting van de oplossing: een app-audit. Per app bepalen wat hij doet, op welke pagina’s hij laadt, of hij dubbele functionaliteit heeft met je theme, en of dezelfde functie niet lichter in het theme zelf kan. Daarna de achtergebleven code van verwijderde apps opruimen, en pop-ups pas laden als de pagina er al staat.

4. Je collectiepagina’s zijn te dun om te ranken

Je collectiepagina’s moeten scoren op je belangrijkste commerciële zoektermen. Maar standaard bestaat een Shopify-collectiepagina uit een titel en een productraster. Voor Google is dat te weinig context om de pagina serieus te nemen, zeker als je concurrenten daar wel werk van maken.

Zo check je het: google je belangrijkste categorieterm en bekijk de top vijf resultaten. Vergelijk hun categoriepagina’s met die van jou. Grote kans dat zij uitleg, keuzehulp en interne links tonen waar jij alleen producten laat zien.

De richting van de oplossing: content toevoegen die je bezoeker écht helpt kiezen. Geen tekstblok vol zoekwoorden onder het raster, maar keuzehulp die aansluit op hoe jouw klanten vergelijken. Welke collecties die investering verdienen en welke niet, bepaal je op basis van zoekvolume en marge. Daar begint elke goede Shopify-contentstrategie.

5. Productvarianten delen één meta title en description

Verkoop je een overhemd in vijf kleuren? Voor Shopify is dat één product met één meta title en één meta description. Gericht scoren op “blauw linnen overhemd” én “wit linnen overhemd” kan dus niet zonder ingrijpen. Hetzelfde geldt voor de alt-teksten van je varianten-afbeeldingen, die vaak leeg blijven.

Zo check je het: zoek in Google op site:jouwshop.nl gevolgd door een productnaam en bekijk welke varianten er los opduiken, en met welke titels.

De richting van de oplossing: er zijn meerdere routes, van metafields met aangepaste Liquid-logica tot het opsplitsen van producten. Welke route slim is, hangt af van je assortiment, je voorraadkoppeling en het zoekvolume per variant. Dit is precies het soort afweging dat ik in mijn Shopify SEO-trajecten samen met de shopeigenaar maak, omdat een verkeerde keuze hier later veel migratiewerk oplevert.

6. Robots, noindex en canonicals worden door elkaar gebruikt

Drie instrumenten die elk een ander doel hebben, en die in Shopify-shops voortdurend voor elkaars werk worden ingezet. Robots.txt bepaalt wat Google mag crawlen. Noindex bepaalt wat Google mag tonen. Een canonical vertelt welke versie van vergelijkbare pagina’s de echte is.

De klassieke fout: een dubbele pagina blokkeren in robots.txt. Google kan dan de canonical of noindex op die pagina niet meer zien, waardoor het probleem juist blijft bestaan. Sinds Shopify het bewerken van robots.txt toestaat via een speciaal template-bestand, zie ik deze fout vaker dan ooit.

Daarbij komt dat Shopify geen standaard knop heeft om een pagina op noindex te zetten. Wat veel shopeigenaren niet weten: dat kan wel zonder code, met het metaveld seo.hidden. Maak dat aan onder Instellingen > Aangepaste gegevens (namespace en sleutel seo.hidden, type geheel getal) en geef het de waarde 1 op een pagina. Shopify zet de pagina dan op noindex en haalt hem uit de sitemap en de zoekfunctie van je shop.

Zo check je het: lastig zelf te beoordelen zonder ervaring, maar een eerste signaal vind je in Search Console onder Indexering > Pagina’s, bij meldingen als “geïndexeerd, maar geblokkeerd door robots.txt” of “dubbele pagina zonder door gebruiker geselecteerde canonieke versie”. Per pagina zie je met de gratis SEO- en AI-check of er een noindex of canonical op staat en of robots.txt de pagina blokkeert.

De richting van de oplossing: per URL-patroon het juiste instrument kiezen en zorgen dat robots-regels, canonicals, sitemap en interne links één verhaal vertellen. Spreken die elkaar tegen, dan kiest Google zelf. En Google kiest niet altijd in jouw voordeel.

7. De vaste URL-structuur van Shopify

Shopify bepaalt zelf de opbouw van je URL’s. Producten staan altijd onder /products/, collecties onder /collections/, losse pagina’s onder /pages/ en blogartikelen onder /blogs/ met de naam van je blog. Een eigen structuur, zoals /heren/overhemden/linnen-overhemd, kan niet.

Daar loop ik in mijn eigen Shopify-trajecten ook tegenaan. Je kunt geen hiërarchie in de URL maken: een subcollectie hangt niet onder een hoofdcollectie, en een product hangt niet onder zijn collectie. Elke collectie staat los onder /collections/ en elk product los onder /products/. Wil een shop zijn opbouw van categorie naar subcategorie terugzien in de URL, dan moet die ergens anders vandaan komen.

Dat klinkt erger dan het is. Google rankt Shopify-shops prima met deze paden. Het probleem ontstaat vooral als je er tegenin gaat werken, bijvoorbeeld met apps die proberen de structuur te omzeilen, of als je na een migratie verwacht dat je oude URL’s terugkomen.

De richting van de oplossing: accepteer de vaste paden en stop je energie in wat je wél zelf bepaalt. Kies korte, beschrijvende handles, zoals /products/linnen-overhemd-blauw in plaats van /products/lo-2024-bl-xl. Laat de hiërarchie van je shop zien met collecties, breadcrumbs en interne links in plaats van met de URL. Bij een migratie naar Shopify betekent de vaste structuur dat vrijwel al je URL’s veranderen, en dus dat elke oude URL een redirect nodig heeft.

8. /collections/all staat er gewoon

Elke Shopify-shop heeft automatisch de collectie /collections/all, met al je producten. Je ziet hem niet tussen je collecties in de admin, je kunt hem niet verwijderen en je kunt er geen titel of tekst aan toevoegen. Google vindt hem wel, bijvoorbeeld via interne links of je zoekfunctie.

Op zich is dat geen ramp, maar het is een kale pagina die met je echte collecties concurreert, en die je niet zelf beheert.

Zo check je het: ga naar jouwshop.nl/collections/all en zoek in Google op site:jouwshop.nl/collections/all.

De richting van de oplossing: maak een eigen collectie met de naam “All”, zodat hij de handle all krijgt. Gebruik een automatische voorwaarde die al je producten pakt, bijvoorbeeld een prijs hoger dan nul. Daarna kun je de titel aanpassen, zolang de handle all blijft. Zo bepaal je zelf de titel, tekst en meta description, en zet je de pagina in als nette overzichtspagina van je assortiment.

9. Redirects en handle-wijzigingen slopen oude rankings

Elke keer dat je een product-handle of collectienaam wijzigt, verandert de URL. Shopify biedt dan een vinkje om automatisch een redirect aan te maken, maar dat wordt lang niet altijd gebruikt, en interne links worden nooit automatisch bijgewerkt. Na een paar jaar en een redesign of twee zit een gemiddelde shop vol redirect-kettingen, verwijderde producten die naar irrelevante pagina’s verwijzen en interne links naar URL’s die al jaren niet meer bestaan.

Een bekende valkuil: de redirects van Shopify werken alleen als de oude URL niet meer bestaat. Maak je een redirect van een product dat nog live staat, dan toont Shopify gewoon dat product en gebeurt er niets. Eerst de oude pagina verwijderen of hernoemen, dan pas werkt de redirect.

Bij een platformmigratie, naar of vanaf Shopify, wordt dit probleem acuut. Hoe je zo’n migratie zonder rankingverlies aanpakt, beschrijf ik op mijn pagina over een SEO-migratie naar Shopify.

Zo check je het: crawl je shop met een tool als Screaming Frog en kijk naar het aantal interne links dat via een redirect loopt. Alles boven enkele procenten is werk aan de winkel. Krijg je tijdens het crawlen foutcode 429 (te veel verzoeken)? Shopify remt crawlers af. Stel dan onder Online winkel > Voorkeuren toegang voor crawlers in en zet de gegenereerde headers in je crawler, of crawl heel langzaam met één verzoek tegelijk.

10. Internationale shops: Markets en vertalingen

Verkoop je ook in België, Duitsland of daarbuiten? Met Shopify Markets krijg je per land of taal een eigen versie van je shop, bijvoorbeeld onder /en/ of /fr/. Shopify zet daarbij zelf hreflang-tags, zodat Google weet welke versie voor welk land bedoeld is.

Vertaalproblemen ben ik in mijn eigen Shopify-trajecten ook tegengekomen. Het probleem zit in de inhoud. Zet je een markt live voordat alles vertaald is, dan staan er tientallen of honderden pagina’s met Nederlandse tekst onder /fr/. Voor Google zijn dat bijna dubbele pagina’s, en voor een Franstalige bezoeker een rare ervaring. Ook meta titles, descriptions en handles worden vaak vergeten bij het vertalen.

Zo check je het: open een paar producten in je andere talen en kijk of de titel, tekst en meta description echt vertaald zijn. Zoek in Google op site:jouwshop.nl/fr/ en bekijk welke titels daar verschijnen.

De richting van de oplossing: zet een markt pas live als de belangrijkste pagina’s vertaald zijn, inclusief de SEO-velden. Shopify’s eigen app Translate & Adapt helpt daarbij. Begin met je best verkopende collecties en producten, en vertaal liever minder pagina’s goed dan alles half.

Is Shopify dan een slecht platform voor SEO?

Nee. Ik adviseer Shopify regelmatig aan klanten, en ik gebruik het zelf. De basis is goed: hosting, SSL, sitemaps en een snel CDN zijn geregeld, en je hoeft niet wakker te liggen van een gehackte plugin.

Maar “de basis is geregeld” is iets anders dan “SEO is geregeld”. De problemen hierboven zitten in vrijwel elke shop, en geen ervan lost zichzelf op. Het verschil tussen een Shopify-shop die het goed doet in Google en een shop die onzichtbaar blijft, zit bijna altijd in hoe deze punten zijn aangepakt.

Welk probleem pak je als eerste aan?

Niet elk probleem is even urgent. Mijn vuistregel: eerst indexatie (problemen 1, 2, 6 en 8), dan URL’s en redirects (7, 9 en 10), dan snelheid (3), dan content (4 en 5). Een betere meta description heeft geen zin als Google de verkeerde versie van de pagina indexeert.

Zit je nog op een ander platform en wil je overstappen naar Shopify zonder verlies van je posities? Ook die migratie begeleid ik.

Wil je weten welke van deze problemen in jouw shop spelen en in welke volgorde je ze oplost? Bekijk hoe ik SEO voor Shopify aanpak, of plan een gesprek. Dan bespreken we waar je shop nu staat en wat de slimste eerste stap is. Wil je alles tot in detail weten, dan is een SEO-analyse de beste eerste stap.

Plan een vrijblijvend gesprek

Veelgestelde vragen

Is Shopify slecht voor SEO?

Nee. De basis is goed geregeld: hosting, SSL, sitemaps en een snel CDN. Maar Shopify heeft een paar vaste eigenaardigheden, zoals de vaste URL-structuur, dubbele product-URL's en filterpagina's. Die moet je kennen en bewust aanpakken, anders kosten ze je posities.

Kan ik /collections/ of /products/ uit mijn Shopify-URL's halen?

Nee. Shopify gebruikt vaste paden voor producten, collecties, pagina's en blogs, en die kun je niet aanpassen. Dat is geen ramp: Google rankt Shopify-shops prima met deze structuur. Zorg vooral voor korte, beschrijvende handles en een logische interne linkstructuur.

Hoe zet ik een Shopify-pagina op noindex?

Zonder code kan het met het metaveld seo.hidden. Maak onder Instellingen > Aangepaste gegevens een metaveld aan met namespace en sleutel seo.hidden, type geheel getal, en geef het de waarde 1 op de pagina die uit Google moet. Shopify voegt dan een noindex toe en haalt de pagina uit de sitemap en de interne zoekfunctie.

Waarom werkt mijn Shopify-redirect niet?

De redirects van Shopify werken alleen als de oude URL niet meer bestaat. Staat er op die URL nog een product, collectie of pagina, dan toont Shopify gewoon die pagina en wordt de redirect genegeerd. Verwijder of hernoem eerst de oude pagina, dan werkt de redirect.

Waarom krijg ik een 429-fout als ik mijn Shopify-shop crawl?

Shopify beperkt hoeveel verzoeken een crawler mag doen. Een SEO-crawler als Screaming Frog krijgt dan de foutcode 429 (te veel verzoeken). Je lost het op door onder Online winkel > Voorkeuren toegang voor crawlers in te stellen en de gegenereerde headers in je crawler te zetten, of door heel langzaam te crawlen.

Niels Eric, SEO-specialist

Laten we kennismaken!

Plan een vrijblijvend gesprek van 30 minuten. Ik kijk vooraf naar je website, zodat je direct een paar concrete kansen meekrijgt.