Documentation · Operations and Maintenance

Backup and Restore

This document explains what data the ADP Car Market Hub plugin creates or manages, which components need to be included in a backup, and how to restore a site to a working state after a failure or migration.

When to use this document

Read this document if you are a site administrator, hosting engineer, or WordPress developer responsible for backup strategy and disaster recovery on a site running the plugin. Review it before performing a plugin update, a server migration, or any significant configuration change.

Overview

The plugin stores data in several locations within the WordPress installation. A complete and restorable backup must include all of these components. The plugin itself does not provide its own backup tooling; backups depend on the standard WordPress backup approach used by your hosting provider or backup plugin.

Imported vehicle listings can be re-imported from their source (AutoScout24, mobile.de, carcuro, a feed, e-mail, or a file upload) if lost, but only if a valid source connection is available. Plugin configuration, leads, analytics data, and log files cannot be recovered from the source and must be protected by the site backup.

What the plugin stores

Data typeStorage locationNotes
Plugin settings and configurationWordPress options table (wp_options)All option keys are prefixed with as24ci_. Sensitive data-source secrets (AutoScout24 Client Secret, carcuro company token, feed/mailbox passwords) are stored encrypted at rest within these options. See the note on restoring encrypted secrets below.
Vehicle anchor postsWordPress posts table (wp_posts, wp_postmeta)Custom post type: as24ci_car. The post acts as the WordPress anchor (permalink, taxonomies, template) and stores a small set of importer-only post meta (for example _as24ci_listing_id, _as24ci_content_hash, _as24ci_image_ids). The bulk of vehicle field data lives in the custom table below.
Vehicle field dataCustom database table {prefix}as24_vehiclesOne row per vehicle, linked to the as24ci_car post by post_id. Holds the structured vehicle attributes used for display, archive filters and search.
Leads (contact form submissions)WordPress posts table (wp_posts, wp_postmeta)Custom post type: as24ci_lead
Analytics eventsCustom database table {prefix}as24ci_analyticsVisitor event tracking; dropped on plugin uninstall
Search agents (visitor stock alerts)Custom database table {prefix}as24ci_search_agentsPersonal data; dropped on plugin uninstall
Content Studio jobs and generated assetsCustom database tables {prefix}as24ci_content_studio_jobs and {prefix}as24ci_content_studio_assetsAI content-generation jobs and their generated marketing output (captions, hashtags, alt text, image references); both dropped on plugin uninstall
Imported vehicle imagesWordPress media library (wp_uploads/)Attached to vehicle posts; tracked in _as24ci_image_ids
Plugin log files{wp-uploads}/as24ci-logs/adp-car-market-hub.logRotated at 10 MB; archives purged after 7 days
Plugin-created pagesWordPress pages in wp_postsArchive page, Compare page and Favorites page; IDs stored in the as24ci_page_archive_id, as24ci_page_compare_id and as24ci_page_favorites_id options

Requirements

  • A WordPress backup solution capable of backing up both the database and the filesystem (uploads folder). Examples include hosting-level snapshots, managed backup services, or WordPress backup plugins. Verify this behavior and compatibility with your current environment.
  • Write access to the staging or recovery environment for restore testing.
  • The same PHP version and WordPress version as production when restoring to a test environment, to avoid compatibility issues.

Backup procedure

Database backup

  1. Back up the entire WordPress database. This captures wp_options (plugin settings), wp_posts and wp_postmeta (vehicle anchor posts and leads), and all plugin-managed custom tables ({prefix}as24_vehicles, {prefix}as24ci_analytics, {prefix}as24ci_search_agents, {prefix}as24ci_content_studio_jobs, {prefix}as24ci_content_studio_assets).
  2. Use a backup tool or hosting snapshot that exports a complete SQL dump. Partial backups that include only selected tables may miss the custom tables.
  3. On WordPress multisite installations, each site in the network has its own set of {prefix}_{siteid}_ tables. Confirm that your backup tool captures all site tables.

Files backup

  1. Back up the WordPress wp-content/uploads/ directory. This contains: - All imported vehicle images (attached to vehicle posts). - The plugin log directory: as24ci-logs/. This directory is protected from public access by an .htaccess file; confirm your backup tool captures hidden files.
  2. Back up the plugin directory wp-content/plugins/adp-car-market-hub/ if you have made custom file-level changes (for example, custom template overrides). Note that the plugin directory itself is normally replaced during updates and should not be the primary place for customizations.

Configuration note: encrypted secrets

The plugin's data-source credentials are entered on the Connections page (see the Connections Reference) and stored in WordPress options, so they are included in the database backup. Sensitive secrets — the AutoScout24 Client Secret, the carcuro company token, and feed/mailbox passwords — are stored encrypted at rest rather than in plain text. Non-secret fields (such as the AutoScout24 Client ID, Seller IDs, and the feed URL) are stored as ordinary option values.

These secrets are still sensitive (the encrypted blobs are in the database dump), so ensure that database backup files are stored securely and access is restricted.

Important for restores: the encryption key is derived from the WordPress installation's secret keys/salts (the AUTH_KEY / AUTH_SALT values in wp-config.php), with the installation path mixed in. For a restore to be able to decrypt the stored secrets, the same wp-config.php salts must be in place on the restored site, and the installation must reside at the same path. If you restore the database to a site with different salts (or rotate the salts in wp-config.php), the encrypted secrets will no longer be decryptable — the correct outcome is to simply re-enter the affected secrets on the Connections page after the restore. Plan to re-enter the AutoScout24 Client Secret, carcuro token, and any feed/mailbox passwords whenever the salts or installation path differ from the source environment.

Restore procedure

Full site restore

  1. Restore the database from the backup using your hosting control panel, phpMyAdmin, or a command-line MySQL client.
  2. Restore the wp-content/uploads/ directory from the files backup.
  3. If restoring to a new server or domain, update the WordPress site URL in the database (wp_options rows siteurl and home) using the WordPress CLI (wp option update) or by editing the database directly.
  4. Clear any WordPress object cache after the restore.
  5. If the restored site has different wp-config.php salts or a different installation path than the source (for example a fresh server build), the encrypted data-source secrets will not decrypt. Re-enter the affected secrets — AutoScout24 Client Secret, carcuro token, feed/mailbox passwords — on the Connections page.
  6. Log in to WordPress admin and navigate to CMH Center → System & Help to verify the source connection status.
  7. Open CMH Center → Import & Limits and confirm the import schedule is active.
  8. Trigger a manual import from the Import & Limits tab and verify that vehicles are created or updated correctly.

Partial restore: settings only

If only plugin settings need to be restored (for example, after an accidental misconfiguration):

  1. Import the database backup into a temporary or staging database.
  2. Extract the relevant wp_options rows with keys prefixed as24ci_ using a SQL query or a database comparison tool.
  3. Apply the recovered option values to the production database. Encrypted secret options only decrypt on a site whose wp-config.php salts and installation path match those that originally encrypted them; if they differ, re-enter the affected secrets on the Connections page instead.
  4. Test each source connection and the import pipeline before confirming the restore is complete.

Restore vehicle images only

If vehicle images have been accidentally deleted from the media library:

  1. Restore the wp-content/uploads/ files backup to recover the original image files.
  2. Alternatively, re-run the import with image import enabled. The importer checks existing attachment source URLs (_as24ci_source_url post meta) and skips images that are already present. Missing images will be re-downloaded from the source.

Operational notes

  • The plugin cannot independently manage or schedule backups. Backup responsibility lies with the site owner, hosting provider, or a dedicated WordPress backup plugin.
  • The analytics table ({prefix}as24ci_analytics) and the search agents table ({prefix}as24ci_search_agents) contain personal data (visitor events, subscriber email addresses). Handle backup files containing these tables in accordance with your applicable privacy regulations.
  • The analytics table is always dropped by the plugin's uninstall routine, even if the Delete data on uninstall option is disabled. If you intend to retain analytics data across a plugin reinstallation, export or preserve the table manually before uninstalling.
  • Vehicle images imported by the plugin are tracked in post meta under _as24ci_image_ids. These IDs link vehicle posts to their media library attachments. If this post meta is not present in a restore, the images may remain in the media library as orphaned attachments.
  • Log files in as24ci-logs/ are not critical for restoring site functionality, but they may contain useful diagnostic information. If you need to preserve more than 7 days of log history, copy archived log files to long-term storage before the plugin purges them.

Troubleshooting

SymptomLikely causeCheck
Source connection fails after restoreSite URL changed, or encrypted secrets cannot be decrypted (different wp-config.php salts / installation path)Re-enter the source secret on the Connections page; check site URL in wp_options
Vehicle images not showing after restoreUpload files not restored, or media library attachment IDs out of syncRestore uploads directory; trigger a re-import to re-download images
Import schedule not running after restoreWP-Cron events not migratedRe-enable auto import in Import & Limits tab to reschedule the cron event
Custom tables not present after restoreBackup did not include custom tablesActivate and deactivate the plugin to trigger table creation, or restore the database from a complete backup
Lead notifications not delivering after restoreRecipient email setting changed or WordPress mail configuration different on new serverVerify lead recipient email in Settings; check WordPress email delivery