HTTP 501 Not Implemented — Meaning, Causes & How to Fix
The server does not support the functionality required to fulfil the request.
- Code
- 501
- Name
- Not Implemented
- Class
- 5xx Server Error
- Specification
- RFC 9110 §15.6.2
- Cacheable by default
- Yes — heuristically cacheable by default
What HTTP 501 means
501 Not Implemented means the server does not support the functionality needed — usually it does not recognise the request method at all for any resource. It is one of the few 5xx codes that is heuristically cacheable.
Common causes
- A client using an unusual method (e.g. PROPFIND or a custom verb) on a server that does not support it.
- An API placeholder endpoint that is not built yet.
How to fix it
For site owners
- If the method should work, enable the module or handler for it.
- Use 405 instead if the method is supported elsewhere but not on this URL.
For visitors & developers
- Use a standard method (GET, POST, PUT, DELETE…) supported by the server.
SEO impact
Rare for pages, as crawlers use GET. Any 5xx returned to GET requests slows crawling and can drop URLs if it persists.
Example 501 response
HTTP/1.1 501 Not Implemented
Content-Type: text/plain
Method PROPFIND is not supported.
Related status codes
Check or look up another code
Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.
Open HTTP Status Codes tool →All status codesFrequently asked questions
What does HTTP 501 mean?
HTTP 501 Not Implemented is a 5xx Server Error status code. The server does not support the functionality required to fulfil the request.
What is the difference between 501 and 405?
501: the server does not support the method anywhere. 405: it supports it, just not for this resource (and lists allowed methods in Allow).
Which specification defines 501?
It is defined in RFC 9110 §15.6.2.
Is a 501 response cacheable?
Yes. 501 is one of the codes RFC 9110 §15.1 lets caches store heuristically, so it can be reused without explicit caching headers. Send Cache-Control to control how long.