/
Pack Hosting Panel

Robots.txt voor Magento 2

Instellen robots.txt voor Magento 2


Een geoptimaliseerde Robots.txt voor Magento 2 is niet alleen essentieel voor je SEO, maar het verlaagt in veel gevallen ook de serverbelasting. Binnen een robots.txt bestand configureer je welke pagina’s geïndexeerd mogen worden, en minstens zo belangrijk: welke pagina’s mogen niet geïndexeerd worden.

Zo voorkom je duplicated content en bespaar je crawl budget. De Google bot komt immers niet onbeperkt langs om je website te crawlen voor mogelijke updates. Hoe minder niet relevante pagina’s je laat indexeren, des te groter de kans dat de Google Bot je belangrijkste pagina’s wel crawlt.

In dit artikel lees je hoe je een Robots.txt genereert voor je Magento 2 webshop en wat de beste configuratie is.

Robots.txt aanmaken

Er zijn grofweg drie manieren om een Robots.txt bestand aan te maken:

  1. Via de Admin van Magento 2
  2. Via FTP
  3. Via SSH

Robots.txt aanmaken via de admin van Magento

Het aanmaken van een Robots.txt bestand in de backend van Magento is relatief simpel. Doorloop de volgende stappen:

  1. Login op de Magento backend
  2. Kies in het menu content en klik vervolgens onder Design op Configuration.
  3. Kies vervolgens de gewenste website
  4. Navigeer vervolgens naar Search Engine Robots
  5. Hier heb je vervolgens de mogelijkheid om je Robots.txt te vullen
  6. Zet de Default Robots op het volgende:
    a. Index - Follow: Instrueert crawlers de webshop te bezoeken en te indexeren
    b. Noindex - Follow: Instrueert crawlers de webshop te bezoeken, maar niet te indexeren
    c. Index - Nofollow: Instrueert crawlers de webshop één keer te indexeren, maar niet meer te controleren op wijzigingen
    d. Noindex - Nofollow: Instrueert crawlers de webshop niet te indexeren en ook niet te controleren op wijzigingen

Afbeelding robots 1

In het vrije invoerveld ‘Edit Custom Instruction Of Robots.txt File’ kun je instructies op maat geven. Meer hierover lees je verderop in dit artikel.

Met de knop Reset to Default worden aangepaste instructies verwijderd en wordt het Magento 2 robots.txt-bestand teruggezet naar de standaard systeeminstellingen.

Robots.txt aanmaken via FTP

Een robots.txt bestand aanmaken is heel eenvoudig. Je maakt gebruik van een FTP-client zoals Filezilla. In de basismap van je Magento 2 webshop (public_html), voeg je een nieuw bestand toe.

Dit bestand maak je gewoon aan in je kladblok op je computer of via bijvoorbeeld een programma als Notepad++. Dit bestand noem je robots.txt en sla je op in de basismap.

Om geen leeg Robots.txt bestand te hebben (wat overigens geen kwaad kan in het begin), voegen we in het Robots.txt bestand de volgende regels toe:

#################################

# Crawlers
User-agent: *
Crawl-delay: 10

# end robots.txt
#################################

Dit vertelt de crawlers dat iedere user agent niet als een gek de webshop moet crawlen. Dit zorgt voor minder server overload.

Let wel op: crawl-delay wordt officieel niet ondersteund door Google. Dit betekent dat het deze negeert. Als je server teveel belast wordt door de Google crawler, kun je in Google Search Console de crawl rate verlagen:

Afbeelding robots 1

Robots.txt aanmaken via SSH

Ook via SSH is het mogelijk om een robots.txt bestand aan te maken. Je doet dit als volgt:

  1. Maak een SSH connectie aan. Uiteraard moet je hier wel een SSH user voor hebben. Bij Hipex voeg je deze eenvoudig toe via Pack.
  2. Na het maken van de verbinding, voer je het volgende commando uit: cd domains/domein/public_html/
  3. Het Robots.txt bestand open je vervolgens door het volgende commando uit te voeren: nano robots.txt
  4. Nu kun je eenvoudig het robots.txt bestand aanpassen. Na het aanpassen sla je deze uiteraard op.

Optimale configuratie van het Robots.txt voor Magento 2

Een standaard Robots.txt bestand is wat ons betreft niet voldoende. Je kunt hier nog veel optimalisaties voor doorvoeren. Zowel voor SEO als voor de impact op de server.

Robots.txt voor SEO

Voor (grote) webshops is het cruciaal dat je goed omgaat met je meta robots tag directives. Zo is het aan te bevelen om een noindex te zetten op interne zoekresultaat pagina’s.

Ook het toepassen van de noindex robots directive op URL’s met query parameters is aan te raden. Query parameters worden in Magento 2 standaard geïndexeerd. Hierdoor krijgen grote shops duizenden extra pagina’s.

Denk bijvoorbeeld aan pagina’s waarin filters gebruikt worden en de URL wordt aangepast met query parameters (/?prijs=50-500). In veel gevallen is het dan goed om deze pagina’s niet te indexeren. En dit doe je dus via je Robots.txt bestand.

Deze URL-parameters kun je het beste blokkeren in je Robots.txt. Dit gaat dan om parameters zoals Disallow: /catalogsearch/, Disallow: /*?SID= en Disallow: /*?.

Om zoekmachines zoals Google te helpen met het crawlen en beter te laten navigeren door je website, is het ook aan te bevelen om de locatie van je sitemap in je Robots.txt te zetten.

"#Website Sitemap" Sitemap: https://www.voorbeeld.com/sitemap.xml

** Robots.txt instellingen voor minder server belasting & security**

Door pagina’s uit te sluiten voor het crawlen zorg je ervoor dat de server uiteindelijk minder belast wordt. Ook is het aan te raden om pagina’s die je liever niet publiekelijk wilt hebben, om security redenen uit te sluiten.

Dit levert uiteindelijk de volgende configuratie op:

User-agent: *
Crawl-delay: 4

# Website Sitemap
Sitemap: https://www.voorbeeld.com/sitemap.xml

# Directories
User-agent: *
Disallow: /app/
Disallow: /bin/
Disallow: /dev/
Disallow: /lib/
Disallow: /phpserver/
Disallow: /pub/
Disallow: /setup/
Disallow: /update/
Disallow: /var/
Disallow: /vendor/
Disallow: /admin/
Disallow: /directory/

# Paths (clean URLs)
User-agent: *
Disallow: /index.php/
Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/
Disallow: /catalogsearch/
Disallow: /checkout/
Disallow: /control/
Disallow: /contacts/
Disallow: /customer/
Disallow: /customize/
Disallow: /newsletter/
Disallow: /wishlist/
Disallow: /customer/account/
Disallow: /customer/account/login/

# Do not index the general technical directories and files on a server
Disallow: /cgi-bin/

# Files
Disallow: /composer.json
Disallow: /composer.lock
Disallow: /CONTRIBUTING.md
Disallow: /CONTRIBUTOR_LICENSE_AGREEMENT.html
Disallow: /COPYING.txt
Disallow: /Gruntfile.js
Disallow: /LICENSE.txt
Disallow: /LICENSE_AFL.txt
Disallow: /nginx.conf.sample
Disallow: /package.json
Disallow: /php.ini.sample
Disallow: /RELEASE_NOTES.txt

# Paths (no clean URLs)
Disallow: /*.js$
Disallow: /*.css$
Disallow: /*.php$
Disallow: /*?p=*&
Disallow: /*?SID=

# Disable sorting (Avoid duplicate content)
Disallow: /*?*product_list_mode=
Disallow: /*?*product_list_order=
Disallow: /*?*product_list_limit=
Disallow: /*?*product_list_dir=

Wil je meer controle over het uitsluiten van specifieke query parameters, dan kun je deze individueel toevoegen. Bijvoorbeeld:

Disallow: /*?price=
Disallow: /*&price=
Disallow: /*?size=
Disallow: /*&size=
Disallow: /*?material=
Disallow: /*&material=

Of als je iedere parameter wilt blokken, dan kun je ook alleen kiezen voor Disallow: /*?. Wil je bijvoorbeeld alleen de Google Bot voor een specifieke pagina blokkeren, dan doe je dit door het volgende op te geven:

User-agent: Googlebot 
Disallow: /submap/pagina-url.html

Optimale configuratie van het Robots.txt voor Magento 1

Voor Magento 1 werkt het aanmaken van een Robots.txt net iets anders. De meest eenvoudige manier is om direct een robots.txt bestand aan te maken in de root map van je Magento 1 installatie.

User-agent: *
Crawl-delay: 4

# Website Sitemap
Sitemap: https://www.voorbeeld.com/sitemap.xml

# Directories
Disallow: /404/
Disallow: /app/
Disallow: /cgi-bin/
Disallow: /downloader/
Disallow: /errors/
Disallow: /includes/
Disallow: /lib/
Disallow: /magento/
Disallow: /pkginfo/
Disallow: /report/
Disallow: /scripts/
Disallow: /shell/
Disallow: /stats/
Disallow: /var/

# Paths (clean URLs)
Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/
Disallow: /catalog/product/gallery/
Disallow: /catalogsearch/
Disallow: /checkout/
Disallow: /control/
Disallow: /contacts/
Disallow: /customer/
Disallow: /customize/
Disallow: /newsletter/
Disallow: /poll/
Disallow: /review/
Disallow: /sendfriend/
Disallow: /tag/
Disallow: /wishlist/

# Files
Disallow: /cron.php
Disallow: /cron.sh
Disallow: /error_log
Disallow: /install.php
Disallow: /LICENSE.html
Disallow: /LICENSE.txt
Disallow: /LICENSE_AFL.txt
Disallow: /STATUS.txt

# Paths (no clean URLs)
Disallow: /*.js$
Disallow: /*.css$
Disallow: /*.php$
Disallow: /*?p=*&
Disallow: /*?SID=
Disallow: /*?limit=all

Of als je iedere parameter wilt blokken, dan kun je ook alleen kiezen voor Disallow: /*?.