How to Fix the 406 Not Acceptable Error: 7 Ways
Table of Contents
Stumbling upon client error responses is one of the most annoying things—it disrupts your online activities, prevents you from completing online purchases, and can lead to revenue or traffic losses if it affects your website.
While not as common as other errors, like 404 Not Found or 500 Internal Server Error, 406 Not Acceptable is just as frustrating and potentially harmful. Thus, you shouldn’t underestimate it, especially if it pops up on your website.
This guide will help you understand what the 406 Not Acceptable error is all about, what are its common triggers, and how to fix it—so let’s dive in.
In other words, the 406 client error response code means the browser requested content in a format the server can’t provide, so it couldn’t deliver an acceptable response.
When a client, such as a web browser, makes a request to a server, it sends along headers that describe what kind of response it can accept. These request headers include:
- Accept;
- Accept-Language;
- Accept-Encoding and others.
The server then attempts to find a suitable response that matches these criteria. If the response is acceptable, you’ll see the requested content. However, if the response doesn’t meet the requirements, your browser might deem the server’s response unsuitable and produce the 406 Not Acceptable error code.
It’s important to note that the 4XX HTTP response status codes are not considered server error responses. Rather, they are produced by the browser after it establishes that the server response doesn’t meet the acceptable values defined in the original request. Below is an example of the 406 error page produced by a browser.

You can check these headers using your browser’s developer tools. Here’s an example of what the headers of a 406 response might look like:
Response Headers:
- Status: 406 Not Acceptable
- Content-Type: text/html; charset=UTF-8
- Date: Tue, 04 Mar 2025 12:00:00 GMT
- Server: Apache/2.4.41 (Ubuntu)
- Vary: Accept-Encoding
These headers indicate that the server attempted to find a suitable content type based on the client’s request but was unable to do so. Understanding how these headers interact is crucial for diagnosing and resolving the 406 error.
What Causes the 406 Not Acceptable Error?
By definition, the 406 Not Acceptable error occurs when the server response fails to match the parameters of the requested resource specified in the Accept headers. Thus, it’s natural to assume that your browser is sending misconfigured requests or that the server doesn’t contain resources in the requested format.
However, the cause of the error could be a bit more complex and come from various sources. They can include:
- Incorrect headers–The client might send headers specifying content types that the server cannot provide.
- Incorrect URLs–Even a small typo in the URL can trigger a 406 error.
- Faulty plugins or themes–For websites built with a CMS like WordPress or Joomla, plugins or extensions might conflict with the server’s ability to deliver content. These conflicts can arise from outdated or poorly coded plugins, leading to a 406 error.
- Content negotiation failures–The server might be unable to match the client’s content preferences due to strict content negotiation rules. This occurs when the server’s available content types don’t align with what the client can accept.
- Corrupted database–A corrupted database can lead to incomplete or incorrect data being sent to the client, resulting in a 406 error.
- Server-side issues–Misconfigured settings and limitations of allowed MIME types on the server can lead to the 406 error code.
How to Fix the 406 Not Acceptable Error: 7 Ways
Now that we’ve established the problems that may cause the 406 HTTP error, it’s time to find out the most common fixes.

Check the Requested URL
This may seem too simple, but correcting the requested URL is the most immediate and easy-to-do solution that could fix the 406 Not Acceptable error.
An incorrect or non-existent URL usually results in the 404 Not Found error. In some cases, though, the URL might be correct but contain a string requesting specific resource types that don’t exist on the server. Here is one example:
https://siteground-tutorials.com/products/view.php?id=123&category=books&name=The%20Art%20of%20War
In this example, the domain siteground-tutorials.com is correct, but the URL address requests a PHP file that can’t be served, resulting in the 406 error.

Therefore, your first step to the 406 Not Acceptable error should be to double-check the URL you submitted.
Debug Your Application
Content management systems (CMS), like WordPress, are complex website applications utilizing various programming languages, scripts, plugins, and extensions. With so many moving parts, sporadic conflicts may happen, preventing a website from returning a proper response to an HTTP request, resulting in the 406 HTTP error code.
Developing the habit of using debug logs is essential in quickly identifying and resolving all kinds of errors on your website, which will save you lots of time and effort. The specifics of enabling and reading the debug logs differ depending on the CMS upon which your website is built.
For WordPress, read this detailed guide on how to enable the built-in debug logs.

Rollback Recent CMS Updates (WordPress and Other CMS)
Recent updates to the CMS core files or plugins might cause compatibility issues affecting your website’s HTTP responses. If the problems started after you updated your website, consider rolling it back to a previous version.
That said, WordPress and some other CMS applications don’t have native rollback mechanisms. However, a plugin like WP Rollback can add this functionality. Once installed, the plugin will incorporate a Rollback button for every theme and plugin, and reverting back to a previous version is as simple as a single click.

You can also consider restoring a backup to reverse any updates that caused the error. Backups can be facilitated through plugins or a server-side backup system.
With SiteGround, you have a steady and reliable backup system that allows you to restore your website instantly and roll back any unforeseen changes. To learn how to use it, read this Backup Tool Tutorial.
Disable Plugins, Themes, or Extensions (WordPress and other CMS)
Plugins and themes enhance your website’s functionality but can sometimes cause conflicts. Disable the plugins one by one or switch to another theme to identify if any are causing the 406 error.

Once you’ve found the culprit, you can either update it or find an alternative solution.
Check Your Website Database
A corrupted database might contain invalid or missing data, leading to a 406 error. Keeping your database well-maintained ensures that your website functions smoothly and preserves data integrity.
If you’re a WordPress user, you can take advantage of the Speed Optimizer plugin‘s advanced features. One of them is the scheduled database maintenance functionality, which will periodically check your database and clean it of corrupted or unnecessary data.

Check the Server Logs
Server error logs are an indispensable tool when troubleshooting errors and finding the source of the problem. They provide detailed information about the specific errors registered on your website with timestamps and the files they affected. Examine the logs for any error messages or warnings related to the 406 error.

Verify the Server Configuration
Server misconfigurations can prevent your website from fulfilling client requests, resulting in a 406 error.
Ensure that your server’s configuration settings are correct. Check the server’s content negotiation settings and MIME types to verify that they align with various HTTP requests.
Conclusion
Encountering an HTTP error is never fun, especially when it’s not one of the common ones for which there is plenty of information online. The HTTP error 406 Not Acceptable is one of these, and dealing with it can be a bit more challenging.
It’s important to remember that the 406 error highlights a failed content negotiation between a client (browser) and a web server. While it may seem intimidating at first, understanding its root causes can make its troubleshooting much easier. They include:
- Mistyped URLs
- Website misconfigurations
- Incorrect server settings
By addressing these potential issues one by one, you can swiftly resolve the problem and ensure a smoother browsing experience.