Documentation · System Requirements
Technical System Requirements
Introduction
ADP Car Market Hub is a WordPress plugin that connects a WordPress site to the AutoScout24 API and turns the dealer's vehicle inventory into native WordPress content (custom post type as24ci_car with vehicle taxonomies, archive pages, single-vehicle templates, leads, analytics and more).
This document gives a high-level technical overview of everything a site operator needs to plan, install and run the plugin in production. It consolidates the WordPress, hosting, PHP and database expectations that are documented in detail in the other pages of this section.
When to use this document
Use this document if you are:
- Evaluating whether an existing WordPress hosting environment can run ADP Car Market Hub.
- Specifying a new hosting environment or staging/production setup for a dealership site.
- Performing a technical pre-flight check before installing or activating the plugin.
- Drafting an internal "system requirements" sheet for a customer or development team.
For deeper detail on each topic, follow the links in the Related documents section.
Overview
At a high level, ADP Car Market Hub is a self-contained WordPress plugin with these architectural characteristics:
- Distribution: Standard WordPress plugin, installed into
wp-content/plugins/and activated from the WordPress admin. - Plugin headers:
Requires at least: 6.2,Requires PHP: 8.1(defined in the main plugin file andreadme.txt). - PHP namespace: All classes live under the
AS24CI\namespace and are auto-loaded fromincludes/andincludes/admin/. - Custom post type:
as24ci_car, with 15 vehicle taxonomies (brand, body type, fuel type, transmission, etc.) for native WordPress filtering. - Custom database tables: Created on activation through
dbDelta()for vehicles, analytics events and saved search alerts. Standard WordPress tables (wp_posts,wp_postmeta,wp_term_*,wp_options) are used for everything else. - External APIs: Outbound HTTPS calls to the official AutoScout24 API (mandatory) and to the managed Google Gemini endpoint (
generativelanguage.googleapis.com) when the AI Assistant is enabled. - Scheduling: Built-in WP-Cron scheduler with extra intervals, plus a token-secured REST endpoint (
/as24ci/v1/cron-import) for triggering imports from an external server cron. - Background processing: Imports run in batches, an image queue handles attachments asynchronously, and an import lock (transient, 40-minute TTL) prevents overlapping cron runs.
- Media library: Vehicle images are imported as standard WordPress attachments in
wp-content/uploads/, with optional WebP conversion. - Logs: Plugin-managed log files are written to
wp-content/uploads/as24ci-logs/with rotation at 10 MB and 7-day retention.
The plugin ships an in-admin "System & Help" / Health tab that performs the same environment checks described in this document and renders ampel (traffic-light) badges, which is the recommended starting point for any production validation.
Requirements
The values below reflect what the plugin actually requires according to its headers and code. Where the plugin only checks "available / missing" without a specific version, this document follows the same approach and lists the constraint as a recommendation rather than a hard minimum.
Hard requirements
- WordPress: 6.2 or higher (
Requires at least: 6.2in the plugin header andreadme.txt). Tested up to WordPress 6.9. - PHP: 8.1 or higher (
Requires PHP: 8.1in the plugin header,readme.txtandcomposer.json). - Database: A WordPress-supported database (MySQL or MariaDB) in the version supported by your WordPress release. The plugin uses
$wpdb,dbDelta()and parameterised queries; it does not require a specific database version of its own. - PHP extensions:
openssl,curl,mbstring,json, and one ofgdorimagick. The System & Help tab marks the environment as "Requirements not met" if any of these are missing. - Outbound HTTPS: The web server must be able to make outbound HTTPS calls to
https://api.autoscout24.com(and tohttps://generativelanguage.googleapis.comwhen the AI Assistant is enabled). - Cron: A working scheduling mechanism — either WordPress's built-in WP-Cron, or a real OS-level cron job that triggers WP-Cron or the plugin's REST cron endpoint.
- Filesystem: A writable WordPress uploads directory (
wp-content/uploads/) for images and for the plugin log directory (wp-content/uploads/as24ci-logs/). - Administrator access: A WordPress user with
manage_optionsto install and configure the plugin; the plugin then provisions a custom capability (manage_as24_imports) and an "AS24 Editor" role for delegated day-to-day management.
Recommended (not enforced in code)
- PHP: A currently supported PHP 8.x branch (8.2 or 8.3) for the best long-term performance and security posture.
memory_limit: ≥ 256 MB (the Health card flags 128–255 MB as "acceptable" and < 128 MB as "too low").max_execution_time: ≥ 120 s for imports with many images (the Health card flags 30–60 s as acceptable, < 30 s as too low, 0 = unlimited as ideal).upload_max_filesize/post_max_size: Large enough to comfortably hold a single high-resolution vehicle image (8–16 MB is typical).ZipArchive: Available — used for export bundles. Not strictly required for imports.- ionCube Loader: The System & Help tab detects the ionCube Loader and reports whether it is active. Current plugin releases are not encoded, so the loader is not a hard requirement today; it is surfaced for forward compatibility because a future encoded release may require it. If your host can enable the ionCube Loader for your PHP version, doing so avoids any later reconfiguration.
- TLS: A modern TLS stack (TLS 1.2 or 1.3) on the outbound side so that AutoScout24 and managed Gemini HTTPS calls succeed without manual certificate workarounds.
- Pretty permalinks: Enabled (any setting other than "Plain") so that vehicle archive and single-vehicle URLs are SEO-friendly.
Recommended production setup
A typical production deployment looks like this:
- Stack: Managed WordPress hosting or a dedicated LAMP/LEMP server with PHP 8.1+ FPM, Nginx or Apache, and MySQL 8 / MariaDB 10.6+.
- WordPress: Latest stable WordPress release on the active long-term support branch, with automatic background updates enabled for minor releases.
- PHP limits:
memory_limit = 256M(or higher),max_execution_time = 300,max_input_vars = 3000to comfortably handle large mapping forms. - Storage: At least several GB of free disk space in
wp-content/uploads/to host vehicle images. Plan for ~5–25 MB per vehicle depending on image count and WebP usage. - Cron: Disable WP-Cron-on-page-load (
define( 'DISABLE_WP_CRON', true );) and triggerwp-cron.php(or the REST cron endpoint) from a real OS cron every 5–15 minutes for predictable imports. - Backups: Daily off-site backups of the entire WordPress database and the
wp-content/uploads/directory. - Staging: A separate staging site (with its own AutoScout24 sandbox or read-only credentials, where possible) for testing plugin updates and field-mapping changes before promoting to production.
- Monitoring: Basic uptime monitoring on the public archive URL and on
/wp-cron.php(or the REST cron endpoint), plus alerting on PHP error log growth. - Email: A reliable transactional mail route (SMTP plugin or hosting-provided MTA) so that contact-form leads, test-drive bookings and search-alert double-opt-in mails are delivered.
Operational notes
- The plugin's "System & Help" tab in WordPress admin reproduces every check in this document with live values from the running site. Use it after every WordPress, PHP or hosting change.
- All imports are idempotent: re-running an import never duplicates a vehicle, because the plugin matches on AutoScout24 IDs and uses content + image hashes for change detection.
- The image queue intentionally limits how many images are downloaded per cron tick to avoid PHP timeouts. On a fresh site, the first few cron runs will appear "incomplete" until the queue is drained — this is expected behaviour, not an error.
- Full Sync mode permanently deletes local cars (and their images) that no longer exist in the remote AutoScout24 listing. Make sure backups are in place before enabling it on production.
- The plugin does not bypass WordPress's user, capability or nonce model. Hardened security plugins,
DISALLOW_FILE_EDIT, and reverse-proxy configurations are all compatible. - The plugin writes its own logs and rotates them at 10 MB. It does not require, and does not replace, a server-level error log.
Troubleshooting
- "Requirements not met" badge in the System & Help tab: Compare the list against Requirements above and fix the missing item (typically a missing PHP extension or a too-low PHP/WordPress version).
- Imports time out or stop midway: Increase
max_execution_timeandmemory_limit, lower the per-cron vehicle batch size in the Import & Limits tab, and make sure the image queue is enabled. - Vehicles import but images do not: Check that
wp-content/uploads/is writable, that GD or Imagick is installed, and that there is enough free disk space. - Cron does not run: If the host disables WP-Cron, configure an OS-level cron to call
wp-cron.phpor the token-secured REST endpoint instead. - Connection check fails: The System & Help tab and Tools tab perform a small AutoScout24 listings request. A failure usually indicates wrong API credentials, a missing Seller ID, or a firewall blocking outbound HTTPS to the AutoScout24 host.
- Permalink 404s on vehicle pages: Re-save the WordPress permalink settings to flush rewrite rules after activating the plugin.