WordPress maintenance: a weekly, monthly and yearly checklist
Most WordPress security problems start in plugins, not WordPress itself. A practical maintenance schedule, the settings worth changing, and how to back up properly.
On this page 4 sections
Key takeaways
- 7,966 new WordPress vulnerabilities were reported in 2024, and 11,334 in 2025.
- 96% of the 2024 vulnerabilities were in plugins and 4% in themes; WordPress core had seven.
- Fewer plugins, kept up to date, is the single most effective security measure.
- Updates belong on a staging site first, then live, on a regular schedule.
- A backup only counts once you have restored it. Follow the 3-2-1 rule and test quarterly.
WordPress itself is well maintained and rarely the problem. The risk lives in everything added on top of it, and it grows every year.
Show the data
| Item | Value |
|---|---|
| new WordPress vulnerabilities reported in 2024 | 7,966 |
| new vulnerabilities in 2025, a 42% rise | 11,334 |
| of 2024 vulnerabilities could be exploited without logging in | 43% |
Source: Patchstack, State of WordPress Security 2025 and 2026
- Plugins 7,633
- Themes 326
- WordPress core 7
Show the data
| Component | Vulnerabilities |
|---|---|
| Plugins | 7,633 |
| Themes | 326 |
| WordPress core | 7 |
Almost half of them were cross-site scripting (XSS) flaws. The pattern is clear: every plugin you install is code you are trusting, and every abandoned plugin is a door left open.
The schedule#
| How often | What to do |
|---|---|
| Weekly | Apply updates on staging, check the site, then update live. Review uptime and error alerts. |
| Monthly | Remove unused plugins and themes. Review user accounts and roles. Check form submissions still arrive. Glance at Core Web Vitals. |
| Quarterly | Restore a backup to a test environment. Review admin passwords and two-factor authentication. Check the PHP version is still supported. |
| Yearly | Renew the domain and licences. Review hosting and costs. Re-run an accessibility and content audit. |
Updates without surprises#
- WordPress applies minor and security releases automatically, and has done since version 3.7. Leave that switched on.
- Plugins and themes can auto-update too (since WordPress 5.5), but for a business site it is safer to batch them weekly on a staging copy and check the important pages before going live.
- Keep PHP on a supported version. PHP 7.4 stopped receiving security fixes in November 2022, yet it is still common on older hosting.
Settings worth changing#
These lines in wp-config.php close common gaps:
// Stop anyone editing theme and plugin code from wp-admin.
define( 'DISALLOW_FILE_EDIT', true );
// Keep automatic security releases for WordPress core.
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
// Always use HTTPS for logins and wp-admin.
define( 'FORCE_SSL_ADMIN', true );
Then, in WordPress itself:
- Turn on two-factor authentication for every administrator.
- Give people the lowest role that lets them do their job. Most editors do not need to be administrators.
- Delete plugins and themes you are not using, rather than just deactivating them.
- Prefer plugins with recent updates and active support. Check the “Last updated” date before installing.
Backups that actually work#
Follow the 3-2-1 rule: three copies of your data, on two different types of storage, with one copy offsite. For a website, that usually means your host’s daily snapshot, an independent daily backup to cloud storage, and a monthly copy kept somewhere else entirely.
A backup you have never restored is a hope, not a plan. Restore one to a test site every quarter and time how long it takes.
Our care plans follow this schedule for you: staging-first updates, monitoring, daily offsite backups with quarterly restore tests, and a person to call when something looks wrong.
Sources and further reading
- State of WordPress Security in 2025 — Patchstack patchstack.com
- State of WordPress Security in 2026 — Patchstack patchstack.com
- Hardening WordPress — WordPress Developer Resources developer.wordpress.org
- Configuring automatic background updates — WordPress.org wordpress.org