Not every WordPress failure is a bad plugin. Hosts run out of memory, DNS expires, mail queues stall, and PHP hits limits. Knowing which layer is broken saves hours of random deactivations.
Below are common server-side problems, what they usually mean, and what to try first. For security-specific symptoms, use the WordPress security issues guide and the security checklist.
Slow loading

Slow pages have many parents. Isolate them:
- Confirm it is not only your local network
- Check the host status page and resource graphs (CPU, RAM, I/O)
- Note whether slowness tracks traffic spikes or a noisy neighbor on shared hosting
- Profile WordPress (Query Monitor, host APM) before blaming “too many images” alone
Fixes that often help: upgrade PHP workers/plan, enable object cache when appropriate, cut heavy plugins, and put a CDN in front of static assets. Persistent neighbor noise is a reason to move plans or hosts, not another minify plugin. Caching notes: WordPress caching tips.
Insufficient PHP memory
After a new plugin or theme, you may see errors mentioning memory exhausted. WordPress and many hosts let you raise the limit carefully.
In wp-config.php (above the “stop editing” line):
define( 'WP_MEMORY_LIMIT', '256M' );
Some hosts ignore that and require a change in the panel, .user.ini, or a support ticket. Raising memory is fine for a real need; it is not a cure for a leaking plugin. If a single extension demands absurd RAM, replace it.
Email not arriving

WordPress “sends” mail through the server by default. Shared hosts often block or throttle PHP mail.
- Send a test to yourself and a second provider (Gmail, etc.)
- Check spam and the host’s mail logs or webmail
- Verify forwarding rules if you use them
- Prefer SMTP or an transactional API (provider or plugin) with SPF, DKIM, and DMARC on the domain
Order and reset emails failing is a store-killing “server” issue that looks like a WooCommerce bug.
DNS and “server does not exist”

Browsers that cannot resolve your domain usually point to DNS or domain registration, not WordPress:
- Domain expired or registrar lock / unpaid invoice
- DNS records pointed at the wrong host after a migration
- Host outage or IP change without DNS update
- Local DNS cache still holding an old answer
Check the registrar, DNS TTL, and host documentation. Keep registrar and DNS accounts on unique passwords with MFA; hijacks look like “the server vanished.”
Internal server error (HTTP 500)

A 500 is a generic failure. Common WordPress causes:
- Faulty plugin or theme (disable via SFTP by renaming
plugins or the active theme folder)
- Corrupt or overly strict
.htaccess (backup, then restore a default WordPress set of rules)
- PHP fatal errors from incompatible versions
- Hit memory or execution limits during a heavy admin action
Check the host error log before rewriting everything. Security plugins and WAF rules can also block admin paths after a misconfiguration; know how to bypass or disable them from the host side.
Updates or changes not showing
Often cache, not core:
- Clear site cache (plugin, host, CDN)
- Hard-refresh or try a private window
- Confirm you edited the right site/environment (staging vs production)
- If opcache or a host-level cache is sticky, restart PHP or ask support
Do not “fix” missing updates by installing random cache plugins on top of three existing layers.
Maximum execution time exceeded
Long imports, backups, or migrations hit max_execution_time. Hosts differ on how you raise it.
Some Apache setups allow .htaccess:
php_value max_execution_time 120
Others need php.ini, .user.ini, or a panel setting:
max_execution_time = 120
If the host forbids changes, run heavy jobs via WP-CLI or a higher plan. Endless timeouts can also mean a stuck plugin loop, not a limit that is merely “too low.”
When the server is the wrong suspect
Malware, redirected sites, and spam injections are not fixed by raising PHP limits. Use signs your site is hacked and malware removal when the symptoms are security, not capacity.
Practical order of operations
- Reproduce and note exact error text and HTTP status
- Check host status, disk quota, and error logs
- Rule out DNS and domain expiry
- Bisect plugins/themes if the failure is in WordPress
- Adjust memory/time limits only with a clear reason
- Escalate to host support with timestamps and log lines
Server issues are normal. Systematic checks beat random settings changes. For a fuller hardening path once the site is stable again, use the WordPress security guide.