PrestaShop Gestión de catálogo

Limpieza HTML de Descripciones de Productos y Categorías: Eliminar el Código Word, los Estilos Inline y las Etiquetas Vacías (PrestaShop 8 y 9)

Elimine el código Word, los estilos inline y las etiquetas vacías de sus descripciones, sin tocar el texto.

Las descripciones pegadas desde Word, Google Docs o un editor WYSIWYG antiguo arrastran kilobytes de código invisible: clases MsoNormal, estilos inline que imponen Calibri de 11 puntos, etiquetas o:p vacías, comentarios condicionales de Office, series de espacios de no separación. Este módulo recorre sus descripciones de productos y categorías, retira lo que no pinta nada ahí y deja el texto intacto. Primero lanza una simulación que no escribe nada, compara diez ejemplos antes/después y después limpia de verdad, con copia de seguridad y vuelta atrás posible.

De un vistazo
  • Limpia las descripciones de productos y categorías, además de páginas CMS, marcas y proveedores
  • Retira el código de Microsoft Word, los estilos inline, las clases de editor y las etiquetas vacías
  • Simulación sin escritura, con diez ejemplos antes/después y el peso ahorrado
  • Procesamiento por lotes AJAX: un catálogo grande pasa sin timeout de PHP
  • Cada valor sobrescrito se guarda, una ejecución entera se restaura con un clic
PrestaShop 8 y 9 Simulación antes de escribir Restauración con 1 clic Multitienda Código fuente incluido
  • Reembolso de 30 días
  • 12 meses de actualizaciones
  • Soporte 24h
www.datafirefly.com/es/
Limpieza del HTML de las descripciones de productos PrestaShop: código de Word, estilos en línea y etiquetas vacías eliminados
v1.0.1 · actualizado 2026-07-27
Qué hace

La versión corta.

01

El código Word se va, el texto se queda

Comentarios condicionales, islas XML, etiquetas o:p y w:WordDocument, clases MsoNormal, propiedades mso-: lo que Word deja detrás se identifica y se elimina. En una descripción tipo pegada desde Word, el peso baja de 56 KB a 24 KB.

02

Lo ve antes de escribirlo

El botón Simular recorre el catálogo sin modificar nada y le devuelve el número de fichas afectadas, el peso ahorrado y diez ejemplos antes/después mostrados uno al lado del otro, cada uno con un enlace directo a la ficha.

03

Sus vídeos, tablas y bloques de código sobreviven

Los iframes de YouTube, Vimeo, Dailymotion y Google Maps se conservan con sus dimensiones y su atributo allowfullscreen, y la lista de dominios de confianza es modificable. Las celdas de tabla vacías no se eliminan, y el contenido de las etiquetas pre y code nunca se reformatea.

04

Se puede relanzar sin riesgo

El motor es idempotente: volver a limpiar una descripción ya procesada la deja idéntica byte a byte. Una ficha sana nunca se reescribe, su fecha de modificación no se mueve.

05

Vuelta atrás con un clic

Cada valor sobrescrito se copia en una tabla dedicada, agrupado por ejecución. El panel Copias de seguridad devuelve una ejecución entera a su estado anterior sin pasar por la base de datos. La retención es configurable y la purga automática.

La versión larga

Todo lo que querrías saber antes de instalar.

Una mirada detallada a cómo funciona Limpieza HTML de Descripciones de Productos y Categorías: Eliminar el Código Word, los Estilos Inline y las Etiquetas Vacías (PrestaShop 8 y 9), por qué lo construimos así y la lógica detrás de las características anteriores.

§ 01

Lo que el módulo elimina

Una descripción pegada desde Word llega con un comentario condicional de Office en la cabecera, una isla XML, párrafos con la clase MsoNormal, estilos inline que imponen una fuente y un tamaño, etiquetas o:p vacías y series de tres espacios de no separación. Nada de eso se ve en la ficha, pero todo está almacenado en la base de datos, se envía a cada visitante y lo lee Google. El módulo reconoce esos patrones y los elimina. El texto, los enlaces, las listas, las tablas y las imágenes se conservan.

§ 02

Un analizador de verdad, no una expresión regular

La limpieza pasa por DOMDocument. El documento se reconstruye, lo que de paso repara las etiquetas sin cerrar y los anidamientos incorrectos en lugar de romperlos más. Dos pasadas de expresiones regulares enmarcan el análisis DOM, únicamente para lo que un analizador no sabe representar: comentarios condicionales, islas XML, etiquetas con espacio de nombres. Si el análisis falla sobre un contenido inhabitual, el módulo devuelve el valor original sin tocarlo.

§ 03

Simulación, lotes, copia de seguridad

El procesamiento se hace por lotes en AJAX, con barra de progreso y botón de parada. El tamaño de lote baja hasta 5 registros en los alojamientos limitados, lo que evita el timeout de PHP incluso en un catálogo de varias decenas de miles de fichas. En modo simulación no se escribe nada: obtiene los contadores, el peso ahorrado y diez comparaciones antes/después. En modo real, cada valor sustituido se copia en la tabla de copias de seguridad con un identificador de ejecución, lo que permite devolverlo todo a su sitio desde el back office.

§ 04

Lo que el módulo no rompe

Los iframes de proveedores de confianza conservan sus atributos allow y allowfullscreen y sus dimensiones; la comprobación se hace sobre el dominio real, así que una dirección del tipo youtube.com.ejemplo.tld se rechaza. Las celdas de tabla vacías se preservan para no deformar la maquetación. El contenido de las etiquetas pre, code y textarea escapa a la normalización de espacios. Y el motor es idempotente: relanzar la limpieza sobre una ficha ya procesada no produce ninguna modificación, ni fechas de actualización parásitas.

§ 05

Limpieza al guardar

Una opción aplica las mismas reglas cada vez que se guarda un producto o una categoría en el back office, mediante los hooks disparados antes de la escritura del objeto. Está desactivada por defecto: conviene validar las reglas en simulación antes de aplicarlas de forma continua. Este modo no crea entrada de copia de seguridad, a diferencia del procesamiento por lotes.