DataFirefly All in One SEO — Vollständige Dokumentation
Premium All-in-One-SEO-Modul für PrestaShop 8 und 9: dynamische Meta, JSON-LD-Schemas, mehrsprachige Sitemap, Weiterleitungen, 404, intelligente robots.txt, Tracking und Content-Analyzer.
Premium All-in-One-SEO-Suite für PrestaShop 8 und 9: dynamische Meta-Vorlagen, vollständige JSON-LD-Schemas, mehrsprachige XML-Sitemap, Weiterleitungen, 404-Monitoring, Open Graph und Twitter Cards, GA4 und GTM, intelligente robots.txt mit KI-Crawler-Blockierung und Content-Analyzer — alles in einem einzigen Modul.
Voraussetzungen
- PrestaShop: 8.0 bis 9.x
- PHP: 8.1 oder höher (8.2 und 8.3 empfohlen)
- MySQL: 5.7+ oder MariaDB 10.3+
- productcomments-Modul (offiziell PrestaShop): optional, nur für AggregateRating bei Produkten erforderlich
- mod_rewrite aktiviert auf Apache (oder Nginx-Äquivalent) für umgeschriebene URLs
id_shop gescoped. Sie können vollständig unterschiedliche Konfigurationen pro Shop haben.Installation
- Laden Sie
dfallinoneseo-vX.Y.Z.zipaus Ihrem DataFirefly-Kundenbereich herunter. - Melden Sie sich im PrestaShop-Back-Office an.
- Gehen Sie zu Module → Module Manager.
- Klicken Sie oben rechts auf Modul hochladen.
- Ziehen Sie die ZIP-Datei per Drag-and-Drop oder klicken Sie auf Datei auswählen.
- Die Installation erstellt automatisch die 11 SQL-Tabellen, registriert die Hooks und fügt das Menü Verbessern → DataFirefly SEO hinzu.
10-Minuten-Erstkonfiguration
- Einstellungen → Allgemein: aktivieren Sie das Modul, geben Sie den Site-Namen und das „Startseite“-Label für den Breadcrumb an.
- Meta & Vorlagen: definieren Sie mindestens eine Produkt-Vorlage und eine Kategorie-Vorlage.
- Schema → Organisationsidentität: füllen Sie Logo, Telefon, E-Mail, Adresse und Social-Media-URLs aus (
sameAs). - Sitemap: aktivieren Sie die Sitemap und klicken Sie auf Jetzt neu generieren.
- Tracking: fügen Sie Ihre GA4 Measurement ID und/oder GTM ID hinzu.
- Tracking → Verifizierungen: fügen Sie den Google Search Console-Verifizierungswert ein.
- Robots.txt: klicken Sie auf Standards laden (PS + KI-Blockierung).
Meta-Vorlagen
Das Modul ersetzt die manuelle Eingabe von meta_title und meta_description durch dynamische Vorlagen pro Entitätstyp. Beim Speichern eines Eintrags mit leeren Metas wird die entsprechende Vorlage automatisch angewendet.
Unterstützte Entitätstypen
- Produkt: Produktseiten (alle Typen einschließlich virtuelle und Pakete)
- Kategorie: Kategorieseiten
- CMS-Seite: statische Inhaltsseiten
- Marke / Hersteller: Herstellerseiten
- Lieferant: Lieferantenseiten
- Startseite: Shop-Startseite
- Generische Seiten:
/contact,/sitemap, etc.
Verfügbare Tokens
{shop_name}— Shop-Name{sep}— Trenner (Standard|){product_name}— Produktname (aktuelle Sprache){product_reference}— interne Referenz{product_sku}— Alias für Referenz{product_ean13}— EAN13-Barcode{product_brand},{brand}— Hersteller/Marke{category}— Standardkategorie (Produkt) oder Kategoriename (Kategorieseite){category_parent}— Elternkategoriename{category_description}— Kurzbeschreibung (max. 160 Zeichen){short_description}— Produkt-Kurzbeschreibung (max. 160 Zeichen){price}— Preis inkl. MwSt. formatiert mit Währung{price_tax_excl}— Preis exkl. MwSt. formatiert{title}— CMS-Seitentitel{summary}— CMS-Inhaltsauszug (max. 160 Zeichen)
Bedingte Blöcke
Um ein leeres Token nicht zu rendern, verwenden Sie die bedingte Syntax:
{?product_brand}{product_brand} | {/?}{product_name} - {shop_name}
Wenn product_brand leer ist, wird der gesamte Block zwischen {?token} und {/?} entfernt.
Empfohlene Vorlagenbeispiele
Produkt:
Title: {?product_brand}{product_brand} {/?}{product_name} - {category} | {shop_name}
Description: Entdecken Sie {product_name}{?product_brand} von {product_brand}{/?}. {short_description} Schneller Versand auf {shop_name}.
Kategorie:
Title: {category} - {?category_parent}{category_parent} - {/?}{shop_name}
Description: Alle Produkte der Kategorie {category} auf {shop_name}. {category_description}
Startseite:
Title: {shop_name} - Online-Shop
Description: Willkommen bei {shop_name}. Entdecken Sie unseren Katalog, schneller Versand, sichere Zahlung.
Überschreibung pro Entität
Um eine bestimmte Seite zu überschreiben, klicken Sie auf das Symbol Meta-Überschreibung im Menü Massenbearbeitung. Die Überschreibungsseite ermöglicht das Setzen von meta_title, meta_description, der Robots-Direktive (z. B. noindex,follow) und eines benutzerdefinierten Canonicals pro Sprache.
JSON-LD-Schemas
Das Modul generiert einen einzigen @graph-Block, der alle Schemas der aktuellen Seite zusammenfasst, validiert durch Google Rich Results Test.
Automatisch generierte Schemas
- Organization — auf allen Seiten, Unternehmensidentität
- WebSite — auf der Startseite, mit
SearchActionfür Sitelinks-Suchbox - LocalBusiness — wenn eine physische Adresse festgelegt ist
- BreadcrumbList — Breadcrumb
- Product — auf Produktseiten, mit
offers,priceValidUntil,gtin13/isbn/mpn - AggregateRating — aggregiert aus dem offiziellen productcomments-Modul
- Article — auf CMS-Seiten
- FAQPage — aus Produkt- oder Seiten-FAQ-Blöcken
Organisationsidentität
Tab Schema → Organisationsidentität. Felder:
- Typ: Organization, Corporation, LocalBusiness, Store, OnlineStore, OnlineBusiness
- Logo: absolute URL (empfohlen 600×60 minimum)
- Telefon, E-Mail: verwendet in
contactPoint - Postanschrift: Straße, PLZ, Stadt, Land (ISO-2)
- sameAs: eine URL pro Zeile
Gültigkeit von Produktangeboten
Das Feld Gültigkeit von Produktangeboten (Tage) steuert den Wert von priceValidUntil in Product.offers. Standard: 60 Tage.
Benutzerdefinierte Schemas
Tab Schema → Benutzerdefinierte Schemas. Geltungsbereiche: global, home, product, product_id, category, category_id, cms, cms_id.
Verfügbare Variablen: {shop_name}, {base_url}, {entity_id}, {entity_type}.
@graph eingefügt. Validieren Sie es vor der Veröffentlichung mit dem Rich Results Test.XML-Sitemap
Das Modul generiert eine XML-Sitemap, die der sitemaps.org-Spezifikation entspricht, mit hreflang auf jeder URL und Bildunterstützung.
Konfiguration
Tab Sitemap. Inhalte: Produkte, Kategorien, CMS-Seiten, Marken, Lieferanten, Bilder, Videos.
Zusätzliche Optionen:
- Out-of-Stock ausschließen: entfernt nicht vorrätige Produkte
- Gzip: generiert auch
.xml.gz-Varianten - URLs pro Datei: Chunk-Größe (empfohlen 5000-10000, max. 50000)
Regenerierung
Manuell aus dem Admin. Zur Automatisierung Cronjob planen:
0 */6 * * * php /var/www/html/index.php fc=module&module=dfallinoneseo&controller=sitemap&action=rebuild
Übermittlung an Suchmaschinen
Klicken Sie auf Suchmaschinen pingen für Google und Bing. Für Google Search Console übermitteln Sie die Sitemap-Index-URL einmal in GSC → Sitemaps.
Sitemap-Index-URL: https://ihr-shop.com/sitemap.xml
Öffentliche HTML-Sitemap
Eine menschenlesbare HTML-Sitemap wird automatisch unter /plan-du-site generiert. Aggregiert Kategorien (Baum), CMS-Seiten, Marken, Lieferanten und die 200 neuesten Produkte.
Weiterleitungen
Das Modul verwaltet HTTP-Weiterleitungen 301, 302, 307, 308 und 410 mit drei Match-Typen.
Match-Typen
- Exakt: die Quell-URL muss exakt übereinstimmen
- Präfix: die Quell-URL ist ein Präfix der angeforderten URL. Nützlich für die Migration ganzer Verzeichnisse.
- Regex: PHP-regulärer Ausdruck. Capture-Gruppen über
$1,$2verfügbar.
Manuelle Erstellung
Tab Weiterleitungen → Neue Weiterleitung. Felder: Quell-URL, Ziel-URL (leer für 410), Match-Typ, HTTP-Code, Query-String beibehalten.
CSV-Import / -Export
source,destination,type,code
/altes-produkt,/neues-produkt,exact,301
/altes-verzeichnis/,/neues-verzeichnis/,prefix,301
/old-(.*),/new-$1,regex,301
Automatische Weiterleitung bei Slug-Änderung
Wenn Einstellungen → Monitoring → Automatische 301-Weiterleitung bei URL-Änderung aktiviert ist, erstellt das Modul automatisch eine 301 bei Slug-Änderung. Das created_by wird als auto:urlchange markiert.
404-Monitoring
Tab 404 Monitor. Erfasst alle 404-URLs mit Deduplizierung, Hit-Zählung, Bot-Erkennung und IP-Hashing (PrestaShops COOKIE_KEY-Salt für DSGVO-Konformität).
Verfügbare Filter
- Ungelöst: URLs ohne abdeckende Weiterleitung (Standardansicht)
- Gelöst: URLs mit nachträglicher Weiterleitung
- Bots: Hits von Bot-User-Agents
- Alle
Weiterleitung mit einem Klick erstellen
Die Schaltfläche Weiterleiten öffnet ein Inline-Formular mit vorausgefüllter Quelle. Die 404 wird automatisch als gelöst markiert.
Purge und Wartung
Schwellenwert Maximale Anzahl beibehaltener 404-Einträge (Standard 5000). Die Schaltfläche Alte 404 purgen entfernt die ältesten ungelösten Einträge.
Dynamische robots.txt
Das Modul liefert eine /robots.txt, die bei jeder Anfrage dynamisch generiert wird.
PrestaShop + KI-Blockierungs-Voreinstellungen
Die Schaltfläche Standards laden (PS + KI-Blockierung):
- Blockiert sensible PrestaShop-Verzeichnisse (
/admin*/,/cache/,/classes/, etc.) - Blockiert technische Seiten (
/cart,/order,/my-account, etc.) - Blockiert KI-Crawler: GPTBot, ClaudeBot, CCBot, Google-Extended, anthropic-ai
- Verweist auf die Sitemap (
Sitemap: /sitemap.xml)
Benutzerdefinierte Regeln
Jede Regel hat einen User-Agent, eine Direktive (Allow, Disallow, Crawl-delay), einen Wert und eine Position. Aktivieren/deaktivieren über die ON/OFF-Pille.
Live-Vorschau
Der Block Vorschau der generierten Datei rendert die robots.txt so, wie sie ausgeliefert wird.
Native llms.txt-Datei
Das Modul liefert eine /llms.txt-Datei gemäß der llmstxt.org-Spezifikation. Listet in Markdown die Hauptabschnitte der Website für respektvolle KI-Crawler auf.
Keine Konfiguration erforderlich — automatisch aus Kategoriebaum, CMS-Seiten und Marken generiert.
Open Graph und Twitter Cards
Tab Social. Das Modul injiziert og:*– und twitter:*-Tags auf allen Seiten.
Einstellungen
- Open Graph und Twitter Cards aktivieren: Master-Switch
- Automatisches og:locale: aus Kontextsprache berechnet (z. B.
de_DE) - Standard-OG-Bild: absolute URL eines 1200×630-Bildes
- og:site_name, Standard-og:type
- Twitter @handle und Kartentyp (
summaryodersummary_large_image) - fb:app_id: Facebook App ID
Tracking: GA4, GTM, Pixel
GA4 und Enhanced Ecommerce
Feld GA4 Measurement ID: Format G-XXXXXXXXXX.
Aktivieren Sie Enhanced Ecommerce für Events view_item, view_item_list, add_to_cart, remove_from_cart, begin_checkout, add_payment_info, purchase.
Aktivieren Sie Consent Mode v2 respektieren für DSGVO-konformes Tracking.
Google Tag Manager
Feld GTM ID: Format GTM-XXXXXXX. GTM-Snippet im head, noscript-Fallback nach body-Öffnung.
Werbe-Pixel
- Facebook Pixel ID: 15 Ziffern
- TikTok Pixel ID: alphanumerisch
Eigentums-Verifizierungen
- Google Search Console
- Bing Webmaster Tools
- Yandex Webmaster
- Baidu
Benutzerdefinierter Head- und Body-End-Code
- Im Head injizierter Code: für Drittanbieter-Skripte
- Vor dem Body-Schließen injizierter Code: für Chat-Widgets, Retargeting
Content-Analyzer
Tab Analyzer. Senden Sie Produkt, Kategorie, CMS-Seite oder rohes HTML an den Analyzer für einen globalen SEO-Score.
Berechnete Metriken
- Globaler SEO-Score (0-100)
- Flesch-Lesbarkeit
- Wortzahl, Satzzahl
- Keyword-Dichte (in %)
- Interne / externe / nofollow-Links
- Bilder ohne Alt-Attribut
- H1-bis-H6-Struktur
- Keyword im Slug und ersten Absatz
Checks
- Title-Länge (50-60 Zeichen)
- Meta-Description-Länge (140-160 Zeichen)
- Slug-Länge
- Body-Länge (mindestens 300 Wörter)
- Mindestens ein Bild mit Alt
- Keyword in Title, erstem Absatz, Slug
- Keyword-Dichte zwischen 0,5 % und 2,5 %
- Mindestens ein H1 und mehrere H2/H3
Massenbearbeitung
Tab Massenbearbeitung. Paginiertes Raster (30 Einträge/Seite) mit Filtern für meta_title, meta_description, link_rewrite.
Verfügbare Filter
- Alle
- Ohne Title
- Ohne Beschreibung
- Suche nach Namen
Vorlagen massenhaft anwenden
Die Schaltfläche Vorlagen anwenden wendet die Vorlage automatisch an. Aktivieren Sie Nur auf leere Felder anwenden, um Überschreiben zu vermeiden.
SEO-Metabox auf der Produktseite
- Live-SEO-Score (7 Checks)
- Google-SERP-Vorschau
- Erkanntes Hauptkeyword
Erweiterte Einstellungen
Indexierung
- Mehrsprachiges hreflang:
link rel="alternate"-Tags - x-default-Strategie: Standardsprache (empfohlen), Englisch, Deaktiviert
- Canonical-URL:
link rel="canonical" - Canonical auf Paginierung: Auf aktueller Seite (empfohlen), Immer auf Seite 1, Kein Canonical
- Automatisches noindex: /search, Warenkorb, Mein Konto, Neuheiten, Bestseller, Sonderangebote, Facetten
- Canonical zur Elternseite bei Facetten
Bilder
- Automatische Alt-Generierung
- Alt-Vorlage: Standard
{product_name} - {shop_name} - Natives Lazyloading:
loading="lazy"unddecoding="async"
Wartung
- Cache leeren: Smarty + PrestaShop
- Alte 404 purgen
- Alle Daten exportieren (JSON)
Multi-Shop
Alle Funktionen sind nach id_shop gescoped.
- Vorlagen: eine Vorlage pro Paar (Entitätstyp, Shop)
- Sitemap: ein eigener sitemap_index pro Shop
- Robots.txt: Regeln pro Shop
- Weiterleitungen: pro Shop
- Benutzerdefinierte Schemas: pro Shop
Fehlerbehebung
Die Sitemap wird nicht generiert
- Ordner
modules/dfallinoneseo/sitemaps/beschreibbar? chmod 755 modules/dfallinoneseo/sitemaps/max_execution_timein php.ini erhöhen bei 50.000+ Produkten
JSON-LD-Schemas erscheinen nicht
- Modul aktiviert?
- Schema-Typ aktiviert?
- PrestaShop-Cache leeren
- HTML-Quelltext inspizieren:
script type="application/ld+json"-Block
301-Weiterleitungen funktionieren nicht
- Modul installiert und aktiviert?
- Weiterleitungen als aktiv markiert?
- Regex auf regex101.com im PCRE-Modus testen
- Prioritätsreihenfolge: exakt → Präfix → Regex (nach absteigendem
hit_count)
GA4 / GTM wird nicht injiziert
- ID-Format korrekt?
- Consent Mode v2: standardmäßig „denied“ bis Zustimmung
headder Seite inspizieren
robots.txt ändert sich nicht
- Statische
robots.txtim Root vorhanden? Löschen. - Friendly URL aktiviert?
SQL-Tabellen-Fehler bei Installation
- MySQL-Benutzer hat
CREATEundALTER? utf8mb4mit Collationutf8mb4_unicode_ciunterstützt?- Tabellenpräfix über 5 Zeichen? Support kontaktieren.
Technische Referenz
Verwendete Hooks
18 Hooks:
displayHeader— Meta, Canonical, hreflang, OG, Twitter, JSON-LD, GA4/GTMdisplayBeforeBodyClosingTag— GTM noscript, FB Pixel noscript, Body-EnddisplayBackOfficeHeader— Back-Office-CSS/JSdisplayAdminProductsExtra— SEO-MetaboxactionDispatcherBefore,actionDispatcherAfter— Routing und 404-ErfassungactionObjectProductAddAfter,actionObjectProductUpdateAfter— Meta-Auto-Fill + Auto-301actionObjectCategoryAddAfter,actionObjectCategoryUpdateAfteractionObjectCmsAddAfter,actionObjectCmsUpdateAfteractionObjectManufacturerUpdateAfter,actionObjectSupplierUpdateAfteractionAdminControllerSetMedia,actionFrontControllerSetMediadisplayProductExtraContentmoduleRoutes—/sitemap.xml,/plan-du-site,/robots.txt,/llms.txt
Hinzugefügte SQL-Tabellen
Präfix df_seo_, utf8mb4, utf8mb4_unicode_ci:
df_seo_meta,df_seo_meta_lang— Meta-Überschreibungendf_seo_template,df_seo_template_lang— Vorlagendf_seo_redirect— Weiterleitungendf_seo_404— 404-Journaldf_seo_score— Score-Snapshotsdf_seo_keyword— Focus Keywordsdf_seo_robots_rule— robots.txt-Regelndf_seo_schema_custom— JSON-LD-Schemasdf_seo_log— Diagnose-Log
Deinstallation
Deinstallation entfernt Hooks und Tabs, aber behält SQL-Tabellen und Daten. Vollständige Purge:
DROP TABLE ps_df_seo_meta, ps_df_seo_meta_lang, ps_df_seo_template, ps_df_seo_template_lang,
ps_df_seo_redirect, ps_df_seo_404, ps_df_seo_score, ps_df_seo_keyword,
ps_df_seo_robots_rule, ps_df_seo_schema_custom, ps_df_seo_log;
DELETE FROM ps_configuration WHERE name LIKE 'DFSEO_%';
Updates und Support
- Updates: 12 Monate inklusive. Optionale jährliche Verlängerung für 49 €.
- Support: 12 Monate per E-Mail, Antwort innerhalb von 48 Werktagstunden.
- Changelog und Downloads auf Ihrem DataFirefly-Kundenkonto.