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_car mit einer eigenen Berechtigungsstruktur (as24ci_car / as24ci_cars) und 15 Fahrzeug-Taxonomien.
  • Registriert eine benutzerdefinierte Berechtigung manage_as24_imports und 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-import fü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.2 im Plugin-Header und readme.txt).
  • Getestet bis: WordPress 6.9 (Tested up to: 6.9 in readme.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 verwendet current_user_can( 'manage_options' ), um Berechtigungsmigrationen und kritische Tools abzusichern.
  • Die tägliche Plugin-Verwaltung wird durch die benutzerdefinierte Berechtigung manage_as24_imports gesteuert. Bei der Aktivierung weist das Plugin diese Berechtigung (zusammen mit den vollständigen as24ci_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_imports gewähren.
  • „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_car wird 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-import wird 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-import vom 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, wobei DISABLE_WP_CRON auf true gesetzt 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ür as24ci_car und in die WordPress-Mediathek. Das Entfernen des Plugins über uninstall.php bereinigt seine eigenen Daten.
  • Die benutzerdefinierte Rolle „AS24 Editor“ und die Berechtigung manage_as24_imports werden bei der Aktivierung und bei Upgrades der Berechtigungsversion über Plugin::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_imports verfü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_imports besitzt.
  • Geplante Importe werden nie ausgeführt: Stellen Sie sicher, dass WP-Cron erreichbar ist, oder wechseln Sie zu einem externen Cron-Trigger (wp-cron.php oder 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.

Zugehörige Dokumente