500 error (Internal Server Error)
The 500 error (Internal Server Error) is a generic HTTP status code reporting that something unexpected went wrong while the server was processing a request — and that the failure does not fit any more specific code. It acts as the protocol's catch-all: the application or server broke, and the details are intentionally hidden from visitors for security reasons.
How the 500 error works
Almost anything server-side can be behind a 500. The most frequent causes are:
- an unhandled exception or syntax error in application code (for example PHP),
- a faulty directive in .htaccess — a single typo can take down the whole site,
- an exhausted memory_limit or exceeded script execution time,
- wrong file permissions or a failed dependency (unreachable database, timed-out external API),
- a plugin or theme conflict after a CMS update.
Practical applications
Diagnosis always starts with the server logs — the error log points to the exact message, file and line — complemented by the application's own log. The next step is reviewing recent changes: a freshly installed plugin, an update or a deployment is the usual suspect, and reverting it typically restores service. The .htaccess file can be tested by temporarily renaming it; PHP limits are raised in the configuration or the hosting panel; WordPress users can enable WP_DEBUG with logging. Because every minute of 500 responses means downtime for both users and search engine crawlers, uptime monitoring that alerts you immediately is worth having — prolonged outages cost revenue first and rankings second. A good practice is also to separate what users see from the technical detail: visitors should get a friendly error page free of sensitive information, while the full stack trace goes only to logs and monitoring systems where engineers can act on it.
Powiązane pojęcia
Najczęstsze pytania
How do I find the cause of a 500 error?
Start with the logs: the web server's error log and the application log show the exact message, file and line behind the failure. Then roll back the most recent change — a plugin, update or deployment — and check .htaccess syntax along with PHP limits such as memory_limit and max_execution_time.
