It is the most common error in WordPress. It does not give any information about the error. For developers, it will be easy to fix it but for non-technical or beginners it will be a bit of a challenge. In this article, we will show how to debug and solve internal server error.
Common Causes of Internal Server Error
Understanding the common causes helps you troubleshoot faster:
-
Corrupt or broken .htaccess file — often caused by permalink changes or plugins. godaddy.com
-
Insufficient PHP memory limits, especially on resource-intensive sites. Liquid Web
-
Plugin conflicts — a recently updated plugin may break functionality. godaddy.com
-
Theme conflicts — the active theme may be incompatible or broken. Liquid Web
-
Corrupt WordPress core files — caused by incomplete updates or file corruption. Liquid Web
-
Incorrect file or folder permissions on the server. Liquid Web
-
Database issues or corrupted tables. DevOps Web Designers
-
Server configuration or hosting issues. SEO Design Chicago
.htaccess file
First step is to check your .htaccess file. It is located in the installation folder of WordPress. Same place where wp-admin & wp-content folder is placed. Try to rename the file to .htaccess-old and refresh the page, if it solve the issue then go to dashboard->settings->permalinks and update the permalink. It will generate the new .htaccess file. Another method you can use by changing the .htaccess code. Put the code in .htaccess file which is given below.
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Make sure you renamed the file back to .htaccess. if this method does not solve the issue then we need to try another method.
How to Diagnose the Error (Step by Step)
1. Enable WordPress Debugging
To see real error messages:
-
Connect to your site via FTP/cPanel File Manager.
-
Open
wp-config.phpin the root folder. -
Add or modify the following lines:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
WordPress will now store detailed error messages in wp-content/debug.log. Liquid Web
2. Clear Browser and Server Cache
Cached files sometimes serve old or corrupted content. Clear:
-
Browser cache (Chrome, Firefox, Edge).
-
Any caching plugins (e.g., WP Super Cache, W3 Total Cache).
-
Server cache if provided by your host. WPDazzling
3. Check and Reset .htaccess File
A corrupt .htaccess file is a common cause:
-
Access your WordPress root directory.
-
Rename
.htaccessto.htaccess_old. -
Reload your site.
If the site loads, go to WordPress Dashboard → Settings → Permalinks and click Save Changes to generate a fresh .htaccess file. godaddy.com
4. Increase PHP Memory Limit
Low PHP memory can trigger server errors:
-
Open
wp-config.php. -
Add:
define( 'WP_MEMORY_LIMIT', '256M' );
If your host doesn’t allow this, contact them to increase the memory at the server level. Liquid Web
5. Deactivate Plugins
Plugin conflicts are a frequent root cause:
-
Connect via FTP or file manager.
-
Rename the
wp-content/plugins/folder toplugins_backup. -
Check your site.
If the site works, rename the folder back and deactivate plugins one by one to find the problematic one. godaddy.com
6. Switch to Default Theme
To check if your theme is causing the issue:
-
Temporarily switch to a default WordPress theme such as Twenty Twenty-Four.
-
Test if the error disappears.
If it does, your active theme may be incompatible or broken. Liquid Web
7. Re-Upload Core WordPress Files
Corrupted core files can break the site:
-
Download the latest WordPress version from the official source.
-
Extract and upload wp-admin and wp-includes folders via FTP.
-
Overwrite existing files.
This won’t affect your content but repairs corrupted core files. Liquid Web
8. Check File and Folder Permissions
Incorrect permissions can trigger errors. Recommended values:
-
Folders:
755 -
Files:
644
Use FTP or hosting file manager to correct permissions. Liquid Web
9. Review Server and PHP Logs
Your hosting control panel often provides access to Apache/Nginx error logs. Reviewing logs can point directly to the file or module causing the error. SEO Design Chicago
10. Contact Hosting Provider
If none of the above steps resolve the issue, contact your hosting provider’s support. They can check server logs, PHP versions, memory limits, or misconfigurations outside your access scope. Liquid Web
PHP Memory Limit
Sometimes the internal server error appears when you are trying to upload a large file that may exhaust the memory limit. WordPress default memory limit is 32MB. There are three options you can use to increase the memory limit.
Edit your wp-config file: This file is located in root folder of WordPress. Look for the line to edit the memory.
define('WP_MEMORY_LIMIT', '40M');
Increase the limit as you want, 128M should be enough.
Edit your php.ini file: If wp-config file does not solve the issue, then you need to go through the server settings. On shared hosting you cannot access the php.ini file. This is what you need to do:
- Find php.ini, if you cannot find it the create your own php.ini in WordPress root folder and save it.
- Open file in text editor.
- Find the line that says ‘memory limit = 32M’.
- Change 32MB to desire limit.
- Restart server after save the changes.
If you create your own php.ini file, you need to add the following line:
memory_limit = 256M
Turn on Debug
You can turn on error log in WordPress in just a few steps.
In wp-config file, You might see the following line of code:
define(‘WP_DEBUG’, false);
delete it and copy the following line of code:
Make WordPress debug enable:
define(‘WP_DEBUG’, true);
All the errors will be saved in debug.log. You can find this file in wp-content folder.
define(‘WP_DEBUG_LOG’, false);
To display error messages on screen add this line of code:
define(‘WP_DEBUG_DISPLAY’, false);
Save your changes and debug mode will be turned on.
Deactivate All Plugins
If increasing the memory limit will not solve the error, then you need to deactivate all the plugins. If internal server error is resolved by doing it then activate the plugin one by one until you find which plugin is causing the issue and remove that plugin.
Re-Upload Core Files
If error still exist then re-upload the core files of WordPress, which includes wp-admin and wp-includes, you will not lose anything by uploading the files. This could be an issue if a virus has altered the WP core files. In which case, you may have bigger fish to fry.
Ask your hosting Provider
If all given methods fail then you need to ask your hosting provider to look at server logs and find the root cause of the error.
We hope this article will help you to debug the internal server error on your website. If you have WordPress 500 error then you can discuss it with a WordPress Expert.
Conclusions
The WordPress Internal Server Error is a critical error, but with systematic troubleshooting, you can identify and resolve the cause. Start with debugging and simple fixes like clearing cache and checking .htaccess, and then proceed to more advanced steps like memory limits and theme/plugin isolation.
After updating your page with this improved content, submit it to Google Search Console for indexing so Google can crawl and rank it more effectively.


