501 Not Implemented: the server can’t do that

501 Not Implemented means the server doesn’t support the functionality the request needs, most often an unrecognized request method.

Check a URL’s status code

501 Not Implemented means the server doesn’t support the functionality needed to handle the request; most often, it doesn’t recognize the request method at all. It’s a server-wide “I can’t do that,” not a judgment on one particular URL.

Definition

RFC 9110, section 15.6.2 says 501 is the appropriate response when the server doesn’t recognize the request method and can’t support it for any resource. That’s the key difference from 405 Method Not Allowed: 405 means “known method, not allowed here,” while 501 means “I don’t do that method anywhere.” HTTP/1.1’s message rules (RFC 9112) also point to 501 when a server receives a transfer coding it doesn’t understand. A 501 is cacheable by default.

Common causes

  • Non-standard methods such as PURGE or BAN, used by caches like Varnish, reaching a server that doesn’t know them. Apache answers unknown methods with “Method Not Implemented.”
  • WebDAV or PATCH requests to servers or proxies that don’t support them.
  • Placeholder endpoints in an API that return 501 until a feature ships.
  • Unsupported Transfer-Encoding values in a request.

SEO impact

Googlebot uses GET, which every server supports, so a 501 on a page usually means something is badly misrouted: a stub app, the wrong virtual host or a proxy in the way. Google groups 501 with the other 5xx codes, such as 500, so crawling slows and URLs that keep failing are eventually dropped (Google’s documentation). Never use 501 as a “coming soon” status for public pages. A page that isn’t ready shouldn’t be linked, or should return 404 until it is.

How to fix it

  • For cache purges, send the request to the cache layer (Varnish, your CDN’s API), not to the origin, or add a handler for the method.
  • For APIs, return 405 with an Allow header when a method is known but unsupported on that endpoint, and keep 501 for methods you don’t implement at all.
  • Check reverse proxy rules if the 501 appears only when requests go through the proxy.

Example

PURGE /blog/ HTTP/1.1
Host: www.example.com

HTTP/1.1 501 Not Implemented
Server: Apache
Content-Type: text/html; charset=iso-8859-1

Confirm what ordinary page requests return with the HTTP status checker.

Frequently asked questions

What is the difference between 501 and 405?

405 means the server knows the method but this URL doesn’t allow it, and it must list allowed methods in an Allow header. 501 means the server doesn’t support the method for any URL.

Why does my PURGE request return 501?

The request reached a server that doesn’t know the PURGE method, usually the origin rather than the cache. Send purges to your cache or CDN, or configure the origin to handle them.

Does a 501 error affect SEO?

Yes, if crawlers get it on pages. Google treats 501 like other server errors: it crawls less and eventually removes URLs that keep failing.