Error 500
An Error 500 Internal Server Error means the server failed to handle your request but did not say why. The page you see is always generic. The real message lives in a log, so trying to fix a 500 without opening that log is guessing.
The log holds the real message
The request reaches the web server and is passed to the PHP application. When the application hits a condition it cannot handle, a missing function or a killed script, it produces no page and the server returns status 500. The detail is stored elsewhere. On cPanel open the error log, on a VPS check /var/log/, and for PHP-FPM read the pool log. On WordPress, turn on WP_DEBUG and then read wp-content/debug.log. Once you find the first message, look at the last line right before the crash, because that is where the file name and line number usually appear.
The three usual causes
First, a fatal PHP error: a plugin or theme calls a function that no longer exists, or old code is forced onto a newer PHP version. Second, a broken .htaccess: one bad rewrite rule makes the web server refuse to process, the classic cause after installing a security plugin. Third, a failed database connection: wp-config.php still points at old credentials after a migration, so the app has no data to render. A fourth cause shows up often: a core file that is missing or corrupted after an upload that got cut short.
Narrowing it down fast
Work backward from the last change. Recall what you touched recently: a plugin update, a PHP version switch, or a file import. Undo that one change and reload the page. If only one page throws the 500, look at the code that page uses, usually a form or a checkout. If every page breaks after a move, suspect database settings or the PHP version. Note the first time it appeared and match that timestamp against your update log to name the culprit.
Do not mix it up with 503 or 429
People blur all three. An Error 503 means the server is alive but currently unable, usually load or maintenance, not broken code. An Error 429 means your client is rate limited. Write down the status code you actually saw, because the fixes differ. A generic 500 page will never tell you the cause, so go back to the log.
FAQ
Does a 500 hurt SEO?
If it persists, yes. Google can treat the page as unavailable and delay crawling it. A brief 500 right after a change is usually forgiven.
Why only certain pages?
Because only those pages run the broken code, typically a page with a form or one built by a specific plugin. That actually narrows the search.
Should I raise memory_limit first?
Sometimes that is the real fix. But if a plugin is leaking memory, you are only postponing the crash. Read the log and find the source before raising the cap.
Disclaimer: Hosting Wiki articles are prepared for educational and reference purposes. Hosting technology keeps evolving, so some technical details may change over time.