Backups
Daily backups in an off-site data centre
A full backup of the database and all site files runs automatically every day. Backups are encrypted and stored in an off-site data centre, independent of the production server. We keep 30 days of retention, letting us restore the site to any point within that window. In the event of a breach or a human error, we restore the site within hours. More in our WordPress backups article.
Updates
Regular updates for core, plugins, and theme
Outdated plugins and themes are the most common cause of WordPress breaches. We update the WordPress core, theme, and every installed plugin every 14 days, testing each change on a staging environment first. Critical security patches are deployed within 24 hours of release. No uncontrolled automatic changes that could break the site.
Monitoring
24/7 uptime and SSL certificate monitoring
Continuous uptime monitoring of the server and site around the clock. We check response times, HTTP status codes, SSL certificate validity, and the availability of key pages. Alerts reach us in real time, letting us react before visitors notice any downtime. We also track domain and SSL certificate expiration dates to prevent a site from going offline or triggering a browser warning without notice.
SSL/TLS
SSL certificate and connection encryption
We configure an SSL/TLS certificate with HTTPS enforced site-wide, HTTP-to-HTTPS redirection, the HSTS header (Strict-Transport-Security), and a properly configured cipher suite. For sites that process personal or payment data (WooCommerce stores, contact forms), encrypted connections are not optional but a legal requirement under GDPR.
Login protection
Admin panel security
The WordPress admin panel is the primary target of brute-force attacks. We deploy login attempt limits with automatic IP blocking after the threshold is exceeded, two-factor authentication (2FA) for administrators and editors, a custom login path (replacing the default /wp-login.php), XML-RPC blocking, and IP-based wp-admin access restrictions where feasible.
HTTP headers
Security headers and Content Security Policy
We configure HTTP security headers that protect visitors against common attacks: Content-Security-Policy (XSS and code injection prevention), X-Frame-Options (clickjacking protection), X-Content-Type-Options (MIME sniffing prevention), Referrer-Policy (control over referrer information), and Permissions-Policy (browser API access control). Proper headers also improve scores in security audits and tools like Mozilla Observatory.
Database
WordPress database security
We secure the WordPress database on multiple levels: changing the default table prefix (wp_), restricting database user privileges to the minimum WordPress requires, regular database cleanup and optimization (removing revisions, transients, sessions, and debris left by deleted plugins), encrypting the connection between the application and the database server, and configuring MySQL/MariaDB according to the principle of least privilege.
WooCommerce
Online store security
A WooCommerce store processes personal and payment data, making it an especially attractive target. On top of standard WordPress hardening, we secure WooCommerce REST API endpoints, protect customer accounts against takeover (rate limiting, email verification), isolate order data, monitor payment gateways, and ensure compliance with GDPR requirements for storing and processing personal data.