Dokumentation · Systemanforderungen

Technische Systemanforderungen

Einführung

ADP Car Market Hub ist ein WordPress-Plugin, das eine WordPress-Website mit der AutoScout24-API verbindet und den Fahrzeugbestand der Garage in nativen WordPress-Inhalt verwandelt (Custom Post Type as24ci_car mit Fahrzeug-Taxonomien, Archivseiten, Einzelansicht-Templates, Leads, Analysen und mehr).

Dieses Dokument bietet eine übergeordnete technische Übersicht über alles, was ein Website-Betreiber für die Planung, Installation und den produktiven Betrieb des Plugins benötigt. Es fasst die Erwartungen an WordPress, Hosting, PHP und die Datenbank zusammen, die auf den anderen Seiten dieses Abschnitts im Detail dokumentiert sind.

Wann Sie dieses Dokument verwenden sollten

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 Garagen-Website spezifizieren.
  • Einen technischen Vorab-Check durchführen, bevor Sie das Plugin installieren oder aktivieren.
  • Ein internes Blatt mit "Systemanforderungen" für einen Kunden oder ein Entwicklungsteam erstellen.

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: Standard-WordPress-Plugin, installiert in wp-content/plugins/ und aktiviert über den WordPress-Adminbereich.
  • 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, Analyse-Ereignisse und gespeicherte Suchaufträge erstellt. Standard-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 (obligatorisch) 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 Warteschlange für Bilder verarbeitet Anhänge asynchron, und eine Importsperre (Transient, 40 Minuten TTL) verhindert überschneidende Cron-Läufe.
  • Mediathek: Fahrzeugbilder werden als Standard-WordPress-Anhänge in wp-content/uploads/ importiert, mit optionaler WebP-Konvertierung.
  • Protokolle: Vom Plugin verwaltete Logdateien werden nach wp-content/uploads/as24ci-logs/ geschrieben, mit einer Rotation bei 10 MB und einer Aufbewahrungsfrist von 7 Tagen.

Das Plugin bietet im Adminbereich den Tab "System & Hilfe" / Zustand, 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 der Produktionsumgebung.

Anforderungen

Die folgenden Werte spiegeln wider, was das Plugin gemäss seinen Headern und seinem Code tatsächlich benötigt. Wo das Plugin nur auf "verfügbar / fehlt" ohne eine bestimmte Version prüft, folgt dieses Dokument demselben Ansatz und listet 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-Upload-Verzeichnis (wp-content/uploads/) für Bilder und für das Log-Verzeichnis 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 anschliessend 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 Sicherheit.
  • 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: Gross genug, um ein einzelnes hochauflösendes Fahrzeugbild problemlos aufzunehmen (typisch sind 8–16 MB).
  • 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-Versionen sind nicht verschlüsselt, sodass der Loader heute keine harte Anforderung darstellt; er wird zwecks Zukunftskompatibilität angezeigt, da eine zukünftige verschlüsselte Version ihn erfordern könnte. Wenn Ihr Hoster 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 ausser "Einfach"), damit die URLs der Fahrzeugarchive und der 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 Zweig mit langfristigem Support, wobei automatische Hintergrund-Updates für Minor-Releases aktiviert sind.
  • PHP-Limits: memory_limit = 256M (oder höher), max_execution_time = 300, max_input_vars = 3000, um grosse Zuordnungsformulare problemlos zu verarbeiten.
  • Speicherplatz: Mindestens mehrere GB freier Speicherplatz in wp-content/uploads/, um Fahrzeugbilder zu speichern. Planen Sie ca. 5–25 MB pro Fahrzeug ein, je nach Anzahl der Bilder und WebP-Nutzung.
  • Cron: Deaktivieren Sie WP-Cron beim Seitenaufruf (define( 'DISABLE_WP_CRON', true );) und triggern Sie wp-cron.php (oder den REST-Cron-Endpunkt) über einen echten System-Cron alle 5–15 Minuten für vorhersehbare Importe.
  • Backups: Tägliche externe Backups der gesamten WordPress-Datenbank und des Verzeichnisses wp-content/uploads/.
  • Staging: Eine separate Staging-Website (nach Möglichkeit mit einer eigenen AutoScout24-Sandbox oder schreibgeschützten Zugangsdaten), um Plugin-Updates und Änderungen an der Feldzuordnung vor der Live-Schaltung zu testen.
  • Monitoring: Einfache Verfügbarkeitsüberwachung (Uptime Monitoring) der öffentlichen Archiv-URL und von /wp-cron.php (oder dem REST-Cron-Endpunkt) sowie Benachrichtigungen bei ansteigenden PHP-Fehlerprotokollen.
  • E-Mail: Ein zuverlässiger Weg für Transaktions-Mails (SMTP-Plugin oder vom Hoster bereitgestellter MTA), damit Kontaktformular-Leads, Probefahrt-Buchungen und Double-Opt-in-Mails für Suchaufträge zuverlässig zugestellt werden.

Betriebliche Hinweise

  • Der Tab "System & Hilfe" des Plugins im WordPress-Adminbereich bildet jede Prüfung in diesem Dokument mit Live-Werten der laufenden Website ab. Nutzen Sie diesen 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 über AutoScout24-IDs vornimmt und Inhalts- sowie Bild-Hashes zur Erkennung von Änderungen verwendet.
  • Die Bildwarteschlange begrenzt bewusst die Anzahl der pro Cron-Takt heruntergeladenen Bilder, 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 Synchronisation löscht dauerhaft lokale Fahrzeuge (und deren Bilder), die im Remote-Bestand von AutoScout24 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, DISALLOW_FILE_EDIT und Reverse-Proxy-Konfigurationen sind alle kompatibel.
  • Das Plugin schreibt eigene Protokolle und rotiert diese bei 10 MB. Es erfordert kein Fehlerprotokoll auf Serverebene 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 (meist 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össe 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 Speicherplatz vorhanden ist.
  • Cron läuft nicht: Wenn der Hoster 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 Anfrage an die AutoScout24-Inserate 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