# Exclure du sitemap les hébergements fermés de saison, sans désindexer

> Un snippet pour exclure temporairement du sitemap les biens de location saisonnière indisponibles, sans les désindexer définitivement.

- Auteur : WordPress Développement
- Publié le : 2021-09-11
- Mis à jour le : 2021-09-11
- Catégorie : SEO &amp; GEO
- URL : https://www.wpmoderne.fr/seo/exclure-sitemap-hebergements-fermes-saison/

## L’essentiel

- Un champ personnalisé de statut plutôt qu'un changement de statut de publication
- Le filtre wp_sitemaps_posts_query_args cible précisément l'exclusion
- La page reste indexée mais sort temporairement du sitemap

Que faire d'un bien de location saisonnière fermé pour la saison, sans pour autant vouloir le désindexer complètement, puisqu'il rouvrira dans quelques mois avec la même URL ? C'est la question posée par un site de location saisonnière qui gère plusieurs dizaines de biens, dont une partie ferme chaque année entre octobre et avril.

Passer ces fiches en brouillon les retirerait purement et simplement de l'index, ce qui obligerait à repartir de zéro sur leur référencement à chaque réouverture. Ce cas ne traite pas la désindexation manuelle via l'outil de suppression d'URL de Search Console, réservée à des besoins ponctuels et non à un cycle saisonnier récurrent.

## Le bon signal : rester indexé, sortir du sitemap

La distinction est essentielle : une page peut parfaitement rester indexée par Google, visible dans les résultats de recherche, tout en étant retirée du sitemap XML soumis. Le sitemap sert avant tout à signaler les URL à explorer en priorité et leur fréquence de mise à jour probable ; il ne conditionne pas à lui seul le maintien d'une page dans l'index. Une fiche de bien fermé, exclue du sitemap mais toujours accessible et toujours liée depuis le site, conserve son historique d'indexation sans qu'aucune action supplémentaire ne soit nécessaire à la réouverture.

## Piloter l'exclusion par un champ personnalisé

Chaque fiche de bien porte un champ personnalisé `statut_saison`, avec deux valeurs possibles : `ouvert` ou `ferme`. Ce champ, déjà utilisé par le thème pour afficher un bandeau d'indisponibilité sur la fiche, sert également de condition d'exclusion du sitemap.

> L'essentiel à retenir : Un champ personnalisé de statut plutôt qu'un changement de statut de publication ; Le filtre wp_sitemaps_posts_query_args cible précisément l'exclusion ; La page reste indexée mais sort temporairement du sitemap

## Le filtre wp_sitemaps_posts_query_args

Ce filtre, disponible depuis l'introduction du sitemap natif en WordPress 5.5, permet de modifier les arguments de la requête utilisée pour construire la liste des URL du sitemap, type de contenu par type de contenu :

```
add_filter( 'wp_sitemaps_posts_query_args', function ( $args, $post_type ) {
    if ( 'bien_location' !== $post_type ) {
        return $args;
    }

    $args['meta_query'] = array(
        array(
            'key'     => 'statut_saison',
            'value'   => 'ferme',
            'compare' => '!=',
        ),
    );

    return $args;
}, 10, 2 );
```

Cette condition retire du sitemap uniquement les biens marqués comme fermés, sans toucher au statut de publication de l'article ni à son accessibilité directe pour un visiteur qui connaîtrait déjà l'URL.

### Vérifier le résultat

Le sitemap généré automatiquement à l'adresse `/wp-sitemap-posts-bien_location-1.xml` permet de vérifier directement, à l'ouverture de saison suivante, que les biens repassés en statut `ouvert` réapparaissent bien dans la liste, sans intervention manuelle supplémentaire.

## Ce qu'il ne faut pas faire

- Ne pas basculer les fiches en brouillon pendant la fermeture : cela retire réellement la page de l'index et oblige à une nouvelle exploration complète à la réouverture.
- Ne pas ajouter de balise `noindex` temporaire sur ces pages : ce signal est bien plus fort qu'une simple absence du sitemap et peut retarder la réindexation au-delà de la période de fermeture.
- Ne pas oublier de retirer également les biens fermés du maillage interne mis en avant, comme les blocs de suggestions sur la page d'accueil, pour ne pas orienter les visiteurs vers une réservation impossible.

> Un sitemap n'est pas un interrupteur d'indexation : c'est une liste de priorités. Confondre les deux mène presque toujours à désindexer par excès de prudence des pages qui n'avaient besoin que d'un peu de discrétion temporaire.

### Le cas des biens vendus définitivement

Cette même logique de champ personnalisé s'étend sans difficulté à un autre cas rencontré sur ce même site : un bien retiré définitivement de la location, faute d'accord renouvelé avec son propriétaire. Ici, contrairement à une fermeture saisonnière, il n'y a plus de réouverture prévue. La fiche bascule alors en statut `archive` plutôt que `ferme`, ce qui déclenche à la fois son exclusion du sitemap et l'ajout d'une redirection 301 vers la catégorie de biens la plus proche, une fois un délai de grâce de quelques semaines écoulé pour laisser le temps à d'éventuels visiteurs de consulter une dernière fois la page avant sa disparition définitive.

## En résumé

Le filtre `wp_sitemaps_posts_query_args`, combiné à un simple champ personnalisé de statut, permet de gérer proprement la saisonnalité d'un catalogue de biens sans jamais perdre le bénéfice d'une indexation déjà acquise. Cette solution reste transposable à tout contenu au cycle de disponibilité récurrent : événements annuels, formations à session, ou tout autre contenu qui réapparaît avec la même URL d'une saison à l'autre.
