Troubleshoot a 500 Internal Server Error
A 500 Internal Server Error is a general server response that does not identify a single cause. In WordPress, it is commonly triggered by a PHP fatal error, an incompatible plugin or theme change, exhausted server resources, invalid server rules, or incorrect file permissions. The error log is the most reliable place to find the cause.
Find the error details first
1. Record the URL, action, and approximate time at which the error occurs. Note whether it affects the entire website, only the WordPress dashboard, or one specific action such as saving settings or importing content.
2. Check the website administrator’s email for a WordPress technical issue message. If WordPress detected a plugin or theme fatal error, the message may identify the affected component and provide a Recovery Mode link.
3. Open the PHP or server error log in your hosting control panel. If it is unavailable, ask the hosting provider for the log entries recorded at the time of the error.
4. If the log does not contain enough information, temporarily enable WordPress debug logging by adding the following constants to wp-config.php before the line that says /* That's all, stop editing! Happy publishing. */:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Reproduce the error, then check wp-content/debug.log. Disable debug mode after collecting the relevant entries, and do not share logs publicly because they can contain sensitive server information. See the official WordPress debugging guide for details.
Undo recent changes
If the error started recently, review changes made immediately before it appeared:
- WordPress, WooCommerce, WoodMart, WoodMart Core, or another plugin update.
- PHP version or hosting configuration change.
- New plugin, custom code, child-theme modification, or server rule.
- Incomplete file upload or interrupted update.
Restore the last known working backup or revert the specific change on staging when possible. Do not reinstall WordPress or WoodMart before collecting the error details.
Check for a plugin or theme conflict
If the error log points to a plugin, deactivate that plugin and test the same action again. If the cause is unclear and the WordPress dashboard is accessible, temporarily deactivate nonessential plugins and reactivate them one at a time until the error returns.
If the dashboard is inaccessible, use the hosting file manager or SFTP to rename the suspected plugin directory. To test all regular plugins at once, temporarily rename wp-content/plugins to plugins-disabled. Restore the original directory name immediately after the test, then reactivate the required plugins from the dashboard.
If the error started after a theme or child-theme change, temporarily switch to a default WordPress theme on staging. If the error disappears, restore WoodMart and use the fatal error entry to identify whether the problem comes from WoodMart, the child theme, or custom code.
Check PHP and server limits
Navigate to Dashboard -> WoodMart -> Status and review the server values. WoodMart recommends PHP 8.3 or later and the following PHP configuration:
memory_limit: 256Mmax_execution_time: 180max_input_vars: 10000post_max_size: 64Mupload_max_filesize: 64M
An error such as Allowed memory size exhausted or Maximum execution time exceeded identifies the relevant limit. Ask the hosting provider to change server-controlled values. See Requirements & WordPress setup for the complete environment requirements.
Check the .htaccess file on Apache or LiteSpeed
A damaged or incompatible .htaccess rule can cause a 500 error on Apache or LiteSpeed servers. Nginx does not use .htaccess, and IIS commonly uses web.config; contact the hosting provider before changing rules on those servers.
1. Open the WordPress installation directory through the hosting file manager or SFTP and download a backup of .htaccess.
2. Rename the server copy to .htaccess-backup. Do not delete it.
3. Test the website. If it starts working, log in and navigate to Dashboard -> Settings -> Permalinks, then click Save Changes to generate the standard WordPress rules.
4. Carefully restore any required custom redirects, security directives, or plugin rules from the backup. If the error returns, ask the hosting provider or the author of those rules to review them.
Refer to the official WordPress .htaccess documentation when the file must be rebuilt manually.
Check file permissions
Typical WordPress permissions are 755 for directories and 644 for files, but the correct values depend on the hosting environment and file ownership. Do not apply 777 permissions or run a recursive permission change unless the hosting provider confirms the required configuration. See the official WordPress hardening guide.
Contact hosting or WoodMart support
Contact the hosting provider when the log points to PHP-FPM, the web server, a firewall, file ownership, database connectivity, or resource limits. Contact WoodMart support when the fatal error points to WoodMart or WoodMart Core and can be reproduced with the required plugins only.
Include the affected URL and action, the relevant error-log entry, the time of the error, recent changes, and the information from WoodMart -> Status. Remove passwords, API keys, access tokens, and unrelated personal data before sharing logs.