Overview
WordPress issues are highly varied but most fall into a handful of categories — plugin conflicts, PHP version mismatches, database errors, firewall blocks, and performance problems. The key is to identify the category quickly and either resolve at L1 or escalate to L2 with full context. Always access wp-admin via yourdomain.com/wp-admin unless the customer has changed the path.
💡 cPanel access path: Client Area > Products > Hosting > Manage > cPanel Admin
Step 1 — White Screen of Death (WSOD)
The white screen of death is one of the most alarming issues for customers but is almost always caused by a plugin conflict or PHP version mismatch:
- Most common cause: a plugin or theme update that is incompatible with the current PHP version
- Ask the customer if they recently updated a plugin, theme, or PHP version before the issue started
- If they can still access wp-admin, deactivate all plugins and reactivate one by one to identify the culprit
- If wp-admin is inaccessible, use cPanel > File Manager to rename the plugins folder temporarily — this deactivates all plugins
💡 File Manager path for plugins: public_html > wp-content > plugins. Rename the folder to "plugins-disabled" to deactivate all plugins at once, then rename back once identified.
Step 2 — PHP Version Issues
PHP version mismatches cause a wide range of WordPress errors including white screens, fatal errors, and plugin failures:
- Update PHP version via: cPanel > Select PHP Version or MultiPHP Manager
- Most modern WordPress sites and plugins require PHP 7.4 or higher
- mysqli extension issues indicate server or plugin conflicts related to PHP version
- Always check the plugin's documentation for minimum PHP version requirements before updating
- Downgrading PHP can resolve issues caused by aggressive updates to newer versions
⚠️ Changing PHP version can break other plugins or themes. Always advise the customer to take a full backup before making PHP version changes.
Step 3 — Plugin Update Failures
If plugin updates are failing, the most common causes are:
- File permissions set incorrectly on the hosting server
- PHP version incompatibility with the plugin
- Insufficient disk space on the hosting package
- Firewall rules blocking the update process
Check file permissions via cPanel > File Manager. Standard permissions are 755 for folders and 644 for files. If permissions look correct and updates still fail, escalate to L2.
Step 4 — JSON Response Errors
JSON response errors in WordPress are typically caused by one of three things:
- PHP compatibility issue between WordPress and the current PHP version
- Plugin conflict interfering with the REST API
- Database connection issue or corrupted database table
⚠️ JSON response errors should be escalated to L2. These require server-level investigation and are outside L1 scope.
Step 5 — ModSecurity / Imunify360 Blocks
ModSecurity and Imunify360 are server-level firewall tools that occasionally produce false positives, blocking legitimate WordPress actions:
- Symptoms include: actions failing silently, form submissions blocked, plugin installs rejected
- Customer may see 403 Forbidden errors or requests timing out
- Cannot be resolved from L1 — escalate to L2 for whitelisting
- Include the specific action being blocked and any error messages in the escalation ticket
Step 6 — CPU Spikes & Performance Issues
If a customer reports slow loading times or the hosting control panel shows high CPU usage:
- CPU spikes often indicate compromised scripts, poorly coded plugins, or bot traffic
- Ask if any new plugins were recently installed or if traffic has increased significantly
- Check for malware — high CPU with no obvious cause is a common malware indicator
- Economy hosting has 1 CPU and 512MB RAM — traffic spikes can overwhelm this easily
- If customer is on Economy, pitch upgrade to Deluxe (1GB RAM) or Ultimate for better resources
💡 Malware notifications are handled exclusively by L2. If a customer has received a malware email, verify the account and escalate with a priority flag immediately.
Step 7 — WordPress Admin Access Issues
If a customer cannot access wp-admin:
- Confirm the correct URL: yourdomain.com/wp-admin
- Check if the site is loading at all — if not, the issue may be hosting or DNS rather than WordPress
- Password reset can be done via cPanel > MySQL Databases > phpMyAdmin > wp_users table
- We can reset WordPress admin passwords from our end for hosted WordPress sites
- We cannot help with WordPress.org platform login — only WordPress installed on our hosting
Step 8 — Cron Jobs
WordPress uses cron jobs for scheduled tasks like publishing scheduled posts and running plugin maintenance:
- Set up via cPanel > Cron Jobs
- Check syntax, file paths, and permissions if cron jobs are failing
- WordPress pseudo-cron runs on page load — if the site has low traffic, cron jobs may not trigger reliably
- Consider setting up a real server cron job via cPanel for reliability
Step 9 — Subdomains
Creating subdomains requires cPanel hosting — it cannot be done with just a domain registration:
- Path: cPanel > Domains > Create A New Domain
- Enter the subdomain (e.g. jobs.example.co.uk) and assign it a document root folder
- A separate WordPress installation can then be set up in that folder
Step 10 — Missing A Record After Migration
After migrating a WordPress site to a new hosting package, the domain may not point to the new server:
- This is one of the most common post-migration issues
- Check the domain's A record in DNS management
- Update the A record to point to the new hosting server's IP address
- Allow 1 to 4 hours for propagation
- Correct migration order: migrate files first, remove primary domain from old package, then assign to new package
⚠️ The built-in WordPress migration tool only works for WordPress sites. Non-WordPress sites require manual migration which is a chargeable service at £100+VAT handled by L2.
What to Escalate to L2
- JSON response errors in WordPress
- ModSecurity / Imunify360 false positive blocks
- cURL SSL certificate errors
- Malware notifications and infected files
- Primary domain swaps between hosting packages
- Plugin update failures where permissions and PHP version have been ruled out
- Database corruption or connection errors
Common Pitfalls
- Not asking what changed before the issue started — plugin update, PHP change, or new theme
- Forgetting to advise a backup before making PHP version changes
- Trying to resolve ModSecurity blocks from L1 instead of escalating
- Confusing a lander page with a WordPress issue — lander page means no A record, not a WordPress problem
- Attempting to help with WordPress.org platform login instead of redirecting correctly
- Not checking CPU usage when customer reports slow performance — could indicate malware