Documentatie · Systeemvereisten

Technische systeemvereisten

Inleiding

ADP Car Market Hub is een WordPress-plugin die een WordPress-site verbindt met de AutoScout24 API en de voertuigvoorraad van de dealer omzet in native WordPress-content (custom post type as24ci_car met voertuigtaxonomieën, archiefpagina's, templates voor individuele voertuigen, leads, statistieken en meer).

Dit document biedt een technisch overzicht op hoofdlijnen van alles wat een sitebeheerder moet plannen, installeren en configureren om de plugin in productie te nemen. Het bundelt de verwachtingen op het gebied van WordPress, hosting, PHP en databases die in detail worden beschreven op de andere pagina's van deze sectie.

Wanneer u dit document gebruikt

Gebruik dit document als u:

  • Evalueert of een bestaande WordPress-hostingomgeving geschikt is voor ADP Car Market Hub.
  • Een nieuwe hostingomgeving of staging-/productieomgeving specificeert voor de website van een autodealer.
  • Een technische controle vooraf uitvoert voordat u de plugin installeert of activeert.
  • Een intern document met "systeemvereisten" opstelt voor een klant of ontwikkelteam.

Voor meer details over elk onderwerp volgt u de links in de sectie Gerelateerde documenten.

Overzicht

Op hoofdlijnen is ADP Car Market Hub een op zichzelf staande WordPress-plugin met de volgende architectonische kenmerken:

  • Distributie: Standaard WordPress-plugin, geïnstalleerd in wp-content/plugins/ en geactiveerd vanuit de WordPress-beheeromgeving.
  • Plugin-headers: Requires at least: 6.2, Requires PHP: 8.1 (gedefinieerd in het hoofd-pluginbestand en readme.txt).
  • PHP-namespace: Alle klassen vallen onder de namespace AS24CI\ en worden automatisch geladen vanuit includes/ en includes/admin/.
  • Custom post type: as24ci_car, met 15 voertuigtaxonomieën (merk, carrosserie, brandstoftype, transmissie, etc.) voor native WordPress-filtering.
  • Aangepaste databasetabellen: Gemaakt bij activering via dbDelta() voor voertuigen, analytische gebeurtenissen en opgeslagen zoekopdrachten. Standaard WordPress-tabellen (wp_posts, wp_postmeta, wp_term_*, wp_options) worden voor al het andere gebruikt.
  • Externe API's: Uitgaande HTTPS-verzoeken naar de officiële AutoScout24 API (verplicht) en naar het beheerde Google Gemini-endpoint (generativelanguage.googleapis.com) wanneer de AI Assistant is ingeschakeld.
  • Plannen (Scheduling): Ingebouwde WP-Cron-planner met extra intervallen, plus een met een token beveiligd REST-endpoint (/as24ci/v1/cron-import) om imports te triggeren vanaf een externe server-cron.
  • Achtergrondverwerking: Imports worden in batches uitgevoerd, een afbeeldingenwachtrij verwerkt bijlagen asynchroon en een importvergrendeling (transient, 40 minuten TTL) voorkomt overlappende cron-runs.
  • Mediabibliotheek: Voertuigafbeeldingen worden geïmporteerd als standaard WordPress-bijlagen in wp-content/uploads/, met optionele WebP-conversie.
  • Logbestanden: Door de plugin beheerde logbestanden worden geschreven naar wp-content/uploads/as24ci-logs/ met rotatie bij 10 MB en een bewaartermijn van 7 dagen.

De plugin bevat een tabblad "Systeem & Hulp" / Status in de beheeromgeving dat dezelfde omgevingscontroles uitvoert als beschreven in dit document en verkeerslicht-badges weergeeft. Dit is het aanbevolen startpunt voor elke validatie in een productieomgeving.

Vereisten

De onderstaande waarden weerspiegelen wat de plugin daadwerkelijk vereist volgens de headers en code. Waar de plugin alleen controleert op "beschikbaar / ontbrekend" zonder een specifieke versie te eisen, volgt dit document dezelfde benadering en vermeldt de beperking als een aanbeveling in plaats van een harde minimumvereiste.

Harde vereisten

  • WordPress: 6.2 of hoger (Requires at least: 6.2 in de plugin-header en readme.txt). Getest tot WordPress 6.9.
  • PHP: 8.1 of hoger (Requires PHP: 8.1 in de plugin-header, readme.txt en composer.json).
  • Database: Een door WordPress ondersteunde database (MySQL of MariaDB) in de versie die wordt ondersteund door uw WordPress-versie. De plugin maakt gebruik van $wpdb, dbDelta() en geparametriseerde query's; er is geen specifieke eigen databaseversie vereist.
  • PHP-extensies: openssl, curl, mbstring, json, en een van gd of imagick. Het tabblad Systeem & Hulp markeert de omgeving als "Niet aan vereisten voldaan" als een van deze ontbreekt.
  • Uitgaand HTTPS: De webserver moet uitgaande HTTPS-verzoeken kunnen doen naar https://api.autoscout24.com (en naar https://generativelanguage.googleapis.com wanneer de AI Assistant is ingeschakeld).
  • Cron: Een werkend planningsmechanisme — ofwel de ingebouwde WP-Cron van WordPress, of een echte cronjob op OS-niveau die WP-Cron of het REST-cron-endpoint van de plugin triggert.
  • Bestandssysteem: Een beschrijfbare WordPress uploads-map (wp-content/uploads/) voor afbeeldingen en voor de logmap van de plugin (wp-content/uploads/as24ci-logs/).
  • Beheerderstoegang: Een WordPress-gebruiker met manage_options om de plugin te installeren en te configureren; de plugin voorziet vervolgens in een aangepaste capability (manage_as24_imports) en een rol "AS24 Editor" voor gedelegeerd dagelijks beheer.

Aanbevolen (niet afgedwongen in code)

  • PHP: Een momenteel ondersteunde PHP 8.x-versie (8.2 of 8.3) voor de beste prestaties en beveiliging op de lange termijn.
  • memory_limit: ≥ 256 MB (het statuskaartje markeert 128–255 MB als "acceptabel" en < 128 MB als "te laag").
  • max_execution_time: ≥ 120 s voor imports met veel afbeeldingen (het statuskaartje markeert 30–60 s as acceptabel, < 30 s als te laag, 0 = onbeperkt als ideaal).
  • upload_max_filesize / post_max_size: Groot genoeg om comfortabel een enkele voertuigafbeelding in hoge resolutie te verwerken (8–16 MB is typisch).
  • ZipArchive: Beschikbaar — gebruikt voor exportpakketten. Niet strikt vereist voor imports.
  • ionCube Loader: Het tabblad Systeem & Hulp detecteert de ionCube Loader en rapporteert of deze actief is. Huidige plugin-releases zijn niet gecodeerd, dus de loader is momenteel geen harde vereiste; deze wordt getoond met het oog op toekomstige compatibiliteit, aangezien een toekomstige gecodeerde release deze mogelijk wel vereist. Als uw host de ionCube Loader kan inschakelen voor uw PHP-versie, voorkomt u hiermee latere herconfiguratie.
  • TLS: Een moderne TLS-stack (TLS 1.2 of 1.3) aan de uitgaande kant, zodat HTTPS-verzoeken naar AutoScout24 en de beheerde Gemini API slagen zonder handmatige certificaat-workarounds.
  • Mooie permalinks: Ingeschakeld (elke instelling behalve "Eenvoudig"), zodat de URL's van het voertuigarchief en de individuele voertuigen SEO-vriendelijk zijn.

Aanbevolen productieconfiguratie

Een typische productieomgeving ziet er als volgt uit:

  • Stack: Beheerde WordPress-hosting of een dedicated LAMP/LEMP-server met PHP 8.1+ FPM, Nginx of Apache, en MySQL 8 / MariaDB 10.6+.
  • WordPress: Nieuwste stabiele WordPress-release op de actieve langetermijnondersteuningsversie (LTS), met automatische achtergrondupdates ingeschakeld voor secundaire releases.
  • PHP-limieten: memory_limit = 256M (of hoger), max_execution_time = 300, max_input_vars = 3000 om grote mappingformulieren comfortabel te verwerken.
  • Opslag: Ten minste enkele GB's aan vrije schijfruimte in wp-content/uploads/ om voertuigafbeeldingen op te slaan. Reken op ~5–25 MB per voertuig, afhankelijk van het aantal afbeeldingen en het gebruik van WebP.
  • Cron: Schakel WP-Cron bij het laden van pagina's uit (define( 'DISABLE_WP_CRON', true );) en trigger wp-cron.php (of het REST-cron-endpoint) elke 5–15 minuten vanuit een echte OS-cron voor voorspelbare imports.
  • Back-ups: Dagelijkse externe back-ups van de volledige WordPress-database en de map wp-content/uploads/.
  • Staging: Een afzonderlijke staging-site (indien mogelijk met een eigen AutoScout24-sandbox of alleen-lezen inloggegevens) voor het testen van plugin-updates en wijzigingen in de veldmapping voordat deze naar productie worden overgezet.
  • Monitoring: Basis uptime-monitoring op de openbare archief-URL en op /wp-cron.php (of het REST-cron-endpoint), plus waarschuwingen bij groei van het PHP-foutenlogboek.
  • E-mail: Een betrouwbare route voor transactionele e-mail (SMTP-plugin of door de hosting geleverde MTA) zodat leads via contactformulieren, proefritboekingen en double-opt-in e-mails voor zoekopdrachten correct worden afgeleverd.

Operationele opmerkingen

  • Het tabblad "Systeem & Hulp" van de plugin in de WordPress-beheeromgeving voert elke controle in dit document uit met live waarden van de actieve site. Gebruik dit na elke wijziging in WordPress, PHP of hosting.
  • Alle imports zijn idempotent: het opnieuw uitvoeren van een import leidt nooit tot dubbele voertuigen, omdat de plugin matcht op AutoScout24-ID's en hashes van inhoud en afbeeldingen gebruikt voor wijzigingsdetectie.
  • De afbeeldingenwachtrij beperkt bewust hoeveel afbeeldingen er per cron-tick worden gedownload om PHP-timeouts te voorkomen. Op een nieuwe site zullen de eerste paar cron-runs "onvolledig" lijken totdat de wachtrij leeg is — dit is verwacht gedrag, geen fout.
  • De modus Volledige synchronisatie verwijdert permanent lokale auto's (en hun afbeeldingen) die niet langer bestaan in de externe AutoScout24-lijst. Zorg ervoor dat er back-ups zijn voordat u dit inschakelt op productie.
  • De plugin omzeilt het gebruikers-, capability- of nonce-model van WordPress niet. Beveiligingsplugins, DISALLOW_FILE_EDIT en reverse-proxy-configuraties zijn allemaal compatibel.
  • De plugin schrijft zijn eigen logbestanden en roteert deze bij 10 MB. Het vereist en vervangt geen foutenlogboek op serverniveau.

Problemen oplossen

  • Badge "Niet aan vereisten voldaan" op het tabblad Systeem & Hulp: Vergelijk de lijst met de Vereisten hierboven en los het ontbrekende item op (meestal een ontbrekende PHP-extensie of een te lage PHP- of WordPress-versie).
  • Imports tappen af of stoppen halverwege: Verhoog max_execution_time en memory_limit, verlaag de batchgrootte voor voertuigen per cron op het tabblad Import & Limieten, en zorg ervoor dat de afbeeldingenwachtrij is ingeschakeld.
  • Voertuigen worden geïmporteerd, maar afbeeldingen niet: Controleer of wp-content/uploads/ beschrijfbaar is, of GD of Imagick is geïnstalleerd en of er voldoende vrije schijfruimte is.
  • Cron draait niet: Als de host WP-Cron uitschakelt, configureer dan een cron op OS-niveau om in plaats daarvan wp-cron.php of het met een token beveiligde REST-endpoint aan te roepen.
  • Verbindingstest mislukt: Het tabblad Systeem & Hulp en het tabblad Gereedschap voeren een klein verzoek uit voor AutoScout24-advertenties. Een fout wijst meestal op onjuiste API-inloggegevens, een ontbrekende Seller ID of een firewall die uitgaand HTTPS naar de AutoScout24-host blokkeert.
  • Permalink 404-fouten op voertuigpagina's: Sla de WordPress-permalinkinstellingen opnieuw op om de herschrijfregels (rewrite rules) te legen na het activeren van de plugin.

Gerelateerde documenten