# Distinguer la dernière modification d’un article de sa date de publication initiale

> Une mention « mis à jour le » séparée de la date d'origine renforce la fraîcheur perçue d'un contenu, sans avoir à réécrire l'historique de publication.

- Auteur : Clément Hadrot
- Publié le : 2026-07-13
- Mis à jour le : 2026-07-13
- Catégorie : Tips
- URL : https://wpmoderne.dev.wordpress-developpement.fr/tips/distinguer-derniere-modification-article-date-initiale/

## L’essentiel

- get_the_date et get_the_modified_date répondent à deux questions différentes
- N'afficher la mention que si un écart réel existe
- Un seuil minimal évite d'afficher une mise à jour pour une simple faute corrigée

Un site de guides pratiques sur le bricolage républiait régulièrement d'anciens articles avec des informations actualisées (nouvelles normes, nouveaux modèles d'outils recommandés), mais affichait toujours la date de première publication, parfois vieille de plusieurs années. Un lecteur tombant sur un article daté de 2021 pouvait légitimement douter de sa pertinence, alors même que le contenu avait été substantiellement mis à jour la semaine précédente.

WordPress distingue nativement ces deux dates : la date de publication d'origine (`post_date`) et la date de dernière modification (`post_modified`), chacune accessible via une fonction de template dédiée. Le travail consiste simplement à afficher les deux de façon claire, sans confondre l'une avec l'autre.

## Les deux fonctions à connaître

`get_the_date()` renvoie la date de publication initiale de l'article, celle qui ne change jamais après la première mise en ligne (sauf modification manuelle explicite de cette date par un éditeur). `get_the_modified_date()` renvoie la date de la dernière sauvegarde effective du contenu, mise à jour à chaque enregistrement de l'article, qu'il s'agisse d'une correction mineure ou d'une révision complète :

```
<p>
    Publié le <?php echo esc_html( get_the_date( 'j F Y' ) ); ?>
</p>
```

## N'afficher la mention que si un écart réel existe

> L'essentiel à retenir : get_the_date et get_the_modified_date répondent à deux questions différentes ; N'afficher la mention que si un écart réel existe ; Un seuil minimal évite d'afficher une mise à jour pour une simple faute corrigée

Afficher systématiquement les deux dates, même quand elles sont identiques ou séparées de quelques minutes seulement, n'apporte rien et alourdit inutilement l'affichage. Une comparaison avec un seuil minimal (ici, un jour d'écart) filtre les cas où la mise à jour est trop proche de la publication pour être significative :

```
function bricolage_afficher_dates_completes() {
    $date_publication = get_the_date( 'U' );
    $date_modification = get_the_modified_date( 'U' );

    $ecart_en_jours = ( $date_modification - $date_publication ) / DAY_IN_SECONDS;

    echo '<p>Publié le ' . esc_html( get_the_date( 'j F Y' ) ) . '</p>';

    if ( $ecart_en_jours >= 1 ) {
        echo '<p><em>Mis à jour le ' . esc_html( get_the_modified_date( 'j F Y' ) ) . '</em></p>';
    }
}
```

Ce seuil d'un jour reste un choix éditorial, pas une règle universelle : sur un site où les corrections de dernière minute sont fréquentes et sans grand intérêt pour le lecteur (coquille corrigée deux heures après publication), un seuil plus large, de plusieurs jours voire d'une semaine, évite d'afficher une mention « mis à jour » pour une modification anecdotique.

### Attention aux mises à jour automatiques non éditoriales

Un piège fréquent avec cette approche : certaines actions non éditoriales déclenchent aussi une mise à jour de `post_modified`, par exemple l'enregistrement automatique d'un article suite à l'ajout d'un commentaire via certains plugins, ou une resynchronisation déclenchée par une extension de cache. Si le site affiche une mention « mis à jour » à chaque déclenchement de ce type sans changement réel du contenu, la mention perd sa crédibilité. Une meta dédiée, mise à jour uniquement lors d'une action éditoriale volontaire (un bouton « Marquer comme mis à jour » dans l'écran d'édition), offre un contrôle plus fin que la date technique brute :

```
add_action( 'add_meta_boxes', function () {
    add_meta_box( 'derniere_maj_editoriale', 'Mise à jour du contenu', function ( WP_Post $post ) {
        $derniere_maj = get_post_meta( $post->ID, '_derniere_maj_editoriale', true );
        printf(
            '<p>%s</p><label><input type="checkbox" name="marquer_maj" value="1"> Marquer cette sauvegarde comme une mise à jour visible pour les lecteurs</label>',
            $derniere_maj ? 'Dernière mise à jour marquée : ' . esc_html( $derniere_maj ) : 'Aucune mise à jour marquée pour le moment.'
        );
    }, 'post', 'side' );
} );

add_action( 'save_post', function ( $post_id ) {
    if ( ! empty( $_POST['marquer_maj'] ) ) {
        update_post_meta( $post_id, '_derniere_maj_editoriale', current_time( 'j F Y' ) );
    }
} );
```

## Exposer aussi la date dans les données structurées

Au-delà de l'affichage visible, les moteurs de recherche s'appuient sur les balises de données structurées pour distinguer les deux dates, via les propriétés `datePublished` et `dateModified` du schéma `Article`. Un site qui ne renseigne que `datePublished`, même quand le contenu est régulièrement révisé, se prive d'un signal de fraîcheur que les moteurs de recherche savent exploiter :

```
<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Article",
    "datePublished": "<?php echo esc_js( get_the_date( 'c' ) ); ?>",
    "dateModified": "<?php echo esc_js( get_the_modified_date( 'c' ) ); ?>"
}
</script>
```

Le format `'c'` passé à ces deux fonctions produit une date au format ISO 8601, le format attendu par les données structurées de type `schema.org`.

- Ne confondez jamais l'affichage visible pour le lecteur et les données structurées destinées aux moteurs de recherche : les deux doivent rester cohérents entre eux.
- Choisissez un seuil d'écart adapté à la fréquence réelle de vos corrections mineures, pas une valeur arbitraire copiée d'un autre projet.
- Testez l'affichage sur un article jamais modifié depuis sa publication, pour vérifier que la mention ne s'affiche pas à tort.

> Sur les sites à contenu pérenne régulièrement révisé, je considère la mention « mis à jour le », bien affichée, comme un signal de confiance au moins aussi important que la date de publication elle-même : elle dit au lecteur que quelqu'un continue de veiller sur ce contenu.

## Le point à retenir

Cette distinction entre date de publication et date de modification s'appuie entièrement sur des fonctions natives de WordPress, sans extension nécessaire. Le vrai travail consiste à décider, éditorialement, quand une mise à jour mérite d'être signalée au lecteur — la technique, elle, ne demande que quelques lignes une fois cette décision prise.
