# 501 Not Implemented : le serveur ne sait pas faire cela

> 501 Not Implemented : le serveur ne prend pas en charge la fonction nécessaire à la requête, le plus souvent une méthode de requête non reconnue.

URL: https://yes-seo.com/fr/codes-http/501

**501 Not Implemented** signifie que le serveur ne prend pas en charge la fonctionnalité nécessaire pour traiter la requête ; le plus souvent, il ne reconnaît pas du tout la méthode de requête. C’est un « je ne sais pas faire cela » valable pour tout le serveur, pas un jugement sur une URL précise.

## Définition

La [RFC 9110, section 15.6.2](https://www.rfc-editor.org/rfc/rfc9110#section-15.6.2) indique que le 501 est la réponse appropriée quand le serveur ne reconnaît pas la méthode de requête et ne peut la prendre en charge pour aucune ressource. C’est la différence essentielle avec [405 Method Not Allowed](https://yes-seo.com/fr/codes-http/405) : 405 signifie « méthode connue, mais non autorisée ici », alors que 501 signifie « je ne gère cette méthode nulle part ». Les règles de message de HTTP/1.1 (RFC 9112) renvoient aussi au 501 quand un serveur reçoit un codage de transfert qu’il ne comprend pas. Un 501 est mis en cache par défaut.

## Causes courantes

- **Méthodes non standard** comme `PURGE` ou `BAN`, utilisées par des caches comme Varnish, qui atteignent un serveur ne les connaissant pas. Apache répond « Method Not Implemented » aux méthodes inconnues.

- **Requêtes WebDAV ou PATCH** adressées à des serveurs ou des proxys qui ne les prennent pas en charge.

- **Points d’accès provisoires** d’une API qui renvoient 501 jusqu’à la sortie d’une fonctionnalité.

- **Valeurs de Transfer-Encoding** non prises en charge dans une requête.

## Impact SEO

Googlebot utilise GET, que tous les serveurs prennent en charge : un 501 sur une page signifie donc généralement un grave problème d’aiguillage, comme une application factice, le mauvais hôte virtuel ou un proxy qui s’interpose. Google range le 501 avec les autres codes 5xx, comme [500](https://yes-seo.com/fr/codes-http/500) : le crawl ralentit, et les URL qui continuent d’échouer finissent par être retirées ([documentation de Google](https://developers.google.com/search/docs/crawling-indexing/http-network-errors?hl=fr)). N’utilisez jamais 501 comme statut « bientôt disponible » pour des pages publiques. Une page qui n’est pas prête ne devrait pas être liée, ou devrait renvoyer [404](https://yes-seo.com/fr/codes-http/404) jusqu’à ce qu’elle le soit.

## Comment le corriger

- Pour les purges de cache, envoyez la requête à la couche de cache (Varnish, l’API de votre CDN) et non à l’origine, ou ajoutez un gestionnaire pour la méthode.

- Pour les API, renvoyez 405 avec un en-tête `Allow` quand une méthode est connue mais non prise en charge sur ce point d’accès, et réservez 501 aux méthodes que vous n’implémentez pas du tout.

- Vérifiez les règles du proxy inverse si le 501 n’apparaît que lorsque les requêtes passent par lui.

## Exemple

```
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
```

Confirmez ce que renvoient les requêtes de pages ordinaires avec le [vérificateur de statut HTTP](https://yes-seo.com/fr/verificateur-code-http).

## Questions fréquentes

### Quelle est la différence entre 501 et 405 ?

405 signifie que le serveur connaît la méthode mais que cette URL ne l’autorise pas, et il doit lister les méthodes autorisées dans un en-tête Allow. 501 signifie que le serveur ne prend la méthode en charge pour aucune URL.

### Pourquoi ma requête PURGE renvoie-t-elle 501 ?

La requête a atteint un serveur qui ne connaît pas la méthode PURGE, en général l’origine plutôt que le cache. Envoyez les purges à votre cache ou à votre CDN, ou configurez l’origine pour qu’elle les gère.

### Une erreur 501 affecte-t-elle le SEO ?

Oui, si les robots la reçoivent sur des pages. Google traite le 501 comme les autres erreurs serveur : il explore moins et finit par retirer les URL qui échouent durablement.

