Dokumentation · Systemvoraussetzungen
WordPress-Anforderungen
Einführung
ADP Car Market Hub ist ein natives WordPress-Plugin. Es bringt kein eigenes CMS, keinen Page Builder und kein eigenes Frontend-Framework mit – stattdessen verlässt es sich auf Standard-WordPress-Mechanismen (Custom Post Types, Taxonomien, die Mediathek, REST-API, WP-Cron, Capabilities und Nonces).
Dieses Dokument beschreibt alles, was ADP Car Market Hub von der WordPress-Installation erwartet, auf der es ausgeführt wird: unterstützte WordPress-Versionen, erforderliche Administratorrechte, Permalink-Verhalten, Nutzung der Mediathek, Cron-Abhängigkeiten und bekannte Kompatibilitätsaspekte.
Wann Sie dieses Dokument verwenden sollten
Verwenden Sie dieses Dokument, wenn Sie:
- Bestätigen müssen, dass eine bestehende WordPress-Website das Plugin hosten kann.
- Benutzerrollen und Berechtigungen (Capabilities) für ein Autohaus-Team konfigurieren.
- Permalink-, Medien- oder Caching-Einstellungen für eine neue Website planen.
- Die Plugin-Kompatibilität prüfen, bevor Sie zusätzliche Plugins neben ADP Car Market Hub installieren.
Übersicht
ADP Car Market Hub integriert sich wie folgt in WordPress:
- Registriert einen Custom Post Type
as24ci_carmit einer eigenen Berechtigungsstruktur (as24ci_car/as24ci_cars) und 15 Fahrzeug-Taxonomien. - Registriert eine benutzerdefinierte Berechtigung
manage_as24_importsund eine Rolle „AS24 Editor“ für die delegierte Verwaltung; Administratoren behalten stets vollen Zugriff. - Speichert Fahrzeugbilder als Standard-WordPress-Anhänge in der Mediathek.
- Fügt eine Admin-Seite (das Menü „ADP Car Market Hub“) mit mehreren Tabs hinzu (Einstellungen, Automatisierung, Mapping, KI-Assistent, Systemstatus, Tools usw.).
- Nutzt WP-Cron für geplante Importe und stellt einen Token-gesicherten REST-Endpunkt unter
/as24ci/v1/cron-importfür externe Trigger bereit. - Fügt Shortcodes (Fahrzeug-Archiv, Vergleich, Favoriten usw.) und Template-Overrides unter
templates/hinzu, damit Themes das Frontend anpassen können. - Liest die Templates des aktiven Themes und die Standard-
single-{post-type}.php- /archive-{post-type}.php-Hierarchie aus.
Anforderungen
WordPress-Version
- Mindestens: WordPress 6.2 (
Requires at least: 6.2im Plugin-Header undreadme.txt). - Getestet bis: WordPress 6.9 (
Tested up to: 6.9inreadme.txt). - Empfohlen: Führen Sie immer die neueste stabile WordPress-Version auf einem unterstützten Zweig aus und halten Sie WordPress-Sicherheitsupdates aktiviert.
Multisite
Das Plugin wurde für Single-Site-WordPress-Installationen entwickelt und getestet. Die netzwerkweite Aktivierung in einer Multisite-Umgebung ist kein dokumentierter Anwendungsfall; installieren und aktivieren Sie es stattdessen auf den einzelnen Websites.
Administrator-Berechtigungen
Es sind zwei verschiedene Berechtigungsebenen beteiligt:
- Installation und globale Konfiguration erfordern
manage_options(d. h. einen Administrator). Das Plugin verwendetcurrent_user_can( 'manage_options' ), um Berechtigungsmigrationen und kritische Tools abzusichern. - Die tägliche Plugin-Verwaltung wird durch die benutzerdefinierte Berechtigung
manage_as24_importsgesteuert. Bei der Aktivierung weist das Plugin diese Berechtigung (zusammen mit den vollständigenas24ci_car- /as24ci_cars-CPT-Berechtigungen) der Administrator-Rolle und der dafür erstellten dedizierten Rolle „AS24 Editor“ zu. Die Standard-WordPress-Rolle „Redakteur“ (Editor) erhält diese Berechtigungen standardmäßig nicht. - Alle Admin-POST-Aktionen, AJAX-Handler und Dashboard-Widgets prüfen die Berechtigung erneut und verifizieren ein WordPress-Nonce. Abgesicherte Websites (benutzerdefinierte Rollen, Plugins zur Rollenverwaltung, restriktive Admin-Richtlinien) müssen daher jedem Benutzer, der Importe ausführen oder Plugin-Einstellungen ändern soll,
manage_as24_importsgewähren.
Permalinks
- „Sprechende Links“ (Pretty Permalinks) müssen aktiviert sein. Jede Einstellung außer „Einfach“ (Plain) ist in Ordnung (Tag und Name, Monat und Name, Beitragsname, Benutzerdefiniert).
- Der Custom Post Type
as24ci_carwird mit Rewrite-Regeln registriert. Rufen Sie nach der Aktivierung des Plugins oder nach dem Ändern seiner Slug-Optionen einmal Einstellungen → Permalinks auf und klicken Sie auf Änderungen speichern, um die Rewrite-Regeln neu zu generieren. - Der Token-gesicherte REST-Endpunkt
/as24ci/v1/cron-importwird ebenfalls über die Standard-WordPress-REST-API registriert und funktioniert, sobald die REST-API selbst erreichbar ist.
Mediathek
- Fahrzeugbilder werden als Standard-WordPress-Anhänge importiert und in
wp-content/uploads/unter der normalen Jahr/Monat-Struktur abgelegt. - Das Plugin berücksichtigt die WordPress-Einstellungen zur Bildverarbeitung: Thumbnail-Größen, Zwischengrößen, Bild-Editor (GD oder Imagick) und Upload-Pfade.
- Die optionale WebP-Konvertierung nutzt dieselbe Bildbibliothek (GD oder Imagick), für die auch WordPress konfiguriert ist.
- Eine Einstellung für die maximale Anzahl an Bildern pro Fahrzeug begrenzt, wie viele Anhänge pro Auto erstellt werden. Das Plugin dedupliziert Bilder anhand der Quell-URL, sodass Re-Importe keine Duplikate erzeugen.
- Das Löschen eines Fahrzeugs über das Plugin (oder über einen Full Sync) entfernt auch die zugehörigen Anhänge, um die Mediathek sauber zu halten.
- Hotlinking-Schutz, CDN-Offload-Plugins (z. B. Verschieben von Uploads nach S3) und Bildoptimierer sind kompatibel, solange sie sich in den Standard-WordPress-Lebenszyklus für Anhänge einklinken.
Cron-Abhängigkeit
- Geplante Importe basieren auf WP-Cron. Das Plugin registriert zusätzlich zu den WordPress-Standardintervallen ein weiteres Intervall (alle 6 Stunden) und ein konfigurierbares benutzerdefiniertes Intervall (mindestens 15 Minuten).
- Websites mit geringem oder unregelmäßigem Traffic sollten den standardmäßigen Cron-Aufruf beim Seitenaufruf deaktivieren und WP-Cron über einen echten System-Cron (OS Cron) triggern oder den Token-gesicherten REST-Endpunkt
/as24ci/v1/cron-importüber einen externen Scheduler aufrufen. - Eine interne Importsperre (Transient, 40 Minuten TTL) verhindert, dass sich zwei Cron-Durchläufe überschneiden. Dadurch sind externe Trigger im 5-Minuten-Takt sicher.
- Andere Cron-basierte Plugins (Action Scheduler, WooCommerce, Backup-Plugins) koexistieren ohne Konflikte; das Plugin verwendet eigene dedizierte Hook-Namen unter dem Präfix
as24ci_.
Aspekte zur Plugin-Kompatibilität
- SEO-Plugins: Der KI-Assistent schreibt Meta-Titel und Meta-Beschreibungen in den Formaten, die von Yoast SEO und Rank Math erwartet werden.
- Caching-Plugins: Page-Caches sind kompatibel. Schließen Sie die WordPress-Admin-Seiten und die REST-Route
/as24ci/v1/cron-importvom Caching aus. Objekt-Caches (Redis, Memcached) werden über die Standard-WordPress-Cache-API unterstützt. - Sicherheits-Plugins / WAFs: Erlauben Sie ausgehende HTTPS-Verbindungen zu AutoScout24 (und zum verwalteten Google Gemini-Endpunkt, wenn KI-Funktionen aktiviert sind) und blockieren Sie keine POST-Anfragen an die Admin-Seiten des Plugins oder an dessen REST-Endpunkt. Das Cron-Token muss wie im Tab „Import & Limits“ dokumentiert in der Anfrage enthalten sein.
- Page Builder / Block-Themes: Einzelne Fahrzeugseiten und Archivseiten werden über Standard-WordPress-Templates und Shortcodes gerendert. Jedes Theme – ob klassisch oder blockbasiert –, das die Template-Hierarchie respektiert, funktioniert somit problemlos.
- Übersetzungs-Plugins: Das Plugin ist unter der Textdomain
adp-car-market-hub(languages/) vollständig internationalisiert. Übersetzungs-Plugins, die mit Standard-WordPress-Strings arbeiten, funktionieren wie erwartet.
Empfohlenes Produktions-Setup
- Neueste stabile WordPress-Version mit aktivierten automatischen Minor-Updates.
- Sprechende Links (Pretty Permalinks) eingestellt auf Beitragsname oder Benutzerdefiniert.
- Ein Administrator-Konto, das ausschließlich für die Plugin-Wartung reserviert ist, sowie ein oder mehrere „AS24 Editor“-Benutzer für die tägliche Arbeit.
- Ein echter Cron-Job auf Betriebssystemebene, der
wp-cron.php(oder den REST-Cron-Endpunkt) alle 5–15 Minuten triggert, wobeiDISABLE_WP_CRONauftruegesetzt ist. - Ein Theme mit erstklassiger Unterstützung für Custom-Post-Type-Templates oder ein Child-Theme, das die Templates des Plugins bei Bedarf überschreibt.
- Objekt-Cache (Redis oder Memcached) auf stark frequentierten Websites, um Admin-Tabs zu beschleunigen, die Analytics- oder Lead-Daten aggregieren.
Betriebshinweise
- Generieren Sie die Rewrite-Regeln neu (Einstellungen → Permalinks → Speichern) nach jedem Plugin-Update, das die URL-Struktur ändert, oder nach dem Umzug in eine andere Umgebung.
- Das Plugin schreibt nur in seine eigenen Options-Keys (
as24ci_*), seine eigenen benutzerdefinierten Tabellen, die Standard-WordPress-Tabellen (posts/postmeta/terms) füras24ci_carund in die WordPress-Mediathek. Das Entfernen des Plugins überuninstall.phpbereinigt seine eigenen Daten. - Die benutzerdefinierte Rolle „AS24 Editor“ und die Berechtigung
manage_as24_importswerden bei der Aktivierung und bei Upgrades der Berechtigungsversion überPlugin::ensure_roles_and_caps()verwaltet; Administratoren, die Plugins zur Rollenverwaltung nutzen, sollten diese nicht löschen, während das Plugin aktiv ist. - Die Frontend-Ausgabe richtet sich nach dem aktiven Theme. Um Fahrzeug-Templates tiefgreifend anzupassen, kopieren Sie die Dateien aus dem Verzeichnis
templates/des Plugins in Ihr Child-Theme.
Fehlerbehebung
- 404-Fehler auf dem Fahrzeug-Archiv oder auf Einzelseiten: Rufen Sie Einstellungen → Permalinks auf und klicken Sie auf Speichern. Stellen Sie sicher, dass die Permalinks nicht auf „Einfach“ eingestellt sind.
- Admin-Menü für einen Nicht-Admin-Benutzer nicht sichtbar: Überprüfen Sie, ob die Rolle des Benutzers über die Berechtigung
manage_as24_importsverfügt. - Import-Buttons geben „Zugriff verweigert“ oder Nonce-Fehler zurück: Laden Sie die Admin-Seite neu (Nonces laufen nach 24 Stunden ab) und stellen Sie sicher, dass der Benutzer
manage_as24_importsbesitzt. - Geplante Importe werden nie ausgeführt: Stellen Sie sicher, dass WP-Cron erreichbar ist, oder wechseln Sie zu einem externen Cron-Trigger (
wp-cron.phpoder dem REST-Endpunkt mit dem konfigurierten Token). - Bilder fehlen in der Mediathek: Überprüfen Sie die Einstellung Maximale Anzahl an Bildern pro Fahrzeug, den freien Speicherplatz auf der Festplatte und den Status der Bildwarteschlange im Tab „Import & Limits“.
- REST-Endpunkt gibt 401 zurück: Stellen Sie sicher, dass die Anfrage das konfigurierte Cron-Token enthält und kein Sicherheits-Plugin Query- oder Header-Parameter herausfiltert.