De belangrijkste SEO-instellingen van Magento 2 staan onder Stores > Configuration > Catalog > Catalog > Search Engine Optimization: URL-suffixen, categoriepaden in product-URL's, permanente redirects en canonical tags. Daarnaast regel je meta robots en robots.
De belangrijkste SEO-instellingen van Magento 2 staan onder Stores > Configuration > Catalog > Catalog > Search Engine Optimization: URL-suffixen, categoriepaden in product-URL's, permanente redirects en canonical tags. Daarnaast regel je meta robots en robots.txt via Content > Design > Configuration, en de XML-sitemap via Stores > Configuration > Catalog > XML Sitemap. Hieronder staat per instelling wat hij doet, wat wij aanraden en waar het in de praktijk misgaat.
Magento heeft out of the box redelijk wat SEO-knoppen. Het probleem is dat de standaardwaarden niet altijd de goede zijn, en dat een paar keuzes moeilijk terug te draaien zijn zodra je shop live staat.
Let op: menu-namen kunnen per versie en per taalinstelling van de admin licht verschillen. Deze checklist volgt de Engelstalige admin van Magento 2.4.
1. Catalog > Search Engine Optimization
Pad: Stores > Configuration > Catalog > Catalog > Search Engine Optimization. Zet de scope linksboven op "Default Config", of op een website/storeview als je per taal iets anders wilt.
| Instelling | Standaard | Advies | Waarom |
|---|---|---|---|
| Popular Search Terms | Yes | Meestal No | Genereert een pagina met zoektermen; zelden waardevol |
| Product URL Suffix | .html | Kies en laat staan | Wijzigen raakt alle product-URL's |
| Category URL Suffix | .html | Kies en laat staan | Idem voor categorieën |
| Use Categories Path for Product URLs | No | No | Eén URL per product |
| Create Permanent Redirect for URLs if URL Key Changed | Yes | Yes | Automatische 301 bij nieuwe URL key |
| Page Title Separator | - | Naar smaak | Alleen relevant met prefix/suffix |
| Use Canonical Link Meta Tag For Categories | No | Yes | Canonical zonder parameters |
| Use Canonical Link Meta Tag For Products | No | Yes | Canonical naar het korte productpad |
| Generate "category/product" URL Rewrites | Yes | Afhankelijk, zie hieronder | Bepaalt de omvang van de url_rewrite-tabel |
Use Categories Path for Product URLs
Met deze instelling op Yes krijgt een product een URL per categorie waarin het staat:
/heren/schoenen/sneaker-x.html
/sale/sneaker-x.html
/merken/merk-y/sneaker-x.html
Drie URL's, dezelfde content. Met canonicals aan wijst Magento naar /sneaker-x.html, maar je interne links blijven naar de lange paden gaan. Google krijgt dus tegenstrijdige signalen en crawlt alles.
Met No heeft elk product één URL: /sneaker-x.html. Breadcrumbs werken nog steeds, al tonen ze dan soms alleen "Home > Product" als de bezoeker niet via een categorie binnenkwam.
Wij zetten dit vrijwel altijd op No. Staat je live shop al jaren op Yes en ranken de lange URL's goed? Dan is omzetten een migratie op zich, met een volledig redirectplan.
Canonical tags
Zet beide canonical-instellingen op Yes. Wat er dan gebeurt:
- Productpagina's krijgen een canonical naar de URL zonder categoriepad.
- Categoriepagina's met filters (
/schoenen.html?color=49) krijgen een canonical naar/schoenen.html.
Controleer zelf wat er met paginering gebeurt. In de standaardimplementatie wijst de canonical van ?p=2 ook naar de eerste pagina. Of dat is wat je wilt, hangt af van je strategie. Meer in paginering en SEO.
Vergeet niet: Google behandelt een canonical als hint. Als je sitemap en interne links naar andere URL's wijzen, kan Google de canonical negeren.
Create Permanent Redirect for URLs if URL Key Changed
Laat deze op Yes. Verandert iemand in de admin de URL key van een product of categorie, dan maakt Magento automatisch een 301 van de oude naar de nieuwe URL. Bij het bewerken van een product zie je het vinkje "Create Permanent Redirect for old URL" onder de URL key. Zorg dat dat aan staat.
Het nadeel: bij veel wijzigingen groeit de url_rewrite-tabel en ontstaan er soms redirectketens. Ruim die periodiek op via Marketing > SEO & Search > URL Rewrites. Hoe je dat structureel aanpakt staat in 301-redirects beheren.
Generate "category/product" URL Rewrites
Deze instelling bepaalt of Magento URL rewrites aanmaakt voor elke combinatie van categorie en product. Bij grote catalogi met veel categorieën kan dat honderdduizenden rijen opleveren, met tragere saves en reindexen als gevolg.
Gebruik je geen categoriepaden in product-URL's, dan kun je hem op No zetten. Magento waarschuwt dat bestaande rewrites van dat type dan verdwijnen. Doe dit dus niet op een live shop zonder te controleren of er nog verkeer of links op die URL's binnenkomen.
Instellen via de command line
Dezelfde instellingen kun je met bin/magento config:set vastleggen. Handig om ze in je deployment of documentatie op te nemen:
bin/magento config:set catalog/seo/product_use_categories 0
bin/magento config:set catalog/seo/save_rewrites_history 1
bin/magento config:set catalog/seo/category_canonical_tag 1
bin/magento config:set catalog/seo/product_canonical_tag 1
bin/magento config:set catalog/seo/search_terms 0
bin/magento cache:flush
Controleer de config paths voor je eigen versie in app/code/Magento/Catalog/etc/adminhtml/system.xml of met bin/magento config:show catalog/seo.
2. Web: rewrites, URL-opties en HTTPS
Pad: Stores > Configuration > General > Web.
- Search Engine Optimization > Use Web Server Rewrites: Yes. Anders krijg je
index.phpin je URL's. - Url Options > Add Store Code to Urls. Alleen op Yes als je bewust met storecode-mappen werkt (
/nl/,/be/). Achteraf omzetten verandert alle URL's. - Url Options > Auto-redirect to Base URL. Zet op "Yes (301 Moved Permanently)". Dan wordt een request zonder of met afwijkende host permanent doorgestuurd.
- Base URLs (Secure) > Use Secure URLs on Storefront: Yes. Plus een server-side redirect van http naar https en van non-www naar www (of andersom). Dat regel je in nginx, niet in Magento.
Draai je meerdere talen of landen? Magento heeft geen ingebouwde hreflang. Daarvoor heb je een module of eigen code nodig. Zie hreflang implementeren.
3. Content > Design > Configuration: meta en robots
Pad: Content > Design > Configuration, klik op de juiste regel (global, website of storeview).
HTML Head
- Default Page Title: wordt gebruikt als een pagina geen eigen titel heeft. Zet hier iets zinnigs, geen "Magento Commerce".
- Page Title Prefix / Suffix: bijvoorbeeld " | Merknaam" als suffix. Houd rekening met de lengte; lange suffixen drukken je eigenlijke titel uit beeld.
- Default Meta Description: liever leeg dan een generieke tekst op elke pagina. Duplicaten helpen niemand.
- Default Meta Keywords: Google gebruikt meta keywords niet. Laat leeg.
Search Engine Robots
- Default Robots: op productie INDEX, FOLLOW. Op staging en test NOINDEX, NOFOLLOW, plus een wachtwoord of IP-whitelist.
- Edit custom instruction of robots.txt File: hier beheer je robots.txt per website.
De klassieke fout: de database van staging gaat naar productie, en NOINDEX gaat mee. Controleer na elke livegang de meta robots op een paar pagina's. Het kost tien seconden.
Een robots.txt die voor veel Magento-shops een redelijk vertrekpunt is:
User-agent: *
Disallow: /checkout/
Disallow: /customer/
Disallow: /catalogsearch/
Disallow: /wishlist/
Disallow: /review/product/list/
Disallow: /catalog/product_compare/
Disallow: /*?*product_list_order=
Disallow: /*?*product_list_limit=
Disallow: /*?*product_list_mode=
Sitemap: https://www.voorbeeld.nl/sitemap.xml
Pas dit aan op je eigen shop. Blokkeer geen filterparameters waarvan je bewust landingspagina's maakt. En onthoud: wat in robots.txt geblokkeerd is, kan Google niet crawlen, dus ook een noindex op die pagina ziet hij niet.
4. XML-sitemap
Pad: Stores > Configuration > Catalog > XML Sitemap.
- Categories / Products / CMS Pages Options: frequency en priority. Google zegt deze waarden te negeren. Niet aan blijven sleutelen.
- Products Options > Add Images into Sitemap: "Base Only" is meestal voldoende.
- Generation Settings > Enabled: Yes, zodat de cron de sitemap dagelijks ververst.
- Sitemap File Limits: maximaal 50.000 URL's en 10 MB per bestand, conform het sitemapprotocol. Magento splitst automatisch en maakt een index.
- Search Engine Submission Settings > Enable Submission to Robots.txt: Yes: voegt de sitemapregel toe aan robots.txt.
De sitemap zelf maak je aan via Marketing > SEO & Search > Site Map > Add Sitemap. Per storeview één. Dien hem daarna in bij Search Console en Bing Webmaster Tools.
Controleer de inhoud. Staan er producten in met "Not Visible Individually"? URL's met een redirect? Dan klopt er iets niet in je data.
5. Per product, categorie en CMS-pagina
Naast de globale instellingen heeft elke entiteit een eigen sectie Search Engine Optimization:
- URL Key: kort, beschrijvend, zonder stopwoorden en zonder SKU tenzij mensen daarop zoeken.
- Meta Title: leeg betekent dat Magento de productnaam gebruikt. Prima als vertrekpunt; voor topcategorieën en bestsellers loont een handgeschreven titel.
- Meta Description: geen rankingfactor, wel van invloed op de doorklik.
- Meta Keywords: negeren.
En een paar instellingen die niet zo heten, maar wel SEO zijn:
- Visibility bij een product. Simple producten onder een configurable horen op "Not Visible Individually". Anders krijg je dunne, losse pagina's per maat.
- Anchor bij een categorie (onder Display Settings). Op Yes toont de categorie producten uit subcategorieën en werkt layered navigation.
- Alt Text bij productafbeeldingen. Klik op een afbeelding in de productmedia om hem in te vullen.
6. Layered navigation en filters
Filters zijn bij Magento de grootste bron van crawlbare duplicaten. Per attribuut stel je in Stores > Attributes > Product > [attribuut] > Storefront Properties in:
- Use in Layered Navigation: "Filterable (with results)" voor attributen die klanten echt gebruiken. Niet elk attribuut hoeft een filter te zijn.
- Use in Search Results Layered Navigation: alleen als het filter op de zoekpagina zinvol is.
Elk filter maakt URL's als /schoenen.html?color=49&size=167. De canonical vangt een deel op, maar crawlcapaciteit gaat er toch naartoe. Wil je voor bepaalde filtercombinaties wel ranken ("zwarte sneakers")? Dan heb je nette, statische URL's nodig met eigen content. Dat vraagt een module of maatwerk. De afwegingen staan op categoriepagina's en filters.
Ook handig: Stores > Configuration > Catalog > Catalog > Storefront > Allow All Products per Page: No. Anders kan iedereen, ook een bot, een pagina met de complete categorie opvragen.
7. Wat Magento niet standaard goed doet
Een eerlijke lijst. Dit regel je niet met een instelling:
- Structured data. Luma bevat beperkte microdata. Geen volledige Product-, Offer-, BreadcrumbList- of Organization-markup in JSON-LD. Dat bouw je zelf of via een module. Zie structured data voor webshops.
- Hreflang. Niet ingebouwd.
- Snelheid. Luma is zwaar. Core Web Vitals halen op Luma is mogelijk, maar kost veel werk. Een Hyvä-thema levert een veel lichtere frontend op.
- Redirectbeheer. De URL Rewrites-grid is werkbaar voor losse redirects, niet voor duizenden bij een migratie. Daar hoort een import via de command line of een script bij.
- URL rewrites opnieuw genereren. Daar is geen standaard command voor. Open-source modules vullen dat gat.
De checklist in het kort
- Categoriepaden in product-URL's uit.
- Canonicals voor producten en categorieën aan.
- Permanente redirects bij URL key-wijziging aan.
- Web server rewrites aan, https en één host afgedwongen.
- Default Robots op productie INDEX, FOLLOW; staging afgeschermd.
- Robots.txt per website ingericht, sitemapregel erin.
- XML-sitemap via cron, ingediend bij Google en Bing.
- Simple producten onder configurables niet los zichtbaar.
- Alleen zinvolle attributen als filter, "Allow All Products per Page" uit.
- Structured data, hreflang en snelheid apart geregeld.
Wil je weten hoe jouw installatie ervoor staat? Op Magento SEO staat hoe wij Magento-shops doorlichten en de fixes zelf in de code en configuratie doorvoeren.
Veelgestelde vragen
Moet ik "Use Categories Path for Product URLs" aan of uit zetten?
Voor nieuwe shops: uit. Dan heeft elk product één URL en voorkom je duplicaten. Staat een bestaande shop al jaren op aan, behandel het omzetten dan als een migratie met een volledig redirectplan.
Waar pas ik robots.txt aan in Magento 2?
Via Content > Design > Configuration, kies de website, en open Search Engine Robots. In het veld "Edit custom instruction of robots.txt File" zet je je regels. Let op dat een fysiek robots.txt-bestand in de webroot deze instelling kan overschrijven.
Heeft Magento 2 standaard goede structured data?
Nee. Luma bevat beperkte microdata en geen volledige JSON-LD voor Product, Offer of BreadcrumbList. Die markup voeg je toe via een module of eigen templates.
Waarom staan er filterpagina's van mijn Magento-shop in Google?
Layered navigation maakt per filtercombinatie een URL met parameters. Zonder canonical, robots-regels of noindex kan Google die crawlen en soms indexeren. Zet canonicals voor categorieën aan en beperk welke attributen als filter dienen.
Moet ik na het wijzigen van SEO-instellingen iets herindexeren?
Leeg in elk geval de cache met bin/magento cache:flush. Bij wijzigingen aan URL-suffixen of categoriepaden moeten URL rewrites opnieuw opgebouwd worden. Test dat eerst op staging, want het raakt alle URL's van je shop.

Geschreven door Ruthger Idema
15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.
Meer over ons team →

