Consistent cPanel 500 Internal Server Error when trying to access Menus within Pro

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_rewrite rules

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 .htaccess does 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_errors produces no error.
  • The server error log does not identify the failure.
  • nav-menus.php does load when Twenty Twenty-Five is active .
  • nav-menus.php returns 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.

Hello @ChadAustin,

Thanks for writing to us.

I would also suggest you please add this code to your active child theme ** functions.php** and recheck it.

add_filter("cs_use_custom_fields_map", "__return_false");

Hope it helps
Thanks

1 Like

Thanks for the suggestion and response Prakash, but this site is not using a child theme.

I just spent an hour on the phone with GoDaddy’s advanced support, who confirmed this is a Pro theme issue because they could get other themes (mainly 2025) to display Menu access without getting a 500 Internal Server error.

If you read through my notes (i know it’s a lot) I, in fact, did the same tests and was thinking this is a Pro issue as well.

The only stumper is that I did a fresh reinstall of Pro and nothing changed.

I have the Elementor theme installed as well, and I do have access to the Menu within that Theme.

But if I go back to Pro and try to access Menu? 500 Internal Server Error.

Hello @ChadAustin,

I recommend installing the Pro child theme. You can download the Pro theme from here and install it on your website. Once the child theme is installed and activated, you can add the code provided above to the child theme’s functions.php file.

Thanks