Overview
I have a relatively new WordPress site that was built only several months ago using ThemeCo Pro. This is a small/simple site and has only six plugins installed . It is hosted on the same hosting account/environment where I have approximately six other WordPress sites, also running Pro without this problem.
The site itself is working normally on the Visitor’s side (live), and I can access the WordPress admin and Pro/Cornerstone.
Web site: https://thebluehoursignal.com/
I simply needed to add a new link to the site’s existing Main Navigation menu . When I went to:
Appearance → Menus
WordPress attempted to load:
/wp-admin/nav-menus.php
and I received a cPanel-generated:
500 Internal Server Error
There was no WordPress error message or PHP fatal error displayed—just the generic server 500 page.
This started a troubleshooting process that has become considerably more involved than what should have been the simple task of adding a menu item.
Troubleshooting Completed
1. Enabled WordPress debugging
In wp-config.php , I enabled:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
Reloading Appearance → Menus still produced the same 500 error.
No relevant PHP/WordPress error was displayed.
2. Checked the WordPress debug/error log
The only entry in the site’s error log was an older entry from July 11:
Cron reschedule event error for hook: rsssl_every_five_minutes_hook,
Error code: could_not_set,
Error message: The cron event list could not be saved.
There were no new entries corresponding to the nav-menus.php 500 error .
3. Checked cPanel’s server error log
I checked cPanel → Metrics → Errors immediately after reproducing the problem.
The log contained various Apache autoindex:error / AH01276 entries involving bots or visitors attempting to access directories without an index file.
There was nothing corresponding to the wp-admin/nav-menus.php 500 error .
4. Tested Really Simple Security
Because the only old logged WordPress error involved Really Simple Security, I temporarily deactivated that plugin.
Result: Appearance → Menus still returned the 500 error.
5. Disabled ALL plugins
I then deactivated all six plugins installed on the site , eliminating plugins as a likely cause.
Result: Appearance → Menus still returned the 500 error.
6. Switched from Pro to Twenty Twenty-Five
I temporarily activated the standard WordPress Twenty Twenty-Five theme.
Because Twenty Twenty-Five is a block theme, the traditional Appearance → Menus option was no longer available in the admin.
I therefore manually navigated directly to:
/wp-admin/nav-menus.php
Instead of a 500 error, WordPress successfully loaded the page and displayed:
Your theme does not support navigation menus or widgets.
In other words, nav-menus.php itself successfully executes when Twenty Twenty-Five is active.
7. Reactivated Pro
After returning to ThemeCo Pro, accessing the same nav-menus.php page again produced the 500 Internal Server Error .
This appears to establish a direct relationship between the error and Pro being active.
8. Investigated .htaccess
I found another ThemeCo forum discussion concerning a 500 error where .htaccess was suggested as a possible cause.
I examined this site’s .htaccess .
It contained:
- WordPress include-file protection rules
- protection for
wp-config.php - the standard WordPress
mod_rewriterules
There were no obvious custom rules targeting wp-admin , nav-menus.php , Cornerstone, or Pro.
9. Completely removed .htaccess from the equation
Rather than guessing at individual directives, I temporarily renamed/disabled the entire .htaccess file and tested nav-menus.php again.
Result: Same 500 Internal Server Error.
I restored the .htaccess file.
10. Reinstalled ThemeCo Pro
The site was running:
ThemeCo Pro 6.9.2
I obtained a fresh copy of the exact same Pro 6.9.2 version and used WordPress’s theme replacement feature:
Replace installed with uploaded
This completely replaced the existing Pro theme files with a clean copy without changing versions.
Result: Appearance → Menus still produced the 500 error.
This would seem to rule out missing or corrupted Pro theme files.
11. Checked the PHP version
The site had been running PHP 8.3 .
I changed it to PHP 8.4 . I do not normally run the absolute newest PHP version available on the server; PHP 8.5 is available, but I intentionally did not move to it.
Changing to PHP 8.4 initially exposed a missing PHP extension. I corrected the missing extension and verified that the site was functioning.
I then tested the Menus page again.
Result: Same 500 Internal Server Error.
12. Checked wp-config.php for WordPress memory settings
There were originally no explicit WP_MEMORY_LIMIT or WP_MAX_MEMORY_LIMIT definitions in wp-config.php .
I added:
define( 'WP_MEMORY_LIMIT', '512M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Result: Same 500 Internal Server Error.
13. Located the actual server PHP memory limit
My cPanel installation does not provide MultiPHP INI Editor , so I used:
cPanel → Select PHP Version → Options
There I discovered that PHP’s actual:
memory_limit
was set to only:
128M
14. Increased the server PHP memory limit
I increased PHP’s memory_limit from:
128M → 512M
This made the PHP/server memory limit consistent with the 512M WordPress memory settings added to wp-config.php .
I tested Appearance → Menus again.
Result: Same 500 Internal Server Error.
Therefore, the failure does not appear to be caused by the previous 128M PHP memory limit.
15. Enabled PHP-level display_errors
Since WordPress debugging was producing nothing, I enabled PHP’s own:
display_errors
through Select PHP Version → Options , while leaving log_errors enabled.
I then reproduced the error.
Result: There was still no PHP error or fatal error displayed .
Instead, the server immediately returned the same generic cPanel:
500 Internal Server Error
No useful PHP diagnostic information was exposed.
Current Situation
At this point:
- The site itself works.
- WordPress administration works.
- Pro/Cornerstone works.
- The site has only six plugins.
- Disabling every plugin does not solve it.
- Changing / resaving Permalinks doesn’t solve it.
- Removing
.htaccessdoes not solve it. - Increasing PHP memory from 128M to 512M does not solve it.
- Changing PHP 8.3 → 8.4 does not solve it.
- A clean replacement of Pro 6.9.2 does not solve it.
- WordPress debugging produces no relevant error.
- PHP
display_errorsproduces no error. - The server error log does not identify the failure.
-
nav-menus.phpdoes load when Twenty Twenty-Five is active . -
nav-menus.phpreturns a 500 when Pro 6.9.2 is active .
The especially frustrating part is that this is not a complicated or heavily modified installation. It is a relatively new, simple website, and all I was attempting to do was add one link to the Main Navigation .
I also have approximately six other WordPress sites using ThemeCo Pro in essentially the same hosting environment and have never encountered this issue.
At this point, I would any direction direction on what Pro is loading or executing specifically when WordPress loads wp-admin/nav-menus.php , since the troubleshooting above appears to have isolated the failure to something that occurs when Pro is the active theme.
Thanks.
