Use this guide when a customer reports a “500 Internal Server Error” on their website.
⚠️ What Is a 500 Error?
A 500 error means the web server encountered an unexpected condition and couldn’t complete the request.
It’s a generic server error, but the root cause is almost always at the site level, not the whole server.
🧠 Common Causes (Specific to 500 Errors):
- Corrupt or invalid .htaccess file
- Fatal PHP errors in scripts or plugins (especially with WordPress)
- File/folder permission issues
- Missing or corrupted index.php
- PHP version mismatch or unsupported functions
✅ Step 1: Confirm the Error
- Load the website in incognito/private mode
- Confirm 500 error appears — screenshot if possible
- Check httpstatus.io to verify globally
- Ask: “Did you recently install or update plugins, themes, or scripts?”
🔎 Step 2: Safe Checks in Plesk
These steps are safe for customer service agents — no risk of crashing the site further:
1. Rename .htaccess
- Go to Websites & Domains → File Manager
- Locate .htaccess in /httpdocs/ or root folder
- Rename to .htaccess.bak or .htaccess_old
- Reload site to see if error disappears
✅ If this fixes it, the rewrite rules were bad. Tell the customer to regenerate .htaccess via their CMS.
2. Check PHP Version Compatibility
- Go to Hosting Settings
- Look at the PHP version (e.g., 8.2, 7.4)
- Switch to a more common stable version, e.g., PHP 8.1 or 7.4
✅ Reload the site to test. Some older plugins/themes break with PHP 8.2+
3. File Permissions (Visual Only – No Changing)
- In File Manager, browse to /httpdocs
- Note if files/folders are missing or strange (e.g., no index.php)
- ✅ You can escalate if permissions look unusual (e.g., all files say 000)
4. Test with Default index.html
- In /httpdocs, upload a simple index.html like:
<html><body>Test Page</body></html>
If this loads in the browser, PHP or CMS is broken — not hosting
📝 Step 3: Info to Gather Before Escalation
Ask the customer:
- When did the 500 error start?
- Did they recently install/update anything?
- Is it happening on all pages or just some?
- What CMS (WordPress, Joomla, etc.) are they using?
Include in the ticket:
Customer Domain: example.com
Confirmed 500 Error: Yes (screenshot if available)
PHP Version: 8.2 (tested with 8.1 and 7.4)
.htaccess renamed: Yes
Default index.html test: [worked / did not work]
CMS in use: [WordPress / None / Unknown]
Recent changes: [plugin update / migration / unknown]
🚨 When to Escalate Immediately
- 500 error persists after .htaccess rename + PHP version switch
- File permissions look corrupted or empty
- No index.php or public directory missing
- Site down + customer has urgent ecommerce or business impact
📋 Escalation Template (500 Error)
Subject: 500 Internal Server Error – [Customer Domain]
Customer reports a 500 Internal Server Error on example.com
✅ Error confirmed via browser
✅ .htaccess renamed for testing – no change
✅ PHP version switched (e.g., from 8.2 to 8.1)
✅ index.html loads (suggests PHP/CMS is broken)
❓ CMS: WordPress
❓ No recent customer-side changes
Requesting Hosting/Dev team to review logs and PHP errors
🔎 Quick Comparison: 500 vs 502 vs 503
Error | Meaning | Common Cause | Agent Fix? |
500 | Server-side code error | PHP script fail, bad .htaccess | ✅ Yes |
502 | Bad response from backend | PHP-FPM crash, handler mismatch | ✅ Limited |
503 | Temporarily unavailable | Overload, maintenance mode | ✅ Limited |