Dokumentation · Systemvoraussetzungen

Technische Systemanforderungen

Einführung

ADP Car Market Hub ist ein WordPress-Plugin, das eine WordPress-Website mit der AutoScout24-API verbindet und den Fahrzeugbestand des Autohauses in nativen WordPress-Inhalt verwandelt (Custom Post Type as24ci_car mit Fahrzeug-Taxonomien, Archivseiten, Vorlagen für Einzelfahrzeuge, Leads, Analytics und mehr).

Dieses Dokument bietet einen allgemeinen technischen Überblick über alles, was ein Website-Betreiber benötigt, um das Plugin in einer Produktionsumgebung zu planen, zu installieren und zu betreiben. Es fasst die Erwartungen an WordPress, Hosting, PHP und die Datenbank zusammen, die auf den anderen Seiten dieses Abschnitts im Detail dokumentiert sind.

Wann dieses Dokument zu verwenden ist

Verwenden Sie dieses Dokument, wenn Sie:

  • Evaluieren, ob eine bestehende WordPress-Hosting-Umgebung ADP Car Market Hub ausführen kann.
  • Eine neue Hosting-Umgebung oder ein Staging-/Produktions-Setup für eine Autohaus-Website spezifizieren.
  • Vor der Installation oder Aktivierung des Plugins eine technische Vorabprüfung durchführen.
  • Ein internes Blatt für „Systemanforderungen“ für einen Kunden oder ein Entwicklungsteam entwerfen.

Für tiefergehende Details zu jedem Thema folgen Sie den Links im Abschnitt Zugehörige Dokumente.

Übersicht

Auf hoher Ebene ist ADP Car Market Hub ein in sich geschlossenes WordPress-Plugin mit folgenden architektonischen Merkmalen:

  • Verteilung: Standardmäßiges WordPress-Plugin, installiert in wp-content/plugins/ und aktiviert über den WordPress-Admin-Bereich.
  • Plugin-Header: Requires at least: 6.2, Requires PHP: 8.1 (definiert in der Haupt-Plugin-Datei und readme.txt).
  • PHP-Namespace: Alle Klassen befinden sich unter dem Namespace AS24CI\ und werden automatisch aus includes/ und includes/admin/ geladen.
  • Custom Post Type: as24ci_car, mit 15 Fahrzeug-Taxonomien (Marke, Karosserieform, Kraftstoffart, Getriebe etc.) für native WordPress-Filterung.
  • Eigene Datenbanktabellen: Werden bei der Aktivierung über dbDelta() für Fahrzeuge, Analytics-Ereignisse und gespeicherte Suchaufträge erstellt. Standardmäßige WordPress-Tabellen (wp_posts, wp_postmeta, wp_term_*, wp_options) werden für alles andere verwendet.
  • Externe APIs: Ausgehende HTTPS-Aufrufe an die offizielle AutoScout24-API (erforderlich) und an den verwalteten Google Gemini-Endpunkt (generativelanguage.googleapis.com), wenn der AI Assistant aktiviert ist.
  • Zeitplanung: Integrierter WP-Cron-Planer mit zusätzlichen Intervallen sowie ein token-gesicherter REST-Endpunkt (/as24ci/v1/cron-import) zur Auslösung von Importen über einen externen Server-Cron.
  • Hintergrundverarbeitung: Importe laufen in Batches, eine Bildwarteschlange verarbeitet Anhänge asynchron und eine Importsperre (Transient, 40 Minuten TTL) verhindert überschneidende Cron-Läufe.
  • Mediathek: Fahrzeugbilder werden als standardmäßige WordPress-Anhänge in wp-content/uploads/ importiert, mit optionaler WebP-Konvertierung.
  • Protokolle: Vom Plugin verwaltete Protokolldateien werden in wp-content/uploads/as24ci-logs/ geschrieben, mit einer Rotation bei 10 MB und einer Aufbewahrungsfrist von 7 Tagen.

Das Plugin liefert einen im Admin-Bereich integrierten Tab „System & Hilfe“ / Zustand mit, der dieselben Umgebungstests durchführt, die in diesem Dokument beschrieben sind, und Ampel-Badges anzeigt. Dies ist der empfohlene Ausgangspunkt für jede Validierung in einer Produktionsumgebung.

Anforderungen

Die folgenden Werte spiegeln das wider, was das Plugin gemäß seinen Headern und seinem Code tatsächlich benötigt. Wo das Plugin nur auf „verfügbar / fehlt“ prüft, ohne eine bestimmte Version vorauszusetzen, folgt dieses Dokument demselben Ansatz und führt die Einschränkung eher als Empfehlung denn als harte Mindestanforderung auf.

Harte Anforderungen

  • WordPress: 6.2 oder höher (Requires at least: 6.2 im Plugin-Header und readme.txt). Getestet bis WordPress 6.9.
  • PHP: 8.1 oder höher (Requires PHP: 8.1 im Plugin-Header, readme.txt und composer.json).
  • Datenbank: Eine von WordPress unterstützte Datenbank (MySQL oder MariaDB) in der Version, die von Ihrer WordPress-Version unterstützt wird. Das Plugin verwendet $wpdb, dbDelta() und parametrisierte Abfragen; es benötigt keine eigene spezifische Datenbankversion.
  • PHP-Erweiterungen: openssl, curl, mbstring, json und entweder gd oder imagick. Der Tab „System & Hilfe“ markiert die Umgebung als „Anforderungen nicht erfüllt“, wenn eine dieser Erweiterungen fehlt.
  • Ausgehendes HTTPS: Der Webserver muss in der Lage sein, ausgehende HTTPS-Aufrufe an https://api.autoscout24.com (und an https://generativelanguage.googleapis.com, wenn der AI Assistant aktiviert ist) zu tätigen.
  • Cron: Ein funktionierender Zeitplanungsmechanismus – entweder der in WordPress integrierte WP-Cron oder ein echter Cron-Job auf Betriebssystemebene, der WP-Cron oder den REST-Cron-Endpunkt des Plugins auslöst.
  • Dateisystem: Ein beschreibbares WordPress-Uploads-Verzeichnis (wp-content/uploads/) für Bilder und für das Protokollverzeichnis des Plugins (wp-content/uploads/as24ci-logs/).
  • Administrator-Zugriff: Ein WordPress-Benutzer mit manage_options, um das Plugin zu installieren und zu konfigurieren; das Plugin stellt dann eine benutzerdefinierte Berechtigung (manage_as24_imports) und eine Rolle „AS24 Editor“ für die delegierte tägliche Verwaltung bereit.

Empfohlen (nicht im Code erzwungen)

  • PHP: Ein aktuell unterstützter PHP 8.x-Zweig (8.2 oder 8.3) für die beste langfristige Performance und Sicherheitslage.
  • memory_limit: ≥ 256 MB (die Zustandskarte markiert 128–255 MB as „akzeptabel“ und < 128 MB als „zu niedrig“).
  • max_execution_time: ≥ 120 s für Importe mit vielen Bildern (die Zustandskarte markiert 30–60 s als akzeptabel, < 30 s als zu niedrig, 0 = unbegrenzt als ideal).
  • upload_max_filesize / post_max_size: Groß genug, um ein einzelnes hochauflösendes Fahrzeugbild problemlos aufzunehmen (8–16 MB sind typisch).
  • ZipArchive: Verfügbar – wird für Export-Bundles verwendet. Für Importe nicht zwingend erforderlich.
  • ionCube Loader: Der Tab „System & Hilfe“ erkennt den ionCube Loader und meldet, ob er aktiv ist. Aktuelle Plugin-Releases sind nicht verschlüsselt, daher ist der Loader heute keine harte Anforderung; er wird zwecks Zukunftskompatibilität angezeigt, da eine zukünftige verschlüsselte Version ihn erfordern könnte. Wenn Ihr Host den ionCube Loader für Ihre PHP-Version aktivieren kann, vermeidet dies eine spätere Neukonfiguration.
  • TLS: Ein moderner TLS-Stack (TLS 1.2 oder 1.3) auf der ausgehenden Seite, damit HTTPS-Aufrufe an AutoScout24 und das verwaltete Gemini ohne manuelle Zertifikats-Workarounds erfolgreich sind.
  • Schöne Permalinks: Aktiviert (jede Einstellung außer „Einfach“), damit die URLs für das Fahrzeugarchiv und die Einzelfahrzeuge SEO-freundlich sind.

Empfohlenes Produktions-Setup

Ein typisches Produktions-Setup sieht wie folgt aus:

  • Stack: Verwaltetes WordPress-Hosting oder ein dedizierter LAMP/LEMP-Server mit PHP 8.1+ FPM, Nginx oder Apache und MySQL 8 / MariaDB 10.6+.
  • WordPress: Neueste stabile WordPress-Version auf dem aktiven Long-Term-Support-Zweig, mit aktivierten automatischen Hintergrund-Updates für Minor-Releases.
  • PHP-Limits: memory_limit = 256M (oder höher), max_execution_time = 300, max_input_vars = 3000, um große Mapping-Formulare problemlos zu verarbeiten.
  • Speicherplatz: Mindestens mehrere GB freier Festplattenspeicher in wp-content/uploads/, um Fahrzeugbilder zu speichern. Planen Sie ca. 5–25 MB pro Fahrzeug ein, abhängig von der Anzahl der Bilder und der WebP-Nutzung.
  • Cron: Deaktivieren Sie WP-Cron beim Seitenaufruf (define( 'DISABLE_WP_CRON', true );) und lösen Sie wp-cron.php (oder den REST-Cron-Endpunkt) über einen echten Betriebssystem-Cron alle 5–15 Minuten aus, um vorhersehbare Importe zu gewährleisten.
  • Backups: Tägliche Offsite-Backups der gesamten WordPress-Datenbank und des Verzeichnisses wp-content/uploads/.
  • Staging: Eine separate Staging-Website (nach Möglichkeit mit eigenen AutoScout24-Sandbox- oder schreibgeschützten Zugangsdaten), um Plugin-Updates und Änderungen am Feld-Mapping vor der Übernahme in die Produktion zu testen.
  • Monitoring: Einfache Uptime-Überwachung der öffentlichen Archiv-URL und von /wp-cron.php (oder des REST-Cron-Endpunkts) sowie Alarmierung bei anwachsendem PHP-Fehlerprotokoll.
  • E-Mail: Ein zuverlässiger transaktionaler E-Mail-Versandweg (SMTP-Plugin oder vom Host bereitgestellter MTA), damit Leads aus Kontaktformularen, Probefahrtbuchungen und Double-Opt-In-E-Mails für Suchaufträge zuverlässig zugestellt werden.

Betriebliche Hinweise

  • Der Tab „System & Hilfe“ des Plugins im WordPress-Admin-Bereich bildet jede Prüfung in diesem Dokument mit Live-Werten der laufenden Website ab. Verwenden Sie ihn nach jeder Änderung an WordPress, PHP oder dem Hosting.
  • Alle Importe sind idempotent: Das erneute Ausführen eines Imports führt niemals zu doppelten Fahrzeugen, da das Plugin Abgleiche anhand von AutoScout24-IDs durchführt und Inhalts- sowie Bild-Hashes zur Erkennung von Änderungen verwendet.
  • Die Bildwarteschlange begrenzt bewusst, wie viele Bilder pro Cron-Takt heruntergeladen werden, um PHP-Timeouts zu vermeiden. Auf einer neuen Website werden die ersten Cron-Läufe als „unvollständig“ erscheinen, bis die Warteschlange abgearbeitet ist – dies ist ein erwartetes Verhalten und kein Fehler.
  • Der Modus Vollständige Synchronisierung löscht dauerhaft lokale Fahrzeuge (und deren Bilder), die im entfernten AutoScout24-Bestand nicht mehr existieren. Stellen Sie sicher, dass Backups vorhanden sind, bevor Sie diesen Modus in der Produktionsumgebung aktivieren.
  • Das Plugin umgeht nicht das Benutzer-, Berechtigungs- oder Nonce-Modell von WordPress. Sicherheits-Plugins zur Systemhärtung, DISALLOW_FILE_EDIT und Reverse-Proxy-Konfigurationen sind alle kompatibel.
  • Das Plugin schreibt eigene Protokolle und rotiert diese bei 10 MB. Es erfordert kein Server-Fehlerprotokoll und ersetzt dieses auch nicht.

Fehlerbehebung

  • Badge „Anforderungen nicht erfüllt“ im Tab „System & Hilfe“: Vergleichen Sie die Liste mit den Anforderungen oben und beheben Sie das fehlende Element (normalerweise eine fehlende PHP-Erweiterung oder eine zu niedrige PHP-/WordPress-Version).
  • Importe laufen in ein Timeout oder stoppen mittendrin: Erhöhen Sie max_execution_time und memory_limit, verringern Sie die Fahrzeug-Batchgröße pro Cron im Tab „Import & Limits“ und stellen Sie sicher, dass die Bildwarteschlange aktiviert ist.
  • Fahrzeuge werden importiert, aber keine Bilder: Überprüfen Sie, ob wp-content/uploads/ beschreibbar ist, ob GD oder Imagick installiert ist und ob genügend freier Festplattenspeicher vorhanden ist.
  • Cron läuft nicht: Wenn der Host WP-Cron deaktiviert, konfigurieren Sie stattdessen einen Cron auf Betriebssystemebene, um wp-cron.php oder den token-gesicherten REST-Endpunkt aufzurufen.
  • Verbindungstest schlägt fehl: Der Tab „System & Hilfe“ sowie der Tab „Werkzeuge“ führen eine kleine Abfrage von AutoScout24-Inseraten durch. Ein Fehlschlag deutet in der Regel auf falsche API-Zugangsdaten, eine fehlende Seller ID oder eine Firewall hin, die ausgehendes HTTPS zum AutoScout24-Host blockiert.
  • Permalink-404-Fehler auf Fahrzeugseiten: Speichern Sie die WordPress-Permalink-Einstellungen nach der Aktivierung des Plugins erneut ab, um die Rewrite-Regeln neu zu generieren.

Zugehörige Dokumente