406 Not Acceptable Error: Causes, Fixes & Prevention Guide

People Also Search For

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.

  1. 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.

  1. 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.

  1. Unavailable Media Types

Where a browser or application sends a request for:

  • XML
  • JSON
  • PDF
  • 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.

  1. 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.

  1. 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.

Leave a Reply