Naar de inhoud

Auteurarchieven uitschakelen in WordPress

Op een site met één auteur is /author/kay/ een kopie van je blogoverzicht. En hij verklapt je inlognaam aan iedereen die kijkt. Zo zet je hem uit zonder plugin.

Gecontroleerd 9 september 2026 4 min lezen

WordPress maakt voor elke gebruiker automatisch een archiefpagina aan. Die staat op jouwsite.nl/author/kay/ en toont alles wat die persoon geschreven heeft.

Op een site met vijf redacteuren is dat zinnig. Op de meeste sites is er precies één auteur, en dan is het een tweede versie van je blogoverzicht op een ander adres. Niemand komt er, en Google moet er wel iets mee.

Twee redenen om ze weg te halen

Het is dubbele content. Je auteurarchief bevat dezelfde berichten in dezelfde volgorde als je blogoverzicht. Voor Google zijn dat twee pagina’s die om hetzelfde zoekwoord strijden, en meestal wint geen van beide.

Het verraadt je inlognaam. Dit weegt zwaarder. Dat stukje achter /author/ is je gebruikersnaam, tenzij je hem ooit bewust hebt aangepast. En met jouwsite.nl/?author=1 stuurt WordPress je door naar precies die URL. Zo heeft iemand in één poging de helft van je inloggegevens.

Het is geen lek. Er komt niemand binnen met alleen een gebruikersnaam. Maar het is gratis informatie weggeven, en er is geen enkele reden om dat te doen.

Kijk eerst of het bij jou speelt

Tik jouwsite.nl/?author=1 in. Beland je op een archiefpagina, kijk dan naar de URL in je adresbalk. Wat daar achter /author/ staat is publiek.

Probeer daarna jouwsite.nl/wp-json/wp/v2/users. Krijg je een lijst met namen te zien, dan staat die deur ook nog open.

De code

Zet dit in een eigen kleine plugin, niet in je thema. Anders is het weg zodra je van thema wisselt.

<?php
/**
 * Auteurarchieven uitschakelen.
 */

// /author/... en ?author=1 gaan naar de homepage.
add_action( 'template_redirect', function () {
    if ( is_author() ) {
        wp_safe_redirect( home_url( '/' ), 301 );
        exit;
    }
} );

// De auteur-URL's helemaal niet meer laten bestaan.
add_filter( 'author_rewrite_rules', '__return_empty_array' );

// De auteurlink in je templates wijst voortaan naar de homepage.
add_filter( 'author_link', function () {
    return home_url( '/' );
} );

// De REST-route die je gebruikerslijst teruggeeft, alleen voor bezoekers.
add_filter( 'rest_endpoints', function ( $endpoints ) {
    if ( is_user_logged_in() ) {
        return $endpoints;
    }

    unset( $endpoints['/wp/v2/users'] );
    unset( $endpoints['/wp/v2/users/(?P<id>[d]+)'] );

    return $endpoints;
} );

// Auteurs uit de sitemap van WordPress zelf.
add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) {
    return 'users' === $name ? false : $provider;
}, 10, 2 );

Sla op en ga daarna één keer naar Instellingen, Permalinks en klik Opslaan. Zonder dat blijven de oude rewrite rules in de database staan en verandert er niks aan de URL’s.

Waarom die REST-regel een uitzondering heeft

Je ziet online vaak dat je /wp/v2/users zonder meer moet uitzetten. Doe dat niet.

De blokeditor gebruikt die route zelf, onder andere voor het auteursveld in de zijbalk. Gooi je hem helemaal dicht, dan krijgen je redacteuren foutmeldingen in de editor en snapt niemand waarom. Met de check op is_user_logged_in() houd je hem dicht voor de buitenwereld en open voor wie ingelogd is.

Redirect of 404?

Hierboven stuur ik door naar de homepage. Dat is de vriendelijke variant: bestaande links blijven werken en Google krijgt met een 301 te horen dat het adres definitief weg is.

Wil je liever dat de pagina gewoon niet bestaat, vervang dan het blok in template_redirect door dit:

add_action( 'template_redirect', function () {
    if ( is_author() ) {
        global $wp_query;
        $wp_query->set_404();
        status_header( 404 );
        nocache_headers();
    }
} );

Stonden je auteurarchieven al in Google, kies dan de redirect. Bij een verse site maakt het niet uit.

Als je al een SEO-plugin hebt

Yoast, Rank Math en SureRank hebben hier allemaal een schakelaar voor. Zet hem dan dáár om en laat de code weg, anders gaan twee dingen hetzelfde regelen en weet je bij een probleem niet meer welke.

Wat die plugins meestal niet doen is de REST-route en de rewrite rules. Dat deel van de code hierboven kun je dus prima naast je plugin laten staan.

Waar het meestal misgaat

  • Permalinks niet opnieuw opgeslagen. De rewrite rules blijven gecached en je denkt dat de code niet werkt.
  • Alleen de rewrite rules weggehaald. ?author=1 werkt dan nog steeds, want dat gaat buiten de rules om. Je hebt allebei nodig.
  • De REST-route dichtgegooid voor iedereen. Levert klachten op uit de redactie.
  • Je hebt echt meerdere auteurs. Dan is een auteurarchief geen dubbele content maar een nuttige pagina. Vul hem in dat geval juist aan met een bio en een foto, in plaats van hem weg te halen.

Tot slot

Vijf minuten werk. Verander meteen ook even je weergavenaam als die nu gelijk is aan je inlognaam, want dan lekt hij verderop alsnog uit je berichten.

Loop je hier alsnog op vast?

Stuur me een bericht met wat je precies ziet gebeuren. Meestal weet ik binnen een paar minuten waar het zit.

Kom in contact
Contact

Stel je technische vraag

Vertel wat er speelt op je site; ik laat weten wat er nodig is.

Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.
Hoe concreter, hoe beter ik kan inschatten wat er nodig is.