robots.txt in Joomla
Een piepklein tekstbestand in de root van je Joomla-site, robots.txt, is het eerste wat de meeste zoekmachines lezen voordat ze ook maar een pagina bezoeken. Het vertelt crawlers van welke mappen ze moeten wegblijven en waar ze je sitemap vinden. Doe je het goed, dan besteden zoekmachines hun tijd aan de pagina's die ertoe doen. Doe je het fout, dan verberg je per ongeluk je hele site voor Google, of lok je crawlers juist naar mappen die hun tijd verspillen.
Dit artikel legt het robots.txt-bestand van Joomla van boven tot onder uit. Het behandelt de basis voor site-eigenaren, de indexeerinstellingen voor beheerders, en de manier waarop Joomla het bestand serveert en zijn meta-robots-tags opbouwt voor ontwikkelaars.
robots.txt is het bord bij je voordeur: het vertelt bezoekende crawlers waar ze wel en niet mogen komen, maar het kan geen enkele deur op slot doen.
Het doel is simpel: je helpen begrijpen wat het meegeleverde bestand doet, hoe het verschilt van Joomla's eigen indexeerinstellingen, en hoe je beide met vertrouwen aanpast.
1. De basis
1.1 Wat is robots.txt?
Het robots.txt-bestand is een gewoon tekstbestand dat in de root van je website staat. Het volgt het Robots Exclusion Protocol, een oude en breed gerespecteerde afspraak. Wanneer een zoekmachine zoals Google of Bing je site bezoekt, vraagt die eerst https://example.test/robots.txt op, leest de regels, en bepaalt dan welke paden hij mag crawlen.
Het bestand beantwoordt twee vragen voor een crawler:
- Welke delen van de site moet ik niet crawlen?
- Waar is de XML-sitemap met de pagina's die ik wel moet crawlen?
1.2 Wat robots.txt niet kan
Dit is het meest misverstane punt, dus het komt eerst. robots.txt is een verzoek, geen slot. Nette crawlers gehoorzamen het, maar het houdt niemand tegen om een pagina te bereiken, en het houdt een pagina ook niet betrouwbaar uit de zoekresultaten.
Een Disallow-regel vraagt een crawler om een pagina niet op te halen. Het vraagt een zoekmachine niet om de pagina niet te tonen. Een pagina waarnaar elders gelinkt wordt, kan nog steeds in de resultaten verschijnen, zonder omschrijving, ook al staat hij op disallow.
Om een pagina echt prive te houden, bescherm je hem met een login of met toegangsregels op serverniveau. Om een pagina uit de zoekindex te houden, gebruik je een meta robots-tag met de waarde noindex (zie hoofdstuk 4). De twee middelen lijken op elkaar, maar doen heel verschillende dingen.
1.3 Waar het bestand staat
Het bestand staat in de Joomla-webroot, naast index.php en configuration.php:
public_html/
index.php
configuration.php
robots.txt ← het bestand dat crawlers lezen
htaccess.txt
Anders dan htaccess.txt, dat inactief wordt meegeleverd en hernoemd moet worden, levert Joomla robots.txt klaar voor gebruik. Het is al actief op het moment dat je site online is. Je kunt het controleren door https://jouw-site.test/robots.txt in een browser te openen.
2. Het robots.txt-bestand van Joomla
Joomla levert een verstandig standaardbestand mee. Hier is het deel dat het werk doet, na het commentaarblok bovenaan:
User-agent: *
Disallow: /administrator/
Disallow: /api/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
2.1 Wat elke regel betekent
User-agent: *betekent dat de regels eronder voor elke crawler gelden.- Elke
Disallow-regel noemt een map die crawlers moeten overslaan.
De lijst bestaat uit Joomla's interne mappen. Geen ervan bevat pagina's waarop een bezoeker via een zoekresultaat zou moeten landen. Ze bevatten het beheerpaneel (/administrator/), de headless API (/api/), kerncode (/components/, /libraries/, /modules/, /plugins/), en werkmappen (/cache/, /tmp/, /logs/). Crawlers hieruit weghouden bespaart "crawl budget" voor je echte content en voorkomt dat er bestanden worden geindexeerd die nooit openbaar horen te zijn.
2.2 Wat het bestand niet blokkeert
Let op wat ontbreekt: er is geen Disallow: /images/ en geen Disallow: /media/. Dat is met opzet. Zoekmachines moeten je CSS, JavaScript en afbeeldingen kunnen lezen om een pagina goed weer te geven en te beoordelen. Die mappen blokkeren is een klassieke SEO-fout (zie hoofdstuk 12). Het standaardbestand blokkeert codemappen, geen mappen met assets.
2.3 Het commentaarblok bovenaan
Boven de regels staat in het meegeleverde bestand een belangrijke opmerking over installaties in een submap:
# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
Dit is belangrijk omdat crawlers robots.txt altijd alleen uit de domeinroot lezen. Hoofdstuk 6 legt precies uit wat je voor een installatie in een submap moet aanpassen.
3. De instructies begrijpen
Het Robots Exclusion Protocol heeft een kleine woordenschat. Als je die handvol instructies kent, kun je elk robots.txt-bestand lezen en aanpassen, niet alleen dat van Joomla.
| Instructie | Betekenis |
|---|---|
User-agent |
Voor welke crawler de volgende regels gelden. * betekent allemaal. |
Disallow |
Een pad dat de crawler niet mag ophalen. Een lege waarde betekent "alles toestaan". |
Allow |
Een uitzondering die een pad binnen een geblokkeerde map weer toestaat. |
Sitemap |
De volledige URL van je XML-sitemap. Geldt globaal, niet gekoppeld aan een user-agent. |
Crawl-delay |
Seconden wachten tussen verzoeken. Google negeert dit; sommige andere crawlers volgen het. |
3.1 Hoe matching werkt
Paden worden gematcht vanaf het begin van het URL-pad. Disallow: /tmp/ blokkeert alles wat met /tmp/ begint. Een kale Disallow: / blokkeert de hele site, wat je op een live site bijna nooit wilt.
3.2 De Allow-uitzondering
Je kunt met Allow een gaatje maken in een brede regel. Stel dat je een map blokkeert maar een enkel bestand erin crawlbaar wilt houden:
User-agent: *
Disallow: /private/
Allow: /private/public-flyer.pdf
De meeste moderne crawlers lezen Allow en passen de meest specifieke match toe. Gebruik het spaarzaam; een lange lijst met allows en disallows wordt al snel lastig te overzien.
3.3 Een specifieke crawler aanspreken
Je kunt aparte blokken voor aparte crawlers schrijven. Elk blok begint met zijn eigen User-agent-regel:
User-agent: *
Disallow: /tmp/
User-agent: BadBot
Disallow: /
Hier wordt elke crawler uit /tmp/ gehouden, terwijl een specifieke crawler met de naam BadBot wordt gevraagd om helemaal van de site weg te blijven. Onthoud dat een kwaadwillende bot de regel gewoon negeert, dus dit is opruimwerk voor nette crawlers, geen beveiligingsmaatregel.
3.4 Jokertekens en patronen
Het oorspronkelijke protocol matchte alleen het begin van een pad, maar Google, Bing en de meeste grote crawlers ondersteunen ook twee jokertekens. Ze horen niet bij de oude standaard, dus een paar kleinere crawlers negeren ze, maar voor de zoekmachines die ertoe doen zijn ze betrouwbaar.
| Teken | Betekenis |
|---|---|
* |
Matcht een willekeurige reeks tekens. |
$ |
Verankert de match aan het einde van de URL. |
Dit is in Joomla handig om gegenereerde of parameter-URL's te blokkeren die geen SEO-waarde hebben, zoals printweergaven of een formaatschakelaar:
User-agent: *
# Blokkeer elke URL die eindigt op een PDF-formaatschakelaar
Disallow: /*?format=pdf$
# Blokkeer elke URL met een print-parameter
Disallow: /*?print=
# Blokkeer interne zoekresultaatpagina's
Disallow: /*?searchword=
Lees Disallow: /*?format=pdf$ als "elk pad (/*), gevolgd door ?format=pdf, en daar eindigend ($)". Wees voorzichtig met jokertekens: een patroon dat net iets te breed is, kan echte content blokkeren. Test een nieuw patroon altijd in de robots.txt-tester van Google Search Console voordat je erop vertrouwt.
4. robots.txt versus meta robots
Joomla geeft je twee aparte manieren om crawlers te sturen, en ze verwarren veroorzaakt veel indexeerproblemen. Ze werken op verschillende niveaus en hebben verschillende effecten.
| robots.txt | Meta robots-tag | |
|---|---|---|
| Waar het staat | Een bestand in de site-root | In de <head> van elke pagina |
| Wat het regelt | Of een crawler een pad ophaalt | Of een opgehaalde pagina wordt geindexeerd of zijn links worden gevolgd |
| In Joomla ingesteld via | Het tekstbestand bewerken | Globale configuratie, menu-item of artikel |
| Typisch gebruik | Crawlers uit codemappen houden | Een specifieke pagina uit de zoekresultaten houden |
4.1 De valkuil: Disallow plus noindex
Er is een combinatie die mensen verrast. Als je een pagina op Disallow zet in robots.txt en er een noindex meta-tag op zet, werkt de noindex nooit. De reden is logisch: een crawler die te horen krijgt de pagina niet op te halen, leest de HTML nooit, en ziet dus ook de noindex-tag nooit.
Om een pagina uit de zoekresultaten te halen, laat je crawlers hem ophalen (zet hem niet opDisallow) en voeg je eennoindexmeta-tag toe. De crawler leest de pagina, ziet de tag, en haalt hem uit de index.
De vuistregel is dus: gebruik robots.txt om het crawlen van hele mappen te regelen, en gebruik de meta robots-tag om het indexeren van losse pagina's te regelen.
5. Indexering regelen binnen Joomla
Je bewerkt zelden met de hand de meta robots-tag van een losse pagina. Joomla bouwt die voor je op uit een instelling die over drie niveaus cascadeert. Elk niveau kan het niveau erboven overschrijven.
5.1 De vier keuzes
Op elk niveau biedt de instelling dezelfde vier waarden, die direct overeenkomen met de meta-tag die Joomla schrijft:
| Instelling | Betekenis |
|---|---|
index, follow |
Indexeer deze pagina en volg de links (de normale standaard). |
noindex, follow |
Indexeer deze pagina niet, maar volg de links. |
index, nofollow |
Indexeer deze pagina, maar volg de links niet. |
noindex, nofollow |
Indexeer deze pagina niet en volg de links niet. |
5.2 De drie niveaus (en wie wint)
- Site-breed. Systeem → Globale configuratie → Site → Metadata-instellingen → Robots stelt de standaard voor elke pagina in.
- Per menu-item. Open een menu-item, ga naar het tabblad Metadata en stel Robots in. Dit overschrijft de sitestandaard voor dat menu-item en de pagina's eronder.
- Per artikel (of ander item). Open een artikel, ga naar het tabblad Publiceren en stel Robots in. Dit is het meest specifieke niveau en wint van het menu en de site.
De meest specifieke ingevulde instelling wint. Als de Robots van een artikel leeg blijft, valt Joomla terug op het menu-item, en dan op de globale standaard. Laat de globale standaard op index, follow staan (de lege waarde) en stel de andere alleen in op de paar pagina's die het nodig hebben, zoals een bedankpagina of een interne zoekresultaatpagina.
5.3 De lege standaard
Als de globale Robots-optie leeg blijft, schrijft Joomla geen robots meta-tag. Zoekmachines behandelen de afwezigheid van een tag als "index, follow", dus het standaardgedrag is gewoon indexeren. Je krijgt pas een expliciete <meta name="robots">-tag zodra je ergens in de cascade een niet-lege waarde kiest.
6. Installaties in een submap
Crawlers lezen robots.txt alleen uit de domeinroot, nooit uit een submap. Als je Joomla-site op https://example.test/blog/ staat, vraagt een crawler nog steeds https://example.test/robots.txt op, en niet https://example.test/blog/robots.txt.
Het commentaarblok in het meegeleverde bestand legt de twee stappen uit die je moet zetten:
- Verplaats het bestand naar de echte domeinroot. Kopieer
robots.txtvan/blog/naar de bovenste map, zodat de crawler het kan vinden. - Zet de mapnaam voor elk pad. Elk
Disallow-pad moet de submap bevatten, anders wijst het naar de verkeerde plek.
Voor een site in /blog/ veranderen de regels zo:
User-agent: *
Disallow: /blog/administrator/
Disallow: /blog/api/
Disallow: /blog/cache/
Disallow: /blog/tmp/
# ...en zo verder voor elke map...
Als je de prefix vergeet, beschermen de regels stilletjes niets, want /administrator/ bestaat niet in de domeinroot bij een installatie in een submap.
7. Een sitemap toevoegen
De waardevolste regel die je aan het standaardbestand kunt toevoegen, is een verwijzing naar je XML-sitemap. Die helpt zoekmachines om al je pagina's snel te ontdekken:
Sitemap: https://example.test/index.php?option=com_osmap&view=xml&id=1
De Sitemap-instructie vraagt om een volledige, absolute URL. Het exacte adres hangt af van de sitemap-extensie die je gebruikt, want Joomla-core genereert zelf geen XML-sitemap. Populaire keuzes zijn OSMap en JSitemap; elk geeft je een URL om hier te plakken.
Je kunt meerdere sitemap-regels opgeven als je er meerdere hebt. De instructie is globaal en hoort niet bij een User-agent-blok, dus zet hem boven- of onderaan het bestand:
User-agent: *
Disallow: /administrator/
# ...overige Disallow-regels...
Sitemap: https://example.test/sitemap.xml
De sitemap aan robots.txt toevoegen vervangt niet het indienen ervan in Google Search Console, maar het is een gratis, op standaarden gebaseerde manier om te zorgen dat elke crawler hem vindt.
8. Onder de motorkap (ontwikkelaarsblik)
8.1 Hoe het bestand wordt geserveerd
Er zit geen PHP achter robots.txt. Het is een statisch bestand, en de webserver levert het direct uit. In Joomla's .htaccess wordt de rewrite van de front controller alleen geactiveerd als het verzoek niet overeenkomt met een echt bestand (!-f). Omdat robots.txt een echt bestand op schijf is, serveert Apache het meteen en bereikt het verzoek nooit index.php. Hetzelfde geldt op Nginx met de gebruikelijke try_files-regel.
Dat heeft een praktisch gevolg: je kunt robots.txt niet vanuit het Joomla-beheerpaneel wijzigen. Je bewerkt het met FTP, de bestandsbeheerder van je hosting, of een code-editor.
8.2 Waar de meta robots-tag wordt opgebouwd
De meta robots-cascade uit hoofdstuk 5 is echte code, geen magie. De globale waarde wordt gelezen en opgeslagen als pagina-parameter in SiteApplication:
// libraries/src/Application/SiteApplication.php (vereenvoudigd)
$robots = $this->get('robots');
// ...later, na het samenvoegen van de menu-item-parameters...
$params[$hash]->def('robots', $robots);
De componentweergave past de waarde dan toe, en laat de eigen metadata van het item die overschrijven. In de artikelweergave van com_content:
// components/com_content/src/View/Article/HtmlView.php (vereenvoudigd)
if ($this->params->get('robots')) {
$this->getDocument()->setMetaData('robots', $this->params->get('robots'));
}
// ...daarna wordt de eigen metadata van het artikel als laatste toegepast, dus die wint...
foreach ($this->item->metadata->toArray() as $k => $v) {
if ($v) {
$this->getDocument()->setMetaData($k, $v);
}
}
Omdat de eigen metadata van het artikel als laatste wordt geschreven, overschrijft de Robots-instelling op artikelniveau de waarden van het menu en de site. Dat is precies het "meest specifieke wint"-gedrag dat je in de beheeromgeving ziet.
8.3 De printweergave is altijd noindex
Een detail dat ontwikkelaars verrast. Wanneer een pagina in Joomla's printweergave wordt getoond, forceert de artikelweergave een noindex, nofollow-tag, ongeacht je instellingen:
if ($this->print) {
$this->getDocument()->setMetaData('robots', 'noindex, nofollow');
}
Dit voorkomt dat de uitgeklede printversie van een pagina concurreert met de echte pagina in de zoekresultaten. Je hoeft het niet in te stellen; Joomla doet het voor je.
8.4 De geblokkeerde map /api/
Het standaardbestand zet /api/ op disallow, het toegangspunt van Joomla's Web Services API. Er is geen reden voor een zoekmachine om je REST-endpoints te crawlen, en de API vereist sowieso een token. Het uit robots.txt houden is gewoon goede hygiene. Als je een openbare, deelbare weergave bovenop de API bouwt, bied die dan aan via een gewoon menu-item aan de voorkant, niet via het rauwe /api/-pad.
8.5 De HTTP-statuscode telt mee
Omdat robots.txt via HTTP wordt opgehaald, verandert de statuscode die je server teruggeeft hoe crawlers zich gedragen. Dit wordt makkelijk over het hoofd gezien en zorgt soms dat een hele site niet meer gecrawld wordt.
| Status | Hoe crawlers reageren |
|---|---|
200 OK |
Lees en pas de regels toe. Het normale geval. |
404 Not Found |
Geen bestand, dus crawlen is overal in principe toegestaan. |
403 Forbidden |
Behandeld als een fout; sommige crawlers vertragen of stoppen met crawlen. |
5xx Server Error |
Google pauzeert het crawlen van de hele site tot het bestand zich herstelt. |
De les: een kapot of geblokkeerd robots.txt is erger dan een ontbrekend bestand. Als de onderhoudsmodus of een beveiligingsplugin voor elk verzoek een 503 begint terug te geven, ook voor robots.txt, leest Google dat als "stop met crawlen" en vertragen de bezoeken. Controleer met een snel verzoek dat het bestand een schone 200 teruggeeft:
curl -I https://example.test/robots.txt
8.6 De X-Robots-Tag-header
De meta robots-tag werkt alleen voor HTML-pagina's, omdat hij in de <head> staat. Bestanden zoals PDF's, afbeeldingen en andere downloads hebben geen <head>, dus je kunt er geen noindex-tag aan toevoegen. Daarvoor stuurt de server in plaats daarvan een HTTP-header:
X-Robots-Tag: noindex
Hij accepteert dezelfde waarden als de meta-tag (noindex, nofollow, enzovoort), maar past ze toe op elk bestandstype. Een veelvoorkomend gebruik is om gegenereerde PDF's uit de zoekresultaten te houden. In Apache beperk je het per bestandstype:
<FilesMatch "\.pdf$">
<IfModule mod_headers.c>
Header set X-Robots-Tag "noindex"
</IfModule>
</FilesMatch>
Net als de meta-tag regelt X-Robots-Tag het indexeren, niet het crawlen. De crawler moet het bestand mogen ophalen om de header te zien, dus zet het bestand niet ook op Disallow in robots.txt (dezelfde valkuil als in hoofdstuk 4.1). Joomla-core stelt deze header niet voor je in; het is een toevoeging op serverniveau.
9. AI-crawlers en robots.txt
Een nieuw soort crawler leest nu robots.txt: de bots die AI-bedrijven gebruiken om tekst te verzamelen voor training en voor live antwoorden. Ze volgen hetzelfde Robots Exclusion Protocol, dus je stuurt ze met dezelfde User-agent- en Disallow-regels die je al kent.
9.1 De belangrijkste AI-user-agents
Elk bedrijf publiceert de naam van zijn crawler. De bekende in 2026 zijn:
| User-agent | Wie het beheert |
|---|---|
GPTBot |
OpenAI, voor trainingsdata. |
OAI-SearchBot |
OpenAI, voor het zoekproduct. |
ClaudeBot |
Anthropic. |
PerplexityBot |
Perplexity. |
Google-Extended |
Google's aparte token voor AI-training (niet de normale Zoeken). |
Amazonbot |
Amazon. |
Bytespider |
ByteDance (TikTok). |
CCBot |
Common Crawl, een openbare dataset die veel AI-modellen gebruiken. |
9.2 Ze toestaan of blokkeren
Om de AI-crawlers te vragen van je hele site weg te blijven, voeg je een blok per user-agent toe:
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
Twee dingen zijn belangrijk. Ten eerste: deze blokkeren heeft geen invloed op je normale Google-ranking. Zoekcrawls gebruiken Googlebot; AI-training gebruikt het aparte Google-Extended-token. Je kunt de een blokkeren en de ander behouden. Ten tweede: naleving is vrijwillig, precies zoals bij elke andere crawler. De bekende AI-bots respecteren robots.txt, maar een bot die je content wil, kan het negeren. Voor echte afdwinging heb je een firewall, een Web Application Firewall, of de botregels van je CDN nodig.
9.3 Moet je ze blokkeren?
Er is geen enkel juist antwoord. AI-crawlers blokkeren beschermt je content tegen gebruik in training, wat sommige uitgevers prefereren. Ze toestaan kan verwijzingsverkeer opleveren van AI-zoektools en je merk aanwezig houden in AI-antwoorden. Beslis op basis van je doelen, en onthoud dat je sommige kunt toestaan en andere kunt blokkeren.
Naar boven10. robots.txt achter een CDN
Veel Joomla-sites zitten achter een content delivery network zoals Cloudflare, Fastly of Bunny. Het CDN zit tussen de crawler en je origin-server, en verandert hoe robots.txt wordt uitgeleverd.
10.1 Het bestand wordt aan de rand gecached
Een CDN cachet statische bestanden, en robots.txt is statisch. Nadat je het bestand op je server hebt bewerkt, kan het CDN de oude kopie nog minuten of uren blijven uitleveren tot de cache verloopt. Daarbovenop cachen crawlers robots.txt ook zelf, vaak ongeveer een dag. Een wijziging is dus zelden direct zichtbaar.
Leeg na een belangrijke wijziging de CDN-cache voor robots.txt, zodat de nieuwe regels meteen live gaan. In Cloudflare is dat een enkele "Purge by URL"-actie.
10.2 Let op twee bronnen van waarheid
Sommige CDN's kunnen hun eigen robots.txt genereren of injecteren, of het bestand dat jij serveert herschrijven. Cloudflare kan bijvoorbeeld een beheerde robots.txt toevoegen voor zijn botbeheerfuncties. Als je live bestand niet overeenkomt met wat je hebt geupload, controleer dan het CDN-dashboard voordat je Joomla de schuld geeft. Er zou precies een plek moeten zijn die het bestand beheert.
10.3 Controleer of het nog 200 teruggeeft
Een firewallregel of bot-fight-instelling bij het CDN kan het verzoek voor robots.txt per ongeluk blokkeren of uitdagen. Zoals hoofdstuk 8.5 uitlegde, schaadt een 403 of 5xx op dit bestand het crawlen. Test de openbare URL via het CDN, niet alleen op de origin:
curl -I https://example.test/robots.txt
Een schone 200 OK met Content-Type: text/plain bevestigt dat crawlers het kunnen lezen.
11. SEO en metadata
Een correct robots.txt is stil maar belangrijk SEO-fundament. Een paar principes houden het voor je aan het werk in plaats van tegen je:
- Besteed crawl budget verstandig. Code- en werkmappen blokkeren betekent dat crawlers hun bezoeken aan je echte content besteden, wat grote sites sneller geindexeerd krijgt.
- Blokkeer nooit assets. Laat
/images/,/media/en de CSS en JavaScript van het template crawlbaar, anders geeft Google je pagina's mogelijk verkeerd weer en beoordeelt ze lager. - Verwijs naar je sitemap. De
Sitemap-regel versnelt het ontdekken van nieuwe pagina's bij elke crawler die hem leest. - Gebruik het juiste middel. Verberg hele mappen met
robots.txt; haal losse pagina's uit de resultaten met eennoindexmeta-tag die je in Joomla instelt. - Blokkeer geen pagina's die je canoniek maakt. Een
rel="canonical"-tag vertelt Google welke duplicaat de voorkeur heeft, maar Google moet de duplicaat crawlen om die tag te lezen. Alsrobots.txtde duplicaat blokkeert, wordt de canonical nooit gezien. Gebruik canonical-tags voor duplicate content en houd die URL's crawlbaar. - Houd een canonieke host aan. Serveer een enkel
robots.txtop je canonieke domein en 301-redirect de andere host, zodat crawlers nooit twee tegenstrijdige bestanden zien.
Niets hiervan vereist een betaalde SEO-extensie. Het is configuratie die je een keer instelt in het bestand en in de globale configuratie, en die zich bij elke crawl uitbetaalt.
Naar boven12. Veelgemaakte fouten en valkuilen
12.1 De per ongeluk site-brede blokkade
Symptoom: je hele site verdwijnt uit Google na een herontwerp of een verhuizing vanaf een staging-server.
Oplossing: controleer op Disallow: / in robots.txt. Staging-sites blokkeren vaak alles om prive te blijven, en dat bestand wordt per ongeluk naar productie gekopieerd. Verwijder de regel zodat crawlers je pagina's weer kunnen bereiken.
12.2 CSS, JavaScript of afbeeldingen blokkeren
Symptoom: Google Search Console meldt dat pagina's niet kunnen worden weergegeven, of de ranking daalt nadat je het bestand hebt "opgeruimd".
Oplossing: verwijder elke Disallow voor /images/, /media/ of de asset-mappen van het template. Crawlers hebben die bestanden nodig om de pagina te zien zoals een bezoeker dat doet.
12.3 Verwachten dat robots.txt een pagina verbergt
Symptoom: een pagina die je op disallow zette, verschijnt nog steeds in Google, vaak als een kale link zonder omschrijving.
Oplossing: Disallow stopt het crawlen, niet het indexeren. Verwijder de Disallow, zet de Robots van de pagina op noindex in Joomla, en laat de crawler hem ophalen en de tag zien.
12.4 Disallow plus noindex heffen elkaar op
Symptoom: je stelt zowel een Disallow als een noindex in, maar de pagina weigert de index te verlaten.
Oplossing: de crawler leest de noindex nooit, omdat de Disallow hem ervan weerhoudt de pagina op te halen. Laat de Disallow vallen en houd alleen de noindex.
12.5 De fout met het submap-pad
Symptoom: bij een installatie in een submap lijken de regels niets te beschermen.
Oplossing: verplaats het bestand naar de domeinroot en zet voor elk pad de mapnaam, bijvoorbeeld Disallow: /blog/administrator/ (zie hoofdstuk 6).
12.6 robots.txt als beveiliging behandelen
Symptoom: je vermeldt een geheime map in robots.txt om hem te "verbergen", en merkt vervolgens dat hij wordt afgetast.
Oplossing: noem nooit gevoelige paden in een openbaar bestand; je adverteert ze juist. Bescherm ze in plaats daarvan met een login of toegangsregels op serverniveau. robots.txt is advies voor nette crawlers, geen muur.
12.7 Een pagina blokkeren die je canoniek maakte
Symptoom: je zet een rel="canonical"-tag op een duplicaat-URL, maar Google blijft de duplicaat indexeren in plaats van de canonieke versie.
Oplossing: de duplicaat is geblokkeerd in robots.txt, dus Google crawlt hem nooit en leest zijn canonical-tag nooit. Verwijder de Disallow voor die URL en laat Google hem ophalen; pas dan kan hij de canonical respecteren.
12.8 Een kapot robots.txt dat een fout teruggeeft
Symptoom: de crawlsnelheid daalt tot bijna nul nadat je de onderhoudsmodus, een firewall of een CDN-botregel hebt ingeschakeld.
Oplossing: het verzoek voor robots.txt geeft een 403 of 5xx terug, wat Google leest als "stop met crawlen". Zorg dat robots.txt altijd een schone 200 teruggeeft, ook tijdens onderhoud (zie hoofdstuk 8.5).
13. Beste praktijken
Als je maar een paar dingen uit dit artikel onthoudt, onthoud dan deze:
- Houd de meegeleverde standaard aan; die blokkeert de juiste mappen en laat assets crawlbaar.
- Voeg een
Sitemap:-regel toe die naar je XML-sitemap wijst. - Zet CSS, JavaScript of afbeeldingsmappen nooit op
Disallow. - Gebruik
robots.txtvoor mappen en de Joomla Robots meta-instelling voor losse pagina's. - Om een pagina uit de resultaten te halen, gebruik je
noindexen zet je hem niet opDisallow. - Gebruik voor niet-HTML-bestanden zoals PDF's de
X-Robots-Tag-header in plaats van een meta-tag. - Houd duplicaat-URL's met een canonical-tag crawlbaar, anders kan Google de canonical niet lezen.
- Bij een installatie in een submap: verplaats het bestand naar de root en zet voor elk pad de prefix.
- Zet
Disallow: /nooit op een live site; dat is alleen een staging-instelling. - Zorg dat het bestand altijd een schone
200teruggeeft; een 403 of 5xx legt het crawlen stil. - Beslis bewust of je AI-crawlers toestaat of blokkeert, en leeg de CDN-cache na wijzigingen.
- Noem geen geheime paden;
robots.txtis openbaar en is geen beveiliging. - Test wijzigingen in de robots.txt-tester van Google Search Console voordat je erop vertrouwt.
- Serveer een enkel
robots.txtop je canonieke host en redirect de rest.
14. In het kort
LOCATIE public_html/robots.txt (direct actief, geen hernoemen)
BEKIJK HET https://jouw-site.test/robots.txt
ALLE CRAWLERS User-agent: *
BLOK MAP Disallow: /map/
STA ALLES TOE Disallow: (lege waarde)
BLOK SITE Disallow: / (alleen staging, nooit live)
UITZONDERING Allow: /map/bestand.pdf
JOKERTEKENS * = elke tekens, $ = einde van URL (Disallow: /*?print=)
SITEMAP Sitemap: https://jouw-site.test/sitemap.xml
META ROBOTS Globale config → Site → Metadata → Robots
CASCADE Artikel > Menu-item > Globaal (meest specifieke wint)
WAARDEN index,follow / noindex,follow / index,nofollow / noindex,nofollow
LEGE STANDAARD Geen robots meta-tag geschreven = index, follow
PAGINA VERBERG noindex meta-tag, zet hem NIET ook op Disallow
NIET-HTML X-Robots-Tag: noindex (header, voor PDF's/afbeeldingen)
CANONICAL Houd duplicaat crawlbaar, anders wordt canonical niet gelezen
SUBMAP Naar root + prefix paden: /blog/administrator/
PRINTWEERGAVE Altijd noindex, nofollow (door Joomla geforceerd)
HTTP STATUS Moet 200 teruggeven; 403/5xx legt crawlen stil
AI-CRAWLERS GPTBot, ClaudeBot, Google-Extended, CCBot (blok per UA)
CDN robots.txt wordt aan de rand gecached; leeg cache na wijziging
GEEN BEVEILIGING robots.txt is openbaar advies, geen toegangsslot
Naar boven15. Samenvatting
Het robots.txt-bestand is klein, openbaar en vooral krachtig in de verkeerde richting: het is veel makkelijker om je site per ongeluk te verbergen dan om er veel mee te winnen. Zodra je weet wat het doet, is het niet langer riskant:
- Doel: het vertelt crawlers welke mappen ze moeten overslaan en waar de sitemap is. Het vergrendelt geen pagina's en haalt ze ook niet uit de zoekresultaten.
- De standaard: Joomla levert een kant-en-klaar bestand dat code- en werkmappen blokkeert en je content en assets crawlbaar laat.
- Twee middelen: gebruik
robots.txtvoor hele mappen en de Joomla Robots meta-instelling voor losse pagina's; zet een pagina die je wiltnoindex-en nooit op disallow. - De cascade: de Robots meta-tag stroomt van de globale configuratie naar het menu-item naar het artikel, waarbij de meest specifieke instelling wint.
- Verder dan de basis: jokertekens verfijnen wat je blokkeert,
X-Robots-Tagregelt niet-HTML-bestanden, AI-crawlers volgen dezelfde regels, en een CDN cachet het bestand aan de rand. - Submappen: verplaats het bestand naar de domeinroot en zet voor elk pad de prefix.
Als je Joomla-pagina's na een verhuizing uit Google verdwijnen, verkeerd in Search Console worden weergegeven, of hardnekkig in de index blijven terwijl je ze weg wilt hebben, ligt de oorzaak heel vaak in robots.txt of de Robots meta-instelling. Een zorgvuldige blik op beide, en een helder gevoel voor welke je waarvoor gebruikt, vindt het probleem meestal snel. Het is precies het soort stille fundamentwerk dat een Joomla-site zichtbaar houdt voor de juiste bezoekers en onzichtbaar waar dat hoort.


Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.
Veelgestelde vragen
Een robots.txt-bestand geeft aan crawlers van zoekmachines die aan de regels voldoen aan welke delen van je Joomla-website ze wel of niet mogen crawlen. Het helpt bij het beheren van de toegang voor crawlers, maar beveiligt geen privé-inhoud.
Een goed geconfigureerd robots.txt-bestand ondersteunt SEO door onnodig crawlen van irrelevante pagina’s te voorkomen. Het blokkeren van belangrijke inhoud kan echter de zichtbaarheid van uw website in zoekmachines verminderen.
Nee. Robots.txt regelt alleen het crawlen, niet het indexeren. Als er ergens anders naar een geblokkeerde pagina wordt gelinkt, kunnen zoekmachines de URL nog steeds indexeren zonder de inhoud ervan te bekijken
Vermijd het blokkeren van mappen of bestanden die CSS, JavaScript, afbeeldingen of andere bronnen bevatten die nodig zijn om je pagina’s correct weer te geven. Zoekmachines hebben toegang tot deze bronnen nodig om je website te begrijpen.
Veel AI-crawlers, zoals GPTBot en ClaudeBot, controleren robots.txt voordat ze een website crawlen. U kunt deze bots expliciet toestaan of weigeren, afhankelijk van of u wilt dat uw inhoud wordt gebruikt voor AI-diensten.
Controleer na het bijwerken van robots.txt het bestand met behulp van uw browser, Google Search Console en serverlogs. Deze tools helpen u te bevestigen dat belangrijke pagina’s crawlbaar blijven, terwijl ongewenste delen correct worden uitgesloten.


