Annonces immobilières sur WordPress : les mentions obligatoires et comment les structurer

Une annonce immobilière publiée sur le site d'une agence est soumise aux mêmes règles qu'une affiche en vitrine ou qu'une annonce sur un portail. La différence, c'est que sur votre site, personne ne vérifie à votre place : si le champ « classe climat » n'existe pas dans votre modèle d'annonce, il ne sera jamais rempli.
Le principe : une mention obligatoire est un champ obligatoire
La plupart des oublis ne viennent pas d'une méconnaissance de la loi, mais du modèle de saisie. Un négociateur pressé remplit ce qu'on lui présente. Si chaque mention légale correspond à un champ dédié, si possible obligatoire et contrôlé, l'annonce sera complète par construction. C'est la logique de cet article : pour chaque obligation, la règle, puis le champ qui la porte.
1. Le diagnostic de performance énergétique
Le ministère de la Transition écologique résume l'obligation dans sa page consacrée au DPE : toute annonce de vente ou de location d'un bien soumis au DPE mentionne au minimum les lettres des classes énergie et climat, ainsi que la mention « logement à consommation énergétique excessive » lorsque le bien est concerné. Depuis le 1er janvier 2022, l'annonce doit aussi afficher une estimation des dépenses annuelles théoriques d'énergie, sous forme de fourchette. Le ministère précise que tous les supports sont concernés, internet compris, et qu'un professionnel qui manque à cette obligation encourt une amende administrative allant jusqu'à 3 000 euros pour une personne physique et 15 000 euros pour une personne morale.
Champs à prévoir :
dpe_energieetdpe_climat: listes de A à G, plus une valeur « non soumis » pour les biens exemptés (et une case pour justifier l'exemption) ;depenses_minetdepenses_maxen euros, avecdepenses_annee_ref: l'année de référence des prix de l'énergie figure dans le DPE et doit accompagner la fourchette ;- la mention « logement à consommation énergétique excessive », générée automatiquement par le modèle selon la classe, plutôt que tapée à la main.
Une étiquette en image est agréable à l'œil, mais doublez-la toujours de texte : les lettres doivent être lisibles par un lecteur d'écran et par les moteurs de recherche.
2. Les risques : la phrase Géorisques
Depuis le 1er janvier 2023, les annonces de vente et de location doivent indiquer où trouver l'information sur les risques auxquels le bien est exposé, avec une phrase du type : « Les informations sur les risques auxquels ce bien est exposé sont disponibles sur le site Géorisques : www.georisques.gouv.fr ». C'est le cas typique du texte fixe qui n'a rien à faire dans un champ libre : placez-le dans le modèle d'annonce lui-même (le gabarit de l'extension ou du thème), pour qu'il s'affiche sur toutes les fiches, y compris les anciennes.
3. Le prix et les honoraires
L'arrêté du 10 janvier 2017 sur l'information des consommateurs fixe la présentation du prix. Quand les honoraires sont à la charge de l'acquéreur, l'annonce affiche le prix honoraires inclus, le prix hors honoraires et le montant des honoraires exprimé en pourcentage du prix hors honoraires. Quand ils sont à la charge du vendeur, le prix affiché suffit, avec cette précision. En location, l'annonce indique le loyer mensuel charges comprises, le montant des charges et leur mode de règlement, le dépôt de garantie, la surface habitable et les honoraires TTC à la charge du locataire, dont ceux de l'état des lieux.
Ici, la règle d'or est de ne saisir qu'un nombre et de faire calculer les autres. Un champ prix_hors_honoraires, un champ honoraires_pct et un champ honoraires_charge (vendeur ou acquéreur) suffisent : le prix honoraires inclus se calcule à l'affichage, et ne peut donc jamais contredire les deux autres. Un petit filtre sur le contenu de la fiche, ou une fonction de votre thème enfant, fait le calcul :
function hk_prix_ttc( $post_id ) {
$hors = (float) get_post_meta( $post_id, 'prix_hors_honoraires', true );
$pct = (float) get_post_meta( $post_id, 'honoraires_pct', true );
return round( $hors * ( 1 + $pct / 100 ) );
}
Affichez ensuite les montants avec number_format_i18n(), qui respecte les séparateurs français (espace pour les milliers, virgule pour les décimales) lorsque le site est réglé en français. Et vérifiez que le pourcentage affiché correspond au barème publié sur le site.
4. La copropriété
Pour un lot de copropriété mis en vente, le code de la construction et de l'habitation impose d'indiquer que le bien est soumis au statut de la copropriété, le nombre de lots, le montant moyen annuel de la quote-part de charges courantes payée par le vendeur et, le cas échéant, les procédures en cours concernant le syndicat des copropriétaires. Quatre champs, donc : copro (oui/non), copro_lots, copro_charges_annuelles et copro_procedure. Le modèle n'affiche le bloc que si la case « copropriété » est cochée, mais refuse la publication si elle l'est et que les autres champs sont vides.
5. L'encadrement des loyers
Dans les communes où l'encadrement des loyers s'applique (Paris, Lille, Lyon, Villeurbanne, Montpellier, Bordeaux et plusieurs autres territoires), les annonces de location doivent aussi indiquer le loyer de référence majoré et, s'il y en a un, le complément de loyer. Le dispositif est expérimental, sa durée a déjà été prolongée par la loi et la liste des communes évolue : vérifiez qu'il s'applique toujours chez vous, et plutôt que de coder la règle ville par ville, prévoyez deux champs facultatifs et une case « commune soumise à l'encadrement » qui les rend obligatoires.
Rendre les champs vraiment obligatoires
Les extensions d'annonces les plus répandues proposent toutes des champs personnalisés ; ce qui manque souvent, c'est le contrôle avant publication. Deux approches simples :
- Un contrôle côté éditeur : avec l'éditeur de blocs, une petite extension peut verrouiller le bouton « Publier » tant qu'un champ requis est vide (la fonction JavaScript
lockPostSavingdu paquet@wordpress/datasert à cela). - Un contrôle côté serveur, plus robuste : sur le crochet
wp_insert_post_data, si l'annonce passe au statut « publié » sans ses champs obligatoires, on la remet en brouillon et on affiche un avertissement à l'auteur.
Dans les deux cas, testez avec un compte de rôle « Auteur » ou « Éditeur » : ce sont eux qui saisissent les annonces au quotidien, pas l'administrateur.
Les annonces importées depuis un logiciel de transaction
Beaucoup d'agences ne saisissent rien dans WordPress : un logiciel de transaction envoie les annonces au site par une passerelle (flux XML ou API). Dans ce cas, les mentions doivent exister dans le logiciel source, et la passerelle doit les transporter. Ouvrez une annonce importée et vérifiez, champ par champ, que la classe climat, la fourchette de dépenses, les charges de copropriété et la phrase Géorisques arrivent bien jusqu'à la fiche publiée. Un champ que la passerelle ignore est un champ qui manque sur toutes vos annonces à la fois.
Les anciennes annonces
Un bien vendu en 2021 et resté en ligne avec la mention « vendu » ne porte souvent ni fourchette de dépenses ni phrase Géorisques. Deux options honnêtes : retirer les annonces de biens vendus après quelques mois (en renvoyant leurs adresses vers la page des biens vendus ou de la ville par une redirection 301), ou les compléter. Laisser des centaines de fiches incomplètes et périmées n'aide ni les visiteurs ni le référencement. Le guide en anglais sur les redirections dans WordPress détaille la mise en place des 301.
Ces champs supplémentaires alourdissent un peu la fiche ; l'article sur la vitesse d'un site immobilier montre comment garder des pages légères malgré des dizaines de photos.
Obligations légalesMentions légales d'une agence
Identité, hébergeur, carte T, garant, médiateur, barème : la liste complète et où la mettre dans WordPress.
Sites d'agenceUn site immobilier rapide
Photos de biens, cartes, extensions : ce qui ralentit un site d'agence, et les réglages WordPress qui le corrigent.
Sites d'agenceSite d'un agent indépendant
Mentions, règles du réseau, avis clients, estimation : un site WordPress simple et en règle pour un mandataire.