Over 43% af alle websites på internettet kører WordPress. Det er platformens største styrke - og dens mest udnyttede svaghed. Automatiserede bots scanner konstant nettet efter kendte WordPress-sårbarheder, og angrebene sker inden for minutter efter en ny installation. I 2026 er trusselsbilledet mere komplekst end nogensinde: supply chain-angreb via plugins, AI-assisteret brute force og XML-RPC-misbrug udgør de primære vektorer. Denne artikel er den reference, du bogmærker og gennemgår systematisk.
Hvorfor WordPress er et primært angrebsmål
Markedsandel skaber angrebsflade. Når én platform driver næsten halvdelen af internettet, er det rentabelt at bygge automatiserede angrebsværktøjer specifikt til den. En sårbarhed i et populært plugin kan potentielt kompromittere millioner af sites på én gang - det er præcis det, der gør WordPress attraktivt for angribere.
De mest udbredte angrebsvektorer i 2026 fordeler sig sådan:
Brute force og credential stuffing: Automatiserede bots forsøger kendte brugernavn/adgangskode-kombinationer fra lækkede databaser mod wp-login.php og XML-RPC. Med AI-assisterede angreb er hastigheden steget markant - et ubeskyttet login-endpoint kan modtage tusindvis af forsøg i timen.
Plugin-sårbarheder: Ifølge WPScan stammer over 97% af kendte WordPress-sårbarheder fra plugins og temaer - ikke fra WordPress core selv. Forladte plugins med uoprettede CVE'er er lavthængende frugt for angribere.
XML-RPC-misbrug: WordPress' XML-RPC-endpoint tillader som standard ubegrænset login-forsøg i én enkelt HTTP-request via
system.multicall. Det gør det langt mere effektivt end direkte brute force mod wp-login.php.Supply chain-angreb: Angribere overtager forladte plugin-repositorier eller injicerer ondsindet kode i legitime plugins via kompromitterede udviklere. I 2025-2026 steg denne angrebstype markant og er nu en af de mest alvorlige trusler.
Hosting og server
Sikkerhed starter under WordPress - ikke i det. Vælger du et usikkert hostingmiljø, kan ingen plugin i verden redde dig.
Brug managed WordPress-hosting med WAF: Vælg en udbyder der inkluderer en Web Application Firewall på serverniveau. En WAF filtrerer ondsindet trafik, før den overhovedet rammer WordPress.
Kør PHP 8.2 eller nyere: Ældre PHP-versioner modtager ikke sikkerhedsopdateringer. PHP 8.0 og 8.1 er end-of-life. Tjek din version under Værktøjer > Site Health i WordPress.
Aktiver HTTPS og HSTS: Et SSL-certifikat er ikke valgfrit i 2026. Tilføj desuden en HSTS-header for at forhindre SSL-stripping-angreb.
Tilføj HSTS via nginx:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;Eller via .htaccess på Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"Begræns fil- og mapperettigheder: WordPress-filer bør have rettighed 644, mapper 755. Ingen filer bør have 777. Kør dette fra SSH for at rette det hurtigt:
find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 755 {} \;Deaktiver PHP-eksekvering i upload-mappen: Angribere uploader ofte PHP-shells forklædt som billedfiler. Blokér eksekvering i
/wp-content/uploads/.
Nginx-regel:
location ~* /wp-content/uploads/.*\.php$ {
deny all;
}.htaccess-regel:
<Directory "/wp-content/uploads">
php_flag engine off
</Directory>WordPress core og opdateringer
Aktivér automatiske sikkerhedsopdateringer: WordPress opdaterer som standard kun minor-versioner automatisk. Tilføj dette i wp-config.php for at sikre opdatering:
define('WP_AUTO_UPDATE_CORE', true);Skjul WordPress-versionsnummeret: Versionsnummeret afsløres i meta-tags og RSS-feeds og hjælper angribere med at målrette kendte CVE'er. Tilføj i functions.php:
remove_action('wp_head', 'wp_generator');Flyt og beskyt wp-config.php: WordPress finder automatisk wp-config.php i mappen over webroot. Flyt filen et niveau op fra
/public_html/til/- den er da utilgængelig via HTTP.Deaktiver filredigering i dashboardet: Temaeditor og plugin-editor giver en kompromitteret admin-konto direkte adgang til at eksekvere PHP. Sluk dem:
define('DISALLOW_FILE_EDIT', true);Sæt korrekte sikkerhedsnøgler: WordPress' authentication keys i wp-config.php bør genereres via den officielle API og udskiftes, hvis du mistænker et kompromis: api.wordpress.org/secret-key/1.1/salt/
Brugere og login
Slet eller omdøb admin-brugeren: Brugernavnet "admin" er standard-gættet ved alle brute force-angreb. Opret en ny bruger med administratorrettigheder, log ind med den, og slet den originale admin-konto.
Kræv stærke adgangskoder og aktiver 2FA: Brug en plugin som WP 2FA eller Wordfence til at håndhæve tofaktorgodkendelse for alle administratorer og redaktører.
Begræns login-forsøg: Uden begrænsning kan en bot forsøge ubegrænset. Limit Login Attempts Reloaded eller Wordfence blokerer IP'er efter et konfigurerbart antal fejlede forsøg.
Skjul login-URL'en: Flytning af wp-login.php til en tilpasset URL eliminerer den overvejende del af automatiserede login-angreb, da bots scanner standardstien. Dette håndterer Signocore Toolkit ud af boksen - ingen manuel konfiguration eller .htaccess-rod.
Deaktiver brugernavnsopslag via REST API og forfatterarkiver: WordPress afslører som standard brugernavne via
/?author=1og/wp-json/wp/v2/users. Blokér det i functions.php:
// Deaktiver bruger-endpoint i REST API
add_filter('rest_endpoints', function($endpoints) {
if (isset($endpoints['/wp/v2/users'])) {
unset($endpoints['/wp/v2/users']);
}
if (isset($endpoints['/wp/v2/users/(?P<id>[\d]+)'])) {
unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
}
return $endpoints;
});Plugins og temaer
Opdatér alle plugins og temaer ugentligt: Sæt en fast dag i kalenderen. Aktivér automatiske opdateringer for plugins du stoler på - men vær opmærksom på, at supply chain-angreb netop udnytter automatiske opdateringer. Brug et staging-miljø til at teste kritiske opdateringer.
Slet uaktive plugins og temaer: Inaktive plugins kan stadig indeholde udnyttelig kode. Slet alt, du ikke aktivt bruger - inklusive standardtemaerne Twenty Twenty-X hvis du ikke anvender dem.
Brug kun plugins fra pålidelige kilder: Hold dig til det officielle WordPress-plugin-repository eller veldokumenterede kommercielle udbydere med aktiv vedligeholdelse. Tjek altid: hvornår var seneste opdatering, hvor mange aktive installationer, og er der uløste sikkerhedsrapporter?
Overvåg plugins mod kendte CVE'er: Tjenester som WPScan Vulnerability Database og Patchstack advarer dig, når et installeret plugin får en CVE. Integrér disse advarsler i dit workflow.
Filer og database
Deaktiver XML-RPC hvis du ikke bruger det: De fleste sites har ingen legitim brug for XML-RPC. Deaktivér det fuldstændigt. Signocore Toolkit deaktiverer XML-RPC som en del af standardkonfigurationen - ingen manuel kode nødvendig. Vil du gøre det manuelt, tilføj i .htaccess:
<Files "xmlrpc.php">
Order Deny,Allow
Deny from all
</Files>Eller via nginx:
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}Skift database-tabel-præfiks: Standard-præfikset
wp_kendes af alle angrebsværktøjer. Ændr det til noget unikt somx7k2_ved installation - eller via et migrationsværktøj som WP-CLI efterfølgende.Begræns databasebrugerens rettigheder: WordPress-databasebrugeren behøver kun SELECT, INSERT, UPDATE og DELETE. Rettigheder som DROP, CREATE og ALTER er unødvendige i daglig drift og bør fjernes.
Tilføj sikkerhedsheaders: HTTP-sikkerhedsheaders beskytter mod XSS, clickjacking og MIME-sniffing. Signocore SEO og Signocore Toolkit sætter disse headers korrekt ud af boksen. Manuelt via nginx:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://trusted-cdn.com;" always;Beskyt wp-config.php og .htaccess via .htaccess:
<Files wp-config.php>
order allow,deny
deny from all
</Files>
<Files .htaccess>
order allow,deny
deny from all
</Files>Overvågning og backup
Konfigurér daglige backups til ekstern lokation: En backup på samme server som dit site er ikke en backup - det er en kopi der forsvinder sammen med originalen. Brug UpdraftPlus, BackupBuddy eller WP-CLI til at sende backups til S3, Google Drive eller Backblaze B2.
Test dine backups regelmæssigt: En backup du aldrig har testet er en backup du ikke kan stole på. Kør en genopretning på et staging-miljø kvartalsvis.
Opsæt filovervågning: Wordfence og iThemes Security kan advare dig, når core-filer ændres uventet - et klassisk tegn på kompromis. Alternativt kan du bruge WP-CLI til at verificere core-integritet:
wp core verify-checksumsOvervåg aktivitetslog: Plugins som WP Activity Log registrerer alle brugerhandlinger - login, ændringer, plugin-aktivering. En aktivitetslog er uundværlig, når du skal forstå hvad der skete under et sikkerhedshændelse.
Opsæt uptime-overvågning: Tjenester som UptimeRobot eller Better Uptime advarer dig inden for minutter, hvis dit site går ned - ofte det første synlige tegn på et aktivt angreb eller kompromitteret site.
Hvad Signocore løser ud af boksen
Signocore SEO og Signocore Toolkit adresserer en række af ovenstående punkter uden manuel konfiguration eller kodeændringer. Konkret håndterer de:
Sikkerhedsheaders: X-Frame-Options, X-Content-Type-Options, Referrer-Policy og Content-Security-Policy sættes korrekt og opdateres i takt med best practices - ingen nginx- eller .htaccess-redigering nødvendig.
Login-URL-skjul: wp-login.php flyttes til en tilpasset URL, der konfigureres i dashboardet. Automatiserede bots der scanner standardstien rammer en 404 og går videre.
XML-RPC-deaktivering: Endpointet deaktiveres fuldstændigt som del af standardopsætningen, hvilket eliminerer den mest effektive brute force-vektor mod WordPress.
Det betyder ikke, at resten af checklisten er overflødig - men det reducerer den manuelle konfigurationsbyrde markant for de punkter der statistisk set bruges hyppigst som angrebsvektorer.
Prioriteringsramme: Start her hvis du starter fra nul
Ikke alle trin bærer samme risikoreduktion. Hvis du skal hærde et site fra bunden og har begrænset tid, er dette den rækkefølge der giver mest sikkerhed pr. investeret minut:
Akut - løs inden for 24 timer: Opdatér WordPress core, alle plugins og temaer til seneste version. Slet uaktive plugins og temaer. Skift adgangskode på admin-kontoen til noget unikt og stærkt. Aktiver 2FA på alle administratorkonti.
Høj prioritet - løs inden for ugen: Deaktivér XML-RPC. Skjul login-URL'en. Begræns login-forsøg. Sæt korrekte filrettigheder. Tilføj HTTPS og HSTS. Konfigurér daglig backup til ekstern lokation.
Vedligeholdelse - løs og hold løbende: Tilføj sikkerhedsheaders. Opsæt filovervågning og aktivitetslog. Overvåg plugins mod CVE-databaser. Test backups kvartalsvis. Kør wp core verify-checksums månedligt.
WordPress-sikkerhed er ikke én handling - det er en løbende praksis. Men de fleste kompromitterede sites skyldes ikke sofistikerede angreb; de skyldes kendte sårbarheder i uopdaterede plugins og fraværet af de mest basale hærdningstrin. Gennemfør denne checkliste systematisk, og du eliminerer den overvejende del af din risikoeksponering.