How to tell a client their WordPress site needs a PHP upgrade (with email templates)
Short answer
Lead with the date and the risk in plain words: the PHP version the site runs stops getting security fixes on a known date, and the host will move the site. Then say what you checked (which plugins are ready, which aren’t), what you propose (staging test, fixes, the switch), and what it costs. Clients agree to dated, specific work; they postpone vague warnings. Send it months before the date, not the week the host emails them.
What the client needs to hear
Most clients don’t know what PHP is, and don’t need to. They need four things:
- A date. The version their site runs stops getting security fixes on a known day. php.net publishes the dates: PHP 8.2 on 31 December 2026, 8.3 on 31 December 2027 (php.net).
- What happens then. Nothing switches off that day; the site keeps running, but security problems found afterwards aren’t fixed any more, and hosts move sites to newer versions.
- What you found. Which parts of their site are ready, and which would stop working after the move.
- What you propose, and the price. A plan with steps and a date.
wordpress.org recommends “PHP version 8.3 or greater” (wordpress.org), which is a useful outside reference when a client asks why now.
Check before you write
A warning without facts gets postponed. Before the email, check the site’s plugins and theme for the PHP version you recommend, so you can say which plugins are ready and which aren’t. That turns we should upgrade PHP sometime into a quote. How to do the check and the staging test: testing a PHP upgrade on staging.
Email 1: the proposal, months ahead
Email 2: when the host already set a date
What to ask the host in that situation is in your host is forcing a PHP upgrade.
Make it part of the routine
The best moment for this email is the quarterly review in your maintenance checklist, when you note each site’s PHP version and end date. Clients who see the date in their monthly report for a few months say yes faster, because the upgrade isn’t a surprise.
Key takeaways
- Start with the date: when the PHP version’s security fixes end, from php.net.
- Say what you already checked: which plugins are ready and which aren’t.
- Propose a plan with a price: check, staging test, fixes, switch, a week of watching.
- No jargon: the server software your site runs on, not PHP runtime.
- Send it months ahead; a host’s deadline email turns your proposal into an emergency.
Frequently asked questions
How do I explain PHP to a non-technical client?
PHP is the software on the server that runs WordPress. Like an operating system, each version gets security fixes for a few years, then it stops, and the host moves sites to a newer one.
What if the client says no?
Write down the date and the risk in your report, and ask again a few months before the deadline. When the host moves the site, the check you already did shows exactly what to fix.
Should the upgrade be part of the maintenance plan?
The check and the switch fit well in a plan; rewriting an old custom plugin is better quoted separately. That keeps the plan predictable for both sides.
Check your own site before you upgrade
CompatNav is a free WordPress plugin. It reads the code of your plugins and themes on your own server and tells you, in plain words, what will break and what will only show notices on the PHP version you choose. It never changes your code. It can’t see problems that only appear while code runs with real data, so a quick check of your site after the upgrade still matters.
Sources
About the code examples: each output is the real output of the code shown, run with the official PHP builds, without a php.ini, with all errors reported and displayed. Only the file path was replaced by a neutral server path.