Tout ce que vous voudriez savoir avant d'installer.
Un regard détaillé sur le fonctionnement de Nettoyage HTML des Descriptions Produits & Catégories : Supprimer le Code Word, les Styles Inline et les Balises Vides (PrestaShop 8 & 9), pourquoi nous l'avons conçu ainsi, et la réflexion derrière les fonctionnalités ci-dessus.
Ce que le module retire
Une description collée depuis Word arrive avec un commentaire conditionnel Office en tête, un îlot XML, des paragraphes portant la classe MsoNormal, des styles inline qui imposent une police et une taille, des balises o:p vides et des séries de trois espaces insécables. Rien de tout cela n'est visible sur la fiche, mais tout est stocké en base, envoyé à chaque visiteur et lu par Google. Le module identifie ces motifs et les retire. Le texte, les liens, les listes, les tableaux et les images sont conservés.
Un vrai parseur, pas une expression régulière
Le nettoyage passe par DOMDocument. Le document est reconstruit, ce qui répare au passage les balises non fermées et les imbrications incorrectes plutôt que de les casser davantage. Deux passes par expressions régulières encadrent l'analyse DOM, uniquement pour ce qu'un parseur ne sait pas représenter : commentaires conditionnels, îlots XML, balises namespacées. Si l'analyse échoue sur un contenu inhabituel, le module renvoie la valeur d'origine sans y toucher.
Simulation, lots, sauvegarde
Le traitement se fait par lots en AJAX, avec barre de progression et bouton d'arrêt. La taille de lot descend à 5 enregistrements sur les hébergements contraints, ce qui évite le timeout PHP même sur un catalogue de plusieurs dizaines de milliers de fiches. En mode simulation, rien n'est écrit : vous obtenez les compteurs, le poids économisé et dix comparaisons avant/après. En mode réel, chaque valeur remplacée est copiée dans la table de sauvegarde avec un identifiant d'exécution, ce qui permet de tout remettre en place depuis le back-office.
Ce que le module ne casse pas
Les iframes de fournisseurs de confiance sont conservées avec leurs attributs allow, allowfullscreen et leurs dimensions ; la vérification porte sur le domaine réel, donc une adresse du type youtube.com.exemple.tld est rejetée. Les cellules de tableau vides sont préservées pour ne pas déformer la mise en page. Le contenu des balises pre, code et textarea échappe à la normalisation des espaces. Enfin le moteur est idempotent : relancer le nettoyage sur une fiche déjà traitée ne produit aucune modification, donc aucune date de mise à jour parasite.
Nettoyage à l'enregistrement
Une option applique les mêmes règles à chaque enregistrement d'un produit ou d'une catégorie en back-office, via les hooks déclenchés avant écriture de l'objet. Elle est désactivée par défaut : mieux vaut valider ses règles en simulation avant de les appliquer en continu. Ce mode ne crée pas d'entrée de sauvegarde, contrairement au traitement par lots.
Il n’y a pas encore d’avis.