2FA aanzetten op een WordPress-site is twee uur geconcentreerd werk dat de enige aanvalsroute dichttimmert die het in echte incidenten nog steeds wint: een gelekt of hergebruikt wachtwoord. Dit artikel loopt langs de keuzes (welke methode, welke plugin, welke rollen), het exacte setup-flowtje, en het herstelmechanisme dat je op orde moet hebben voordat je enforcement aanzet. Het lastigste aan 2FA is niet het inschakelen. Het lastigste is niet jezelf buiten te sluiten.
Als je hier bent omdat je al 2FA aan hebt gezet en nu niet meer binnenkomt, spring dan meteen naar de lockout-recovery-sectie. Als je hier bent omdat je 2FA wilt maar je site-eigenaar vindt het "te ingewikkeld voor onze redacteuren", lees dan eerst de misverstanden en kom daarna terug naar boven.
Wat je straks hebt
Een WordPress-site waarop elke beheerder en redacteur met een tweede factor inlogt, waar die setup wordt afgedwongen op basis van rol (niet op basis van vertrouwen), en waar een kapotte telefoon niet betekent dat je om 23:00 via SSH uit een white screen moet klimmen. Concreet:
- De juiste plugin geïnstalleerd en geconfigureerd voor jouw publiek (wizard-gedreven voor niet-technische teams, minimaal en community-maintained voor developers).
- TOTP via een authenticator-app als primaire methode voor elke admin.
- Backup codes uitgeprint en ergens bewaard die niet dezelfde kluis is als je password manager als die achter hetzelfde wachtwoord hangt.
- Een grace period zodat gebruikers in hun eigen tempo 2FA kunnen opzetten voordat enforcement actief wordt.
- Een gedocumenteerd herstelpad voor als iemand zijn tweede factor kwijtraakt.
2FA is een how-to, geen project. Als je dit koud begint, staat de bredere checklist waar het in past in WordPress beveiliging verharden, en de bijpassende controle voor hetzelfde loginpad staat in brute force-bescherming in WordPress. Scan ze allebei even als je wp-login.php nog niet op webserverniveau hebt dichtgezet.
Voorbereiding
- WordPress 6.0 of nieuwer. Beide aanbevolen plugins mikken op WordPress 5.5+ of 6.8+, en de WebAuthn-companion plugin vereist PHP 8.1.
- Administratortoegang tot de site die je wilt beschermen.
- Een tweede apparaat (telefoon of hardware key) dat je gaat gebruiken voor de tweede factor. Gebruik niet dezelfde machine waar
wp-adminop draait voor zowel je password manager als je authenticator-app; dat is een single-device-compromispad. - Een manier om e-mail te ontvangen op het adres van je WordPress-account als je e-mail 2FA wilt gebruiken, met betrouwbare bezorging. Standaard WordPress
wp_mail()gebruikt PHP'smail()-functie, en die valt op veel hosts in de spam of verdwijnt gewoon. Heb je nog geen transactional SMTP geregeld? Doe dat eerst via WordPress SMTP-configuratie. - SSH- of SFTP-toegang tot de site als vangnet. Als het echt misgaat, is de enige manier om een 2FA-plugin uit te schakelen zonder in te loggen het hernoemen van de pluginmap op de server.
- Vijf minuten om een velletje met backup codes uit te printen. Sla je dit over, dan is elke andere stap in dit artikel toneelspel.
Welke methode kies je, en waarom
WordPress 2FA-plugins ondersteunen drie tot vier methodes. Je keuze hangt af van de apparaatsituatie van de gebruiker en hoeveel je om phishingbestendigheid geeft. Even een snelle beslissingstabel:
| Methode | Beveiliging | Phishingbestendig | Offline | Setup-frictie | Wanneer kiezen |
|---|---|---|---|---|---|
| TOTP (authenticator-app) | Sterk | Laag-matig | Ja | Medium (QR scannen, backup codes opslaan) | Default voor elke admin |
| Passkey / WebAuthn (Windows Hello, Touch ID, YubiKey) | Sterkst | Ja (phishingbestendig) | Ja (biometrisch) | Laag zodra ingeschreven | Admins met moderne apparaten |
| E-mail OTP | Zwak-matig | Nee | Nee | Heel laag | Alleen als bovenstaande niet kunnen |
| SMS | Zwak | Nee | Nee | Laag | Bijna nooit |
Wat ik in de praktijk aanraad. TOTP voor elke admin als baseline, want de setup werkt op elke telefoon en kost 45 seconden. Passkeys voor iedereen met een moderne laptop of telefoon die een tap-and-go-ervaring wil. E-mail OTP alleen als fallback voor accounts die écht geen TOTP-app kunnen draaien. SMS hoort in 2026 sowieso niet meer op deze lijst; NIST SP 800-63B sectie 5.1.3.3 waarschuwt al sinds 2017 tegen SMS-OTP als "restricted authenticator", en Microsoft zelf schreef in 2020 dat SMS en voice "de minst veilige van de beschikbare MFA-methodes" zijn.
Eén verduidelijking over passkeys die mensen in de war brengt. WordPress 6.8 (april 2025) kreeg geen native passkey-login in core; die release wijzigde alleen de password hashing naar bcrypt. Per april 2026 is passkey-ondersteuning in WordPress nog steeds plugin-only. Het plugin-ecosysteem dekt het prima (zie hieronder), maar ga niet op zoek naar een core-schakelaar die niet bestaat.
En nog eentje over TOTP. Elke authenticator-app die RFC 6238 ondersteunt, werkt met elke WordPress-plugin die TOTP implementeert. Google Authenticator, Authy, 1Password, Bitwarden, Microsoft Authenticator, FreeOTP: allemaal uitwisselbaar. Het enige wat ze gemeen hebben is dat het gedeelde secret (de QR-code) en de huidige tijd (binnen ongeveer 90 seconden) samen de 6-cijferige code bepalen. Staat de klok van je telefoon twee minuten scheef, dan faalt TOTP gewoon.
Welke plugin
Twee canonieke plugins en één companion. Allebei gratis, allebei actief onderhouden, allebei met 100.000+ installaties op wordpress.org. Kies op basis van publiek:
Optie 1: WP 2FA van Melapress (voor de meeste sites)
WP 2FA is de juiste default voor sites met een mix van technische en niet-technische gebruikers. De plugin heeft een wizard-gedreven setup die op niet-developers mikt, rol-gebaseerde enforcement met grace periods, en TOTP plus e-mail plus één gratis passkey in de free tier. De huidige versie tijdens dit artikel is 3.1.1.2 (uitgebracht februari 2026), getest tot WordPress 6.9.4. Passkey-ondersteuning kwam in v3.1.0, niet eerder. Melapress is een commerciële plugin-club; de gratis versie is echt bruikbaar en de premium-versie voegt WooCommerce-klant-2FA, meerdere passkeys per gebruiker en YubiKey-hardware keys toe.
Kies deze als: je een site beheert met redacteuren, marketeers of auteurs die "hoe log ik ook alweer in" vragen als het flowtje te ingewikkeld wordt, of als je 2FA per rol wilt afdwingen.
Optie 2: Two Factor van de WordPress-community
Two Factor is de minimale, community-maintained variant. Huidige versie is 0.16.0 (uitgebracht 2026-03-27). De plugin levert TOTP, e-mailcodes, backup codes en een "dummy" provider voor dev-doeleinden. Er is geen enforcement-mechanisme ingebouwd: elke gebruiker zet het zelf aan via zijn eigen profielpagina. Legacy FIDO U2F-ondersteuning is verwijderd in 0.16.0 op 2026-03-27 omdat browserondersteuning aftakelde; de vervanger voor hardware keys is de companion plugin hieronder.
Kies deze als: je een developer bent die zelf z'n sites beheert, je zo weinig mogelijk codekoppelvlak wilt, en je de plugin wilt die de WordPress core-contributors zelf onderhouden.
Companion bij optie 2: WebAuthn Provider for Two Factor
WebAuthn Provider for Two Factor is de companion die passkey- en hardware-key-ondersteuning toevoegt aan de community Two Factor-plugin. Huidige versie is 2.6.1, onderhouden door Volodymyr Kolesnykov. Werkt met Windows Hello, macOS Touch ID, YubiKeys en elke FIDO2-authenticator. De plugin migreert ook eerder geregistreerde FIDO U2F-keys, wat belangrijk is als je de oude Two Factor-plugin draaide voordat 0.16.0 uitkwam. Vereist PHP 8.1+ en WordPress 6.0+.
Installeer deze naast optie 2 als je passkeys wilt op het community-pad.
De rest van de walkthrough gebruikt WP 2FA als voorbeeld, omdat die bij meer lezers past. Dezelfde beslissingen gelden voor Two Factor, met de kanttekening dat enforcement en grace periods daar niet bestaan: elke gebruiker schrijft zichzelf in via zijn eigen profielpagina.
Stap 1: backup voordat je iets aan authenticatie doet
Voor je ook maar één 2FA-plugin aanzet, trek je een snapshot. Als enforcement je in een verkeerde state vangt, of een pluginbug precies jouw user-row raakt, is de snelste recovery: "zet de users-tabel en de options-tabel van een half uur geleden terug". Elke volledige site-backup voldoet: UpdraftPlus, BackWPup, een managed-host-snapshot, of wp db export vanaf de command line. Heb je al automatische backups ingericht via de WordPress backupstrategie? Trigger nu even een handmatige run.
# Vanaf de WordPress-root als een user die wp-config.php kan lezen
wp db export backup-voor-2fa-$(date +%Y%m%d-%H%M).sql
Verwachte output: een bestand backup-voor-2fa-20260408-1430.sql (of iets dergelijks) in je huidige map, een paar MB groot voor een typische site.
Bewaar dat bestand ergens waar je zonder wp-admin bij kunt. Die randvoorwaarde is expres.
Stap 2: WP 2FA installeren en activeren
In wp-admin > Plugins > Nieuwe toevoegen zoek je op WP 2FA van Melapress. Check de auteursnaam (er zijn look-alikes) en het aantal installaties (100.000+). Installeer en activeer. De plugin voegt een WP 2FA top-level menu toe en start een first-run wizard voor de eerste admin die het opent.
Loop de vier prompts van de wizard door, maar kies bij de methode-stap "Laat gebruikers zelf een methode kiezen". Iedereen op één methode vastpinnen ziet er in theorie schoon uit, maar zet in de praktijk die ene admin klem wiens telefoon net die dag leegtrekt.
In de laatste wizard-stap kies je Optioneel, nog niet Verplicht. Je gaat in stap 3 je eigen 2FA inrichten, in stap 4 en 5 die van de rest, en pas daarna zet je het globale beleid op verplicht. Zet je hier meteen Verplicht aan voordat iemand zich heeft ingeschreven, dan wordt elke gebruiker inclusief jij bij de volgende login door een gedwongen setup geleid. Dat is prima als je ernaast zit, en ramp als ze vanaf de wifi van een conferentiehotel inloggen.
Je weet dat het werkte zodra het WP 2FA-menu de status "2FA is ingeschakeld voor de gebruikers die het hebben opgezet" laat zien en je eigen gebruikersprofiel (wp-admin > Gebruikers > Je profiel) een sectie Tweestapsverificatie heeft.
Stap 3: je eigen admin-account inschrijven
Ga naar wp-admin > Gebruikers > Je profiel en scroll naar Tweestapsverificatie. Klik op Tweestapsverificatie configureren. Je ziet drie methode-opties: authenticator-app, e-mail en passkey.
Kies eerst authenticator-app. Er verschijnt een QR-code. Open op je telefoon Google Authenticator (of je voorkeursapp voor RFC 6238), tik op + > QR-code scannen en richt de camera op het scherm. In de app verschijnt een 6-cijferige code die elke 30 seconden roteert. Typ de huidige code in de WP 2FA-prompt en klik op Volgende.
Genereer nu backup codes en sla ze op. WP 2FA vraagt hier aan het eind van de wizard om. Klik op Backup codes genereren. Je ziet een lijst met 16-cijferige codes; elk werkt precies één keer. Print ze of schrijf ze op papier en leg ze ergens waar je telefoon ze niet met zich mee het graf in kan nemen. Een password manager is prima, zolang die niet op dezelfde telefoon leeft als de authenticator-app; zitten ze in hetzelfde browserprofiel, dan is het één compromittering verwijderd van allebei nutteloos.
Eén extra stap die mensen overslaan en waar ze spijt van krijgen: log uit en log opnieuw in met de authenticator-code, vanuit een incognitovenster. Bevestig dat de flow end-to-end werkt voordat je verder gaat. Mislukt de login en heb je backup codes? Gebruik er dan eentje om weer binnen te komen en zoek uit wat er misging (meestal klok-drift op de telefoon; resync de klok van de telefoon).
Je weet dat het werkte zodra een volledige verse login-cyclus vanuit incognito om een 6-cijferige code vraagt en slaagt.
Stap 4: de passkey-optie toevoegen (optioneel maar de moeite waard)
Op je profielpagina onder Tweestapsverificatie klik je op Instellen naast de methode Passkey. Je browser vraagt je om te authenticeren met de ingebouwde WebAuthn van het apparaat (Touch ID op macOS, Windows Hello op Windows, vingerafdruk op Android, of een hardware key zoals een YubiKey in een USB-poort). Maak de prompt af. De passkey is nu geregistreerd en je kunt hem bij de volgende login gebruiken als tweede factor in plaats van de TOTP-code.
Op de gratis tier van WP 2FA is één passkey per gebruiker beschikbaar. Wil je een tweede passkey inschrijven (desktop plus telefoon bijvoorbeeld), dan zit dat in de premium-tier. Voor de meeste solo-admins is één passkey plus een TOTP-fallback plus backup codes genoeg.
Je weet dat het werkte zodra de passkey-optie op je profielpagina "Geregistreerd" meldt.
Stap 5: de andere gebruikers inschrijven
Twee paden, afhankelijk van hoeveel handje-vast je wilt geven.
Het meelopen-pad. Voor elke admin of redacteur plan je 10 minuten, je zorgt dat ze achter hun werkstation zitten met een telefoon in de hand, en je loopt met ze door stap 3. Stuur de backup codes via een veilig kanaal (versleutelde note in een gedeelde Bitwarden-map, Signal-bericht, papieren envelop). Dit is het juiste pad voor drie tot tien mensen.
Het e-mail-invitatie-pad. WP 2FA kan een "gelieve 2FA in te stellen"-e-mail sturen naar elke gebruiker die nog niet is ingeschreven. Ga naar WP 2FA > Instellingen > Notificaties en zet de gebruikersuitnodigings-e-mail aan. Gebruikers krijgen een bericht met een link die ze direct naar hun 2FA-setup-wizard brengt. Dit is het juiste pad voor tien tot honderd mensen, met een follow-up voor treuzelaars.
Ongeacht welk pad: ga niet naar stap 6 tot elke gebruiker die onder de enforcement gaat vallen, is ingeschreven. De grace period is er om je een buffer te geven, niet om deze stap over te slaan.
Stap 6: enforcement aan met een grace period
Dit is de stap die 2FA omzet van "beschikbaar" naar "verplicht". Ga naar WP 2FA > Instellingen > 2FA-beleid. Zet het beleid om van Optioneel naar Verplicht. Onder Van toepassing op kies je of Alle gebruikers of Alle gebruikers met specifieke rollen (aanbevolen: beheerders en redacteuren; sla subscribers en klanten over tenzij je WooCommerce draait met klant-2FA in WP 2FA Premium).
Stel een grace period van zeven dagen in. Dit is verreweg het belangrijkste veld op dit scherm. Als een gebruiker tijdens de grace period inlogt zonder 2FA, ziet hij een nag-scherm dat naar de setup wijst, maar hij kan toch nog inloggen. Zodra de grace period voorbij is, kunnen gebruikers zonder 2FA niet meer inloggen tot ze zich inschrijven. Zeven dagen geeft je een realistisch venster om die ene persoon die z'n e-mail niet leest alsnog achterna te jagen.
Sla het beleid op. WP 2FA zeurt nu bij elke login aan een niet-ingeschreven gebruiker en blokkeert hem na zeven dagen. Log uit en log weer in om te bevestigen dat je eigen inschrijving het nog doet.
Je weet dat het werkte zodra een verse login vanuit incognito, als gebruiker zonder 2FA geconfigureerd, op het "stel 2FA in binnen 7 dagen"-scherm belandt.
Stap 7: lockout-recovery documenteren
Voordat je dit tabblad sluit, schrijf je op waar de recovery-stukken liggen. Een template:
WordPress 2FA-recovery (jouwsite.nl)
- 2FA-plugin: WP 2FA 3.1.1.2
- Plugin-pad: wp-content/plugins/wp-2fa/
- Backup codes: opgeslagen in [locatie]
- SSH-toegang: user [deploy], host [host.example.nl]
- Database: user [wordpress_user], DB [wordpress_db]
- Laatste volledige backup: [datum, locatie]
- Deactiveer-via-SSH commando:
cd /var/www/jouwsite.nl/wp-content/plugins
mv wp-2fa wp-2fa.disabled
Plak dat in dezelfde password-kluis waar de backup codes juist niet liggen. Het punt van deze paragraaf is dat degene die dit over twee jaar tot runbook moet verwerken, je eigen toekomstige ik is die half verbaasd naar een buitengesloten adminaccount tuurt.
Drie misverstanden die de moeite waard zijn om te ontkrachten
"Als ik 2FA aanzet, worden al m'n gebruikers meteen buitengesloten." Niet waar. Beide plugins in dit artikel laten gebruikers gewoon inloggen totdat ze zich inschrijven, tenzij en totdat je enforcement aanzet zonder grace period. De standaardinstelling van WP 2FA op een verse installatie is optioneel; Two Factor heeft helemaal geen enforcement. De admin die activeren klikt en meteen in paniek raakt over z'n redacteuren, komt erachter dat er voor hen niks is veranderd. De grace period is de knop waarmee je écht afdwingt.
"E-mail 2FA is net zo veilig als TOTP-apps." Niet waar, en dat is belangrijker dan mensen beseffen. E-mail 2FA stuurt bij het inloggen een 6-cijferige code naar het geregistreerde e-mailadres van de gebruiker. Drie problemen: de code reist over een netwerk (e-mail kan onderschept of vertraagd worden), de beveiliging leunt op een tweede account dat zelf niet gecompromitteerd is (is dat een Gmail met een hergebruikt wachtwoord, dan heb je nul factoren toegevoegd), en het leunt op de e-mailbezorging van je site (valt wp_mail() in de spam, dan wacht de gebruiker oneindig). TOTP genereert de code offline op het apparaat van de gebruiker via RFC 6238; er wordt nooit iets verzonden. Gebruik TOTP als default, e-mail alleen als fallback voor gebruikers die écht geen app kunnen draaien.
"2FA is te technisch voor mijn redacteuren." Niet met de wizard van WP 2FA. Een QR-code scannen en een 6-cijferige code intypen is een flowtje van 45 seconden. Wat écht lastig is, is het recovery-scenario (telefoon vervangen, backup codes zoek), en dat is een menselijk procesprobleem, geen technisch. De oplossing is stap 7 hierboven: documenteer het herstelpad één keer, en leer redacteuren om hun backup codes goed te bewaren.
Lockout-recovery: als je bij je tweede factor niet kunt
De recovery-hiërarchie, in volgorde van hoeveel schade ze aan de site toebrengen:
1. Gebruik een backup code. Elke plugin in dit artikel genereert single-use backup codes op het moment van inschrijving. Heb je die in stap 3 opgeslagen, dan is dit een recovery van 10 seconden. De code gaat in het veld waar de TOTP-code normaal heen gaat. Hij wordt verbruikt bij het eerste gebruik; genereer er direct daarna nieuwe.
2. Vraag een andere admin om je 2FA-configuratie te verwijderen. Heb je meer dan één administrator, dan kan een andere admin naar wp-admin > Gebruikers > [jouw user] > Bewerken en daar je 2FA-configuratie wissen. Jij logt dan weer in met alleen je wachtwoord en schrijft jezelf opnieuw in. Dit is het op-één-na-beste pad en de reden om nooit de enige admin van je site te zijn.
3. Schakel de plugin uit vanaf het filesystem. Werken de bovenstaande twee niet? SSH dan in de server en hernoem de pluginmap:
# Vervang door je echte WordPress-root en de map van je actieve 2FA-plugin
cd /var/www/jouwsite.nl/wp-content/plugins
mv wp-2fa wp-2fa.disabled
WordPress ziet dat de plugin er niet meer is en deactiveert hem bij de volgende request automatisch. Je kunt inloggen met alleen je wachtwoord, de plugin opnieuw installeren en jezelf opnieuw inschrijven. De trade-off is dat tijdens het venster tussen het hernoemen en het opnieuw inschrijven 2FA op de hele site uitstaat. Plan de re-enrolment direct daarna, niet "morgen".
4. Direct in de database duiken. Heb je geen SSH maar wel phpMyAdmin of iets vergelijkbaars, dan kun je de WP 2FA-specifieke rijen uit de wp_usermeta-tabel voor jouw user verwijderen. Voor WP 2FA beginnen de relevante meta-keys met wp_2fa_. Gooi ze weg en log weer in met alleen je wachtwoord. Dit is een laatste redmiddel; gebruik liever het plugindeactivatie-pad als je ook maar iets van shell-toegang hebt.
Ben je volledig buitengesloten en werkt geen van deze paden, dan is het probleem groter dan een login-herstel en moet je de incident-bundel verzamelen die staat in waarom je niet in WordPress kunt inloggen voor je om hulp vraagt. De twee artikelen horen bij elkaar; 2FA-lockouts zijn één van de specifieke smaken die in dat routing-artikel langskomen.
WooCommerce en klant-2FA
Klantaccounts zijn een ander probleem dan admin-accounts. De admin-flow hierboven gaat over wp_users met edit_posts of hoger. Klanten (die in een WooCommerce-winkel de rol read of customer hebben) gebruiken geen wp-admin; zij loggen in op /mijn-account/ en plaatsen bestellingen.
Per april 2026 dekt de gratis Two Factor-plugin de front-end login van WooCommerce niet. WP 2FA Premium wel, en dat is de belangrijkste reden om de betaalde tier te overwegen als je een winkel runt. Voor een gratis aanpak kun je de account-security-features van WooCommerce zelf gebruiken (sterke wachtwoorden, e-mailverificatie bij wachtwoordreset) gecombineerd met rate limiting op webserverniveau voor /mijn-account/ in hetzelfde patroon als voor wp-login.php. Dat is het doen waard; het is alleen niet hetzelfde als 2FA. Is klant-2FA een harde eis, dan is het realistische pad WP 2FA Premium of een gespecialiseerde store-security-plugin.
De eindconfiguratie, compleet
Een minimale opzet die werkt voor een site met drie tot tien admins en redacteuren, geoptimaliseerd voor "niemand sluit zichzelf buiten":
- WP 2FA geïnstalleerd en actief. Huidige versie 3.1.1.2.
- Beleid: verplicht voor beheerders en redacteuren, met een grace period van zeven dagen.
- Toegestane methodes: TOTP + e-mail + passkey (gratis tier van WP 2FA).
- Backup codes gegenereerd en offline opgeslagen voor elke ingeschreven gebruiker.
- Recovery-document geschreven (stap 7) en opgeslagen in de team-password-kluis.
- Minimaal twee beheerdersaccounts op de site, elk met eigen 2FA geconfigureerd, zodat één admin de configuratie van een ander kan wissen zonder SSH.
- SSH- of SFTP-toegang geverifieerd als laatste redmiddel, met het exacte
mv-commando opgeschreven. - Betrouwbare SMTP geregeld volgens het WordPress SMTP-artikel als een gebruiker terugvalt op e-mail 2FA.
- Automatische backup die dagelijks draait, buiten de webserver, volgens de WordPress backupstrategie.
Herlaad wp-admin met de definitieve instellingen op hun plek en doe één end-to-end login-test. Slaagt die, dan staat 2FA live, komt enforcement over zeven dagen aan, en heb je een herstelpad. Je kunt het tabblad sluiten.
Wat er vaak misgaat
- TOTP-code wordt steeds afgewezen. Klok-drift op de telefoon. Op iOS: Instellingen > Algemeen > Datum en tijd > Automatisch instellen. Op Android: Instellingen > Systeem > Datum en tijd > Automatisch instellen. Voor Google Authenticator specifiek: menu > Instellingen > Tijdcorrectie voor codes > Nu synchroniseren.
- "Ik ben mijn telefoon kwijt en ook mijn backup codes." Pad 2 (andere admin wist je 2FA) of pad 3 (SSH-rename). Hierboven behandeld. Gebeurt dit twee keer bij dezelfde gebruiker, dan mag hij de backup codes-stap een derde keer niet meer overslaan.
- Enforcement aan, en één gebruiker zit klem tijdens de grace period. Óf loop de inschrijving telefonisch met ze door, óf gebruik pad 2 om hun 2FA tijdelijk te wissen en laat ze opnieuw inschrijven. Zet de enforcement niet voor de hele site weer uit.
- De passkey-setup-knop doet niets. Je browser ondersteunt geen WebAuthn, of de site draait niet op HTTPS. WebAuthn vereist een secure context; draait
wp-adminnog over HTTP, dan werken passkeys niet. Repareer eerst HTTPS; het SSL-certificaat-artikel legt uit hoe. - De e-mail 2FA-code komt nooit aan. Je
wp_mail()is stuk. Log in met een backup code (of laat een andere admin je 2FA wissen), repareer dan SMTP volgens het WordPress SMTP-artikel, en stap daarna alsnog over op TOTP als primaire methode.
Wanneer hulp vragen
Schakel hulp in als een van deze dingen waar is, en verzamel eerst de lijst hieronder.
- Je hebt de recovery-hiërarchie doorlopen en je bent nog steeds buiten elk beheerdersaccount op de site.
- Een plugin-update voor WP 2FA of Two Factor heeft de login voor elke gebruiker gebroken, en een rollback vanuit een backup zet de pre-update-state niet terug.
- Je hebt enforcement aangezet en een groot deel van de gebruikers zit tegelijk buitengesloten (meer dan een of twee), zonder duidelijke oorzaak.
- De site laat tekenen van een compromise zien (onverwachte admins, onverwachte posts) en je wilt weten of de aanvaller via of langs 2FA is binnengekomen.
Verzamelen voor je het vraagt:
- WordPress-versie, PHP-versie, en de naam plus versie van de 2FA-plugin.
- Of SSH- of SFTP-toegang beschikbaar is.
- Of er een verse backup van vóór de enforcement bestaat, en waar die staat.
- De lijst van gebruikers die niet kunnen inloggen, en of er nog beheerdersaccounts wél werken.
- Een kopie van je recovery-document uit stap 7, zodat de persoon die je helpt het niet opnieuw hoeft uit te vinden.
- Als het probleem is "ik kan inloggen met m'n wachtwoord maar de 2FA-stap faalt": de exacte foutmelding op het 2FA-scherm en de plugin-logregels uit
WP 2FA > Instellingen > Geavanceerd > Debug log.
Tweestapsverificatie is de goedkoopste, hoogst renderende beveiligingsupgrade die een WordPress-site kan krijgen. Het operationele werk zit niet in de inschrijving; het zit in het herstelplan. Eerst het plan, dan de enforcement, en de rest is spiergeheugen.