506 Variant Also Negotiates

The server's content negotiation is misconfigured and loops.

Code
506
Reason phrase
Variant Also Negotiates
Class
5xx Server error
Defined in
RFC 2295 section 8.1
Cacheable by default
No

What it means

Server error: the request may be fine, but the server failed to carry it out.

Common causes. A server configuration mistake.

What to do. Site owners should fix the negotiation settings.

How clients and crawlers treat it

Google Search. Googlebot treats 5xx responses as a sign of trouble and temporarily slows its crawl rate. Already indexed URLs are kept at first, but are dropped if the errors continue. Source: Google Search Central, How HTTP status codes, and network and DNS errors affect Google Search.

Caching. Not cacheable by default (RFC 9110 section 15.1 does not list it). A cache stores it only when the response says so with Cache-Control or Expires.

Example response

HTTP/1.1 506 Variant Also Negotiates
Content-Type: text/plain; charset=utf-8

Variant Also Negotiates

How to send 506

nginx
location /example {
    return 506;
}
Apache (.htaccess)
RewriteEngine On
RewriteRule ^example$ - [R=506,L]
PHP
http_response_code(506);
echo 'Variant Also Negotiates';
exit;
Node.js
res.writeHead(506, { 'Content-Type': 'text/plain' });
res.end('Variant Also Negotiates');
Python (Flask)
# in a view function
return 'Variant Also Negotiates', 506

Change the paths to suit. In nginx, add_header needs always to apply to error responses.

Related codes

All status codes · All 5xx codes

Names and numbers from the IANA HTTP Status Code Registry. Google Search behaviour as documented by Google Search Central.