500 Error – Internal Server Error

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

ErrorMeaningCommon CauseAgent Fix?
500Server-side code errorPHP script fail, bad .htaccess✅ Yes
502Bad response from backendPHP-FPM crash, handler mismatch✅ Limited
503Temporarily unavailableOverload, maintenance mode✅ Limited