WordPress zonder plugins: hoe ver kom je?

Ontdek wat WordPress kan zonder plugins. Van custom code tot ingebouwde functies - leer waar je plugins kunt vervangen en waar niet.

15 april 20268 min leestijdDoor We Develop Communication

Elke WordPress-site begint met dezelfde vraag: welke plugins heb ik nodig? Maar er is een betere vraag: welke plugins heb ik niet nodig? WordPress zonder plugins klinkt misschien radicaal, maar de core van WordPress is krachtiger dan de meeste mensen denken. De vraag is hoe ver je daarmee komt - en waar de grens ligt.

In eerdere artikelen hebben we uitgebreid gekeken naar waarom WordPress traag kan zijn en hoe je trage plugins opspoort. Dit artikel draait het perspectief om: wat als je die plugins helemaal niet installeert?

Wat WordPress core je standaard biedt

WordPress wordt vaak gezien als een leeg canvas dat je met plugins moet vullen. Dat beeld klopt niet helemaal. De core bevat een verrassend compleet pakket:

  • Content management - berichten, pagina's, categorieën, tags en custom taxonomieën
  • Mediabeheer - upload, bewerking, galerijen en automatische afbeeldingsformaten
  • Gebruikersbeheer - rollen, rechten en multi-author ondersteuning
  • REST API - volledige CRUD-operaties op alle content via JSON-endpoints
  • Block editor (Gutenberg) - visuele editor met blokken voor lay-out, media en interactieve elementen
  • Theme customizer - aanpassingen aan kleuren, menu's en widgets zonder code
  • XML sitemaps - sinds WordPress 5.5 standaard ingebouwd
  • Lazy loading - native loading="lazy" op afbeeldingen
  • oEmbed - automatische embeds van YouTube, Twitter, Spotify en tientallen andere platforms

Voor een eenvoudige blog, portfolio of brochuresite is dit genoeg. Je kunt content publiceren, media beheren en een professioneel ogende site draaien zonder één plugin te installeren.

Waar plugins onmisbaar lijken (maar het niet altijd zijn)

De meeste WordPress-sites installeren dezelfde categorieën plugins. Laten we per categorie bekijken wat je met custom code of core-functionaliteit kunt oplossen.

Contactformulieren

Plugins zoals Contact Form 7 of WPForms zijn populair, maar een eenvoudig contactformulier bouw je ook zelf. Met een custom page template en wp_mail() heb je een werkend formulier in minder dan 50 regels PHP.

if ($_SERVER['REQUEST_METHOD'] === 'POST' && wp_verify_nonce($_POST['_wpnonce'], 'contact_form')) {
    $naam = sanitize_text_field($_POST['naam']);
    $email = sanitize_email($_POST['email']);
    $bericht = sanitize_textarea_field($_POST['bericht']);

    wp_mail(
        get_option('admin_email'),
        'Contactformulier: ' . $naam,
        $bericht,
        ['Reply-To: ' . $email]
    );
}

De kanttekening: zodra je spam-filtering, bestandsuploads of voorwaardelijke velden nodig hebt, wordt het zelf bouwen complexer dan het installeren van een bewezen plugin.

SEO-basisfuncties

Yoast SEO en Rank Math zijn misschien de meest geïnstalleerde WordPress-plugins ter wereld. Maar wat doen ze eigenlijk dat WordPress niet standaard kan?

Wat je zelf kunt oplossen:

  • Meta titles en descriptions via wp_head hook en custom fields
  • Open Graph tags voor social media sharing
  • XML sitemaps - al ingebouwd sinds WordPress 5.5
  • Canonical URLs - WordPress genereert deze standaard

Waar een SEO-plugin meerwaarde biedt:

  • Realtime content-analyse en leesbaarheidsscores
  • Automatische schema markup (FAQ, Article, Breadcrumbs)
  • Redirect management met 301/302 monitoring
  • Uitgebreide sitemap-configuratie met prioriteiten en uitzonderingen

Voor een technisch team dat weet wat het doet, is een SEO-plugin niet strikt noodzakelijk. Maar de productiviteitswinst voor contentbeheerders is vaak de moeite waard.

Caching

Dit is een interessant geval. Zoals we uitgebreid hebben besproken in het artikel over full page caching met NGINX, kun je caching volledig op serverniveau regelen. NGINX FastCGI cache of Varnish zijn sneller en betrouwbaarder dan welke WordPress-cachingplugin dan ook.

Hetzelfde geldt voor object caching met Redis: dat configureer je op serverniveau, niet via een plugin met tientallen opties.

De plugin wordt pas relevant als je geen controle hebt over je serveromgeving - op shared hosting bijvoorbeeld.

Beveiliging

Security hardening is grotendeels een servertaak. Veel van wat beveiligingsplugins doen, kun je met configuratie oplossen:

  • HTTP security headers - via NGINX of Apache configuratie
  • XML-RPC uitschakelen - één regel in je .htaccess of NGINX config
  • Login-URL wijzigen - via een simpele rewrite rule
  • Bestandsrechten - een eenmalige serverconfiguratie
  • Rate limiting - via NGINX limit_req_zone

Wat lastiger te vervangen is: real-time malware scanning, een Web Application Firewall met regelmatige updates en automatische IP-blokkering op basis van gedragspatronen. Daarvoor biedt een dienst als Cloudflare of een gespecialiseerde beveiligingsoplossing meer dan een WordPress-plugin.

De kracht van functions.php en custom plugins

WordPress biedt via zijn hooks en filters systeem een krachtig mechanisme om functionaliteit toe te voegen zonder plugins van derden. Alles wat een plugin kan, kun je technisch gezien ook zelf bouwen.

Custom post types en taxonomieën

In plaats van een plugin als Custom Post Type UI installeer je een paar regels in je functions.php:

add_action('init', function() {
    register_post_type('project', [
        'public'      => true,
        'label'       => 'Projecten',
        'supports'    => ['title', 'editor', 'thumbnail'],
        'has_archive' => true,
        'rewrite'     => ['slug' => 'projecten'],
    ]);
});

Dit is schoner, sneller en geeft je volledige controle. Geen extra database-queries, geen admin-interface die je niet gebruikt, geen updatenotificaties.

Performance-optimalisaties

Veel performance-plugins doen niets anders dan WordPress-hooks gebruiken om onnodige output te verwijderen. Dat kun je zelf:

// Verwijder emoji-scripts
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

// Verwijder jQuery Migrate
add_action('wp_default_scripts', function($scripts) {
    if (!is_admin() && isset($scripts->registered['jquery'])) {
        $scripts->registered['jquery']->deps = array_diff(
            $scripts->registered['jquery']->deps,
            ['jquery-migrate']
        );
    }
});

// Verwijder oEmbed discovery links
remove_action('wp_head', 'wp_oembed_add_discovery_links');

In ons artikel over autoloaded options zagen we hoe plugins de wp_options tabel kunnen vervuilen. Minder plugins betekent automatisch minder autoloaded data - een directe performance-winst.

Wanneer functions.php niet genoeg is

De grens van functions.php bereik je sneller dan je denkt. Als je file meer dan een paar honderd regels bevat, wordt het onderhoud een nachtmerrie. Op dat punt is het beter om je eigen plugin te schrijven - een site-specifieke plugin die je in versiebeheer houdt.

Het verschil met een plugin van derden: je hebt volledige controle over de code, er zijn geen onnodige features en je bepaalt zelf het updateritme. Het nadeel: je bent ook verantwoordelijk voor beveiliging, compatibiliteit en onderhoud.

De werkelijke kosten van pluginvrij werken

WordPress zonder plugins draaien klinkt lean en clean. Maar er zitten verborgen kosten aan.

Onderhoudslast

Elke plugin die je vervangt door custom code wordt jouw verantwoordelijkheid. Bij een WordPress-update moet je controleren of je custom code nog werkt. Bij een PHP-update idem. Bij een beveiligingslek in je eigen code is er geen automatische patch.

Een actief onderhouden plugin zoals WooCommerce heeft een team van ontwikkelaars dat dagelijks bezig is met security patches, compatibiliteitstests en feature-ontwikkeling. Dat repliceer je niet met een functions.php-snippet.

Kennis en tijd

Custom code schrijven vereist PHP-kennis, begrip van de WordPress request lifecycle, en ervaring met de WordPress API. Voor een development-team is dat geen probleem. Voor een ondernemer die zelf zijn site beheert, is een goed gekozen plugin vrijwel altijd de betere optie.

Het risico van half werk

De gevaarlijkste situatie is een site die deels pluginvrij is met slecht onderhouden custom code. Zonder proper error handling, input sanitization en nonce-verificatie creëer je beveiligingsrisico's die erger zijn dan welke plugin dan ook.

Een pragmatische aanpak: de plugin-piramide

In plaats van een alles-of-niets benadering, werkt een gelaagd model beter:

Laag 1 - Serverniveau (geen plugin nodig): Caching, security headers, rate limiting, SSL, PHP-FPM configuratie. Dit regel je op de server, niet in WordPress.

Laag 2 - Custom code (functions.php of site-plugin): Custom post types, kleine UI-aanpassingen, performance-tweaks, specifieke shortcodes. Alles wat simpel, stabiel en site-specifiek is.

Laag 3 - Bewezen plugins: Complexe functionaliteit die actief onderhoud vereist: e-commerce, formulieren met anti-spam, SEO-tooling voor content-teams, backup-oplossingen.

De kunst is om elke nieuwe functionaliteit op het juiste niveau te plaatsen. Niet alles hoeft een plugin te zijn, maar niet alles hoeft custom te zijn.

Hoe je bestaande plugins evalueert

Heb je een bestaande site met twintig of meer plugins? Doorloop ze dan kritisch:

  1. Activeer Query Monitor en meet de impact per plugin
  2. Controleer per plugin: wat doet hij precies? Kan ik dat met 10 regels code oplossen?
  3. Check de update-frequentie: een plugin die al twee jaar geen update heeft gehad, is een risico
  4. Kijk naar de database-impact: voegt de plugin eigen tabellen of autoloaded options toe?
  5. Test op een staging-omgeving: deactiveer de plugin en kijk wat er breekt

Wees eerlijk: als het vervangen van een plugin je een halve dag kost en de plugin werkt goed, is de vervanging misschien geen verbetering.

Wanneer pluginvrij écht zinvol is

Er zijn scenario's waarin minimaal of pluginvrij werken de juiste keuze is:

  • High-traffic sites waar elke milliseconde telt en je een multi-server setup draait
  • Headless WordPress implementaties waar de frontend volledig losgekoppeld is en je WordPress alleen als content-API gebruikt
  • Beveiligingskritische omgevingen waar elke externe dependency een risico vormt
  • Development-teams die volledige controle willen over de codebase en een eigen deployment-pipeline hebben

In al deze gevallen beschik je over de technische kennis om custom code te schrijven, te testen en te onderhouden. Dat is de voorwaarde.

Veelgestelde vragen

Kan WordPress functioneren zonder plugins?

Ja, WordPress core biedt een volledige CMS-ervaring met pagina's, berichten, media, gebruikersbeheer en een REST API. Voor een eenvoudige blog of brochuresite heb je in principe geen plugins nodig. Zodra je specifieke functionaliteit wilt zoals contactformulieren, SEO-optimalisatie of webshopfunctionaliteit, wordt het zonder plugins aanzienlijk complexer.

Welke pluginfunctionaliteit kan ik vervangen met custom code?

Veel voorkomende pluginfuncties zijn te vervangen via functions.php of een custom plugin: custom post types, shortcodes, beveiligingsheaders, eenvoudige contactformulieren en performance-optimalisaties. De WordPress hooks en filters API maakt dit mogelijk zonder de core aan te passen.

Is WordPress sneller zonder plugins?

Niet automatisch. Het hangt af van welke plugins je verwijdert en waardoor je ze vervangt. Slecht geschreven custom code kan trager zijn dan een goed geoptimaliseerde plugin. Het gaat om de kwaliteit van de code, niet om het label "plugin" of "custom".

Wanneer is een plugin de betere keuze dan custom code?

Als de functionaliteit complex is, regelmatig updates nodig heeft voor compatibiliteit of beveiliging, of als je niet de technische kennis hebt om het zelf te onderhouden. Denk aan WooCommerce, formulieroplossingen met spam-detectie of SEO-tools met uitgebreide sitemaps.

Hoeveel plugins zijn te veel voor WordPress?

Er is geen magisch getal. Twintig goed geschreven plugins kunnen prima presteren, terwijl drie slechte plugins je site kunnen lamleggen. Focus op de kwaliteit en impact van elke plugin, niet op het totale aantal. Gebruik Query Monitor om de werkelijke impact te meten.

Veelgestelde vragen

Klaar om digitaal te groeien?

Wij helpen Nederlandse bedrijven met webtechnologie en SEO-strategieën die écht werken. Neem vrijblijvend contact op.