Alles, was Sie vor der Installation wissen wollen.
Ein detaillierter Blick darauf, wie HTML-Bereinigung für Produkt- und Kategoriebeschreibungen: Word-Code, Inline-Styles und leere Tags entfernen (PrestaShop 8 & 9) funktioniert, warum wir es so gebaut haben und der Gedanke hinter den Funktionen oben.
Was das Modul entfernt
Eine aus Word eingefügte Beschreibung kommt mit einem bedingten Office-Kommentar im Kopf, einer XML-Insel, Absätzen mit der Klasse MsoNormal, Inline-Styles die Schriftart und Größe vorschreiben, leeren o:p-Tags und Ketten aus drei geschützten Leerzeichen. Nichts davon ist auf der Seite sichtbar, aber alles liegt in der Datenbank, geht an jeden Besucher und wird von Google gelesen. Das Modul erkennt diese Muster und entfernt sie. Text, Links, Listen, Tabellen und Bilder bleiben erhalten.
Ein echter Parser statt regulärer Ausdrücke
Die Bereinigung läuft über DOMDocument. Das Dokument wird neu aufgebaut, wodurch nicht geschlossene Tags und falsche Verschachtelungen nebenbei repariert statt weiter beschädigt werden. Zwei Durchgänge mit regulären Ausdrücken rahmen die DOM-Analyse ein, ausschließlich für das, was ein Parser nicht abbilden kann: bedingte Kommentare, XML-Inseln, Tags mit Namensraum. Scheitert die Analyse an ungewöhnlichem Inhalt, gibt das Modul den ursprünglichen Wert unverändert zurück.
Simulieren, stapeln, sichern
Die Verarbeitung läuft in AJAX-Stapeln, mit Fortschrittsbalken und Stopp-Schaltfläche. Die Stapelgröße geht auf Shared Hosting bis auf 5 Datensätze herunter, was das PHP-Timeout selbst bei einem Katalog mit mehreren zehntausend Datensätzen vermeidet. Im Simulationsmodus wird nichts geschrieben: Sie erhalten die Zähler, die eingesparte Größe und zehn Vorher/Nachher-Vergleiche. Im echten Modus wird jeder ersetzte Wert mit einer Durchlaufkennung in die Sicherungstabelle kopiert, sodass sich alles aus dem Backoffice wieder zurücksetzen lässt.
Was das Modul nicht kaputt macht
Iframes vertrauenswürdiger Anbieter behalten ihre allow- und allowfullscreen-Attribute und ihre Abmessungen; geprüft wird die tatsächliche Domain, eine Adresse wie youtube.com.beispiel.tld wird also abgelehnt. Leere Tabellenzellen bleiben erhalten, damit das Layout nicht verrutscht. Der Inhalt von pre-, code- und textarea-Tags entgeht der Leerzeichen-Normalisierung. Und die Engine ist idempotent: ein erneuter Lauf über einen bereits bereinigten Datensatz ändert nichts, es entstehen also keine unnötigen Aktualisierungsdaten.
Bereinigung beim Speichern
Eine Option wendet dieselben Regeln bei jedem Speichern eines Produkts oder einer Kategorie im Backoffice an, über die Hooks, die vor dem Schreiben des Objekts ausgelöst werden. Sie ist standardmäßig aus: die Regeln sollten erst in der Simulation geprüft werden, bevor sie dauerhaft greifen. Dieser Modus legt keinen Sicherungseintrag an, anders als die Stapelverarbeitung.
Es gibt noch keine Rezensionen.