406 Not Acceptable Error: Causes, Fixes & Prevention Guide
Consider the scenario where you introduce a new feature on your website, which you have been working on for several weeks. Everything is good till some customers report that they cannot access particular pages because all they see is a message saying:
406 Not Acceptable
For many website owners, this error appears unexpectedly and offers little explanation about what went wrong. Unlike a broken link or a missing page, the 406 status code indicates that your server understood the request, but couldn’t deliver a response in a format the client was willing to accept.
Although less common than errors such as HTTP 404 or HTTP 500, the HTTP 406 error can negatively influence the user experience, disrupt API functionality, lower website availability, and even harm SEO if it is not resolved.
The bright side is that the 406 Not Acceptable error is normally resolvable after identifying its source. Whatever causes the problem- server settings, request headers, security policies, or a response from the API- you can recover your website easily.
In this detailed guide, we will take a look at the causes of the 406 Not Acceptable error, describe how to troubleshoot 406 status code issues, give you a step-by-step solution to fix the 406 error, and give advice on how to prevent 406 problems.
MetaLogic Digital is an SEO agency with extensive experience detecting complex website issues through our Technical SEO and website optimisation services. Using both server and SEO troubleshooting, we help businesses maintain safe and efficient websites.
What Is a 406 Not Acceptable Error?
The 406 Not Acceptable Error is an HTTP status code used by web servers when they have received the client’s request but cannot fulfil the request headers as they conflict with each other or one is missing.
In simple terms, the browser asks for content in a specific format, language, or encoding, but the server cannot provide a compatible version.
The server therefore refuses the request and returns:
HTTP/1.1 406 Not Acceptable
Although relatively uncommon, this error can occur on websites, REST APIs, content management systems, and applications using strict content negotiation.
Common Causes of 406 Not Acceptable Error
Several factors can trigger a 406 error.
Incorrect Accept Headers
This can be attributed to incorrect Accept headers.
For instance, where the client requires:
Accept: application/xml
and the server returns only JSON, the request will fail.
This issue is especially common with APIs.
2. Web Application Firewall (WAF) Rules
Security solutions such as:
- ModSecurity
- Cloudflare WAF
- Imperva
- AWS WAF
may interpret certain requests as malicious.
As a result, the firewall blocks the request and returns a 406 HTTP error instead of serving the requested page.
CMS Security Plugins
Many of the WordPress security plugins have strict filters.
- They are:
- Wordfence
- iThemes Security
- All In One WP Security
If the requests seem like malicious traffic, the plugin throws a 406 error.
Unavailable Media Types
Where a browser or application sends a request for:
- XML
- JSON
- CSV
and the server cannot provide this content type, then it might return a 406 response code.
5. Incorrect URL Parameters
Malformed URLs containing unexpected characters may trigger security filters.
Example:
example.com/search?keyword=<script>
Many servers reject these requests to prevent attacks.
Improper Apache/Nginx Setup
There may be restrictive settings within the server configuration file.
Some examples are:
- .htaccess
- Apache MIME Settings
- Nginx Location Settings
Improper settings could lead to rejection of some legitimate requests.
Problems with API Setup
Most modern APIs have restricted response formats.
Example:
Accept: application/xml
when the API only returns JSON.
The server therefore rejects the request.
Symptoms of a 406 Error
In certain websites or applications, you may come across:
Pages that do not load
API requests getting 406 errors
Stopped download links
Form submissions failing
Failed search functionality
Unstable content viewing in different web browsers
- Pages in specific languages that don’t open
How to Fix 406 Error Code Issues
Find out the cause of the problem in the following manner.
Step 1: Check the Request Headers
Examine the request headers using:
Browser Developer Tools
- Postman
- cURL
- Insomnia
Headers to check:
- Accept
- Accept-Language
- Accept-Encoding
They should comply with the formats allowed by the server.
Step 2: Test the Website on Another Browser
Some browser plugins can change the request headers.
Test using:
- Chrome
- Firefox
- Edge
- Safari
If the error goes away, then the problem is on the client side.
Step 3: Empty Browser Cache
Old cache headers or damaged cookies can affect request headers.
Remove:
- Browser cache
- Cookies
- Site data
Then reload the page.
Step 4: Turn Off the Security Plugins
If running WordPress:
Turn off the security plugins one by one.
When the issue is resolved, change the filter rules on the plugin rather than turning it off.
Step 5: Examine Web Server Logs
Examine:
- Apache
- error.log
- access.log
- Nginx
- error.log
Common findings from logs:
- requests denied
- MIME types rejected
- firewall activities
- permissions issues
Step 6: Check ModSecurity Rules
Note that many hosting services have ModSecurity enabled by default.
Review the audit logs for blocked requests.
You may need to:
- allow the request
- turn off a specific rule
- update the ruleset
Step 7: Testing Requests to the API
If the problem is related to an API:
See if the following works
Accept: application/json
According to API guidelines.
Do not make requests for formats not supported by the API.
Step 8: Checking .htaccess Rules
Incorrect rules can cause unwanted results.
Check for:
RewriteRule
RewriteCond
AddType
ForceType
Restore from backup if your last settings have caused the issue.
How to Resolve HTTP 406 Not Acceptable Error
Fix 1: Change Accept Headers
Make sure that the client only requests the supported media types.
Example:
Accept: application/json
Not the unsupported media types.
Fix 2: Change MIME Types on the Server
Change the settings on the server so it recognises the required media types.
Apache example:
AddType application/json .json
This enables the server to serve JSON files correctly.
Solution 3: Modify Firewall Configuration
When ModSecurity is preventing legitimate traffic:
Turn off the faulty rule
Permit access from trusted sources
Modify the firewall settings
Before going live, test.
Fix 4: Check CMS Plugins
Update:
- security plugins
- caching plugins
- optimisation plugins
Outdated software frequently causes compatibility issues.
Fix 5: Return to Default Configurations
In case of any recent changes in configurations:
- return from a good backup
- analyse recent changes made
- perform incremental testing
Fix 6: Contact Your Web Hosting Provider
Hosts provide managed services such as:
- reviewing server logs
- WAF configuration
- ModSecurity configurations
- Apache configuration
- Nginx configurations
This often resolves issues more quickly.
406 Error vs Other HTTP Status Codes
Status Code | Meaning | Typical Cause |
400 | Bad Request | Invalid request syntax |
401 | Unauthorised | Authentication required |
403 | Forbidden | Access denied |
404 | Not Found | Resource missing |
405 | Method Not Allowed | Unsupported HTTP method |
406 | Not Acceptable | Requested content format unavailable |
408 | Request Timeout | Client took too long |
409 | Conflict | Resource conflict |
415 | Unsupported Media Type | Invalid request body format |
500 | Internal Server Error | Server failure |
502 | Bad Gateway | Invalid upstream response |
503 | Service Unavailable | Temporary downtime |
Best Practices to Prevent 406 Errors
Preventing 406 Not Acceptable responses is easier than fixing them after they occur.
Follow these best practices:
Use Standard Content Types
Always use standard formats such as:
- HTML
- JSON
- XML (when appropriate)
Update Software Regularly
Always update:
- CMS
- plugins
- themes
- frameworks
- web server software
Configure Firewalls Properly
Use less restrictive filtering policies.
Check blocked requests periodically to reduce false positives.
Testing APIs Comprehensively
Make sure that clients ask for supported media types.
Verify all request headers in development mode.
Server Logs Monitoring
Continuous server logging will help spot abnormal requests before they impact the user experience.
Implement Thorough Testing
When testing websites, use:
- various browsers
- mobile phones
- API test tools
- staging servers
The Influence of the 406 Error on SEO Performance
Most website owners think that HTTP errors will only affect developers.
Actually, this is not true because they can greatly affect SEO.
Less Crawling
Search engine spiders always need a proper HTTP response.
Repeated 406 errors decrease crawling speed.
Bad User Experience
Users receiving these errors usually leave the website right away.
It may indirectly influence SEO performance.
Lower Conversion Rates
If users cannot access important pages such as:
- Contact pages
- Product pages
- Checkout
- Login portals
they are unlikely to complete desired actions.
Lowered Trust Level
Constant technical problems lead to lower trust in your brand.
Reliable sites always beat unreliable competing sites.
MetaLogic Digital, Our Technical SEO experts constantly check HTTP response codes, server behaviour, crawl and indexing issues to make sure that websites are always accessible for both people and search engines.
SEO Impact of 406 Errors
While occasional 406 errors do not have much effect on SEO, continuous errors may include problems such as:
- Not allowing search engines to crawl content
- Index coverage reduction
- Bad user experience
- High bounce rate
- Quality signal reduction
Conducting regular technical audits will help you identify these problems before they start affecting SEO.
Why Opt for MetaLogic Digital for Technical SEO?
Technical SEO issues can affect your website’s ranking and earning potential without you knowing. MetaLogic Digital will help you sort out technical SEO problems on your website.
Our technical SEO services include:
- Comprehensive website technical audits
- HTTP status code analysis and resolution
- Crawlability and indexability optimisation
- Core Web Vitals improvements
- Server log analysis
- Website performance optimisation
- Schema markup implementation
- Enterprise SEO solutions
- Ongoing website monitoring and maintenance
Whether you’re dealing with 406 Not Acceptable, 404, 500, or other server-related issues, our experts ensure your website is fully accessible to all users and search engines.
Conclusion
The 406 Not Acceptable Error is probably not as common as other HTTP status codes, but it can usually indicate significant configuration or compatibility problems between the client and server. With knowledge of content negotiation, review of request headers, server and firewall configuration, and a systematic troubleshooting approach, all 406 status code problems can be fixed.
If you are facing recurring HTTP 406 errors, crawling issues, or other SEO technicalities, feel free to contact MetaLogic Digital for assistance. Our professionals use a blend of technical knowledge and proven SEO techniques to understand and resolve the problem, optimising site performance and increasing search engine visibility.
A 406 Not Acceptable Error means that the server understands the request from the client side, but it is not able to give any content in an acceptable form based on the Accept headers in the request.
The Not Acceptable HTTP 406 error code can be fixed by checking the HTTP headers, server logs, MIME types, security plugins and firewall settings, API requests, cache settings, and CMS or server configuration. This will help to pinpoint the exact reason for this issue.
Yes. Frequent occurrence of 406 status codes may prevent search engines from accessing key pages on your site, adversely affecting SEO as well as overall site performance. A technical SEO audit will help identify these issues and fix them to avoid negative consequences.
At MetaLogic Digital, we provide end-to-end technical SEO services, including fixing HTTP errors, server analysis, site optimisation, increasing crawlability, and ongoing monitoring. We make sure your site is safe, accessible, and optimised to deliver the best possible experience.