Back up the complete WordPress installation
Create a backup containing:
- The complete WordPress database, including vehicle posts, taxonomy terms, post metadata, LotPress settings, Sync configuration, and Elementor data.
- The complete
wp-content/uploads/directory, including vehicle originals and generated derivatives. - The active theme, plugins, must-use plugins, and any custom template overrides.
wp-config.phpand relevant web-server configuration, while keeping copies containing secrets in appropriately protected storage.- A record of the current PHP, WordPress, LotPress component, Elementor, and active plugin versions.
Verify that the backup is recoverable
- Confirm the backup job completed without warnings and produced non-empty database and file archives.
- Record when it was created, which public site it belongs to, and how long it will be retained.
- Confirm the archive contains recent vehicle uploads and the expected LotPress plugin and theme directories.
- When practical, restore it to an isolated staging location and open the homepage, inventory archive, one vehicle, and the WordPress dashboard.
- Make sure the person performing the migration can access the backup even if the production host becomes unavailable.
A backup is not considered verified merely because a scheduled job reports success.
Prepare the source and destination
- Choose a maintenance window and identify who can reverse DNS or hosting changes.
- Reduce DNS time-to-live in advance when the provider permits it.
- Pause content changes and manual vehicle editing during the final copy.
- Disable scheduled LotPress Sync imports before the final database export so two sites cannot process the same feed independently.
- Confirm the destination meets the WordPress, PHP, database, HTTPS, image-library, XML, outbound-request, and WP-Cron requirements used by the source.
- Copy and test the site on a non-public staging hostname before changing the public domain.
Change URLs and move the license safely
Use a WordPress-aware migration tool or wp search-replace for domain changes so serialized settings remain valid. Do not run an unrestricted SQL text replacement against serialized WordPress data. Exclude immutable identifiers and review a dry run before writing changes.
Before permanently moving a licensed installation to another public URL, open Settings → LotPress Updates on the source and select Disconnect site. After the destination uses its final public URL, enter the license there and select Connect to updates. If the source is unavailable, contact LotPress support to release the previous activation.
After the URL change, confirm Settings → General, media URLs, Elementor content, canonical URLs, navigation, and form destinations use the new hostname.
Preserve vehicle records, URLs, and media
- Move vehicle posts, terms, post metadata, attachment records, and original upload files together.
- Do not re-create imported vehicles merely to move the site; retain their existing WordPress IDs, source ownership, and stable permalinks.
- Confirm gallery attachment IDs still resolve and that the primary image remains first.
- Open Settings → Permalinks and save once to refresh rewrite rules.
- If optimized derivatives are absent or incompatible with the new server, run
wp lotpress images regeneratefrom the WordPress directory after confirming uploads are writable and the required image support is installed. - Clear WordPress, hosting, CDN, object, and browser caches after files and URLs are final.
Keep original vehicle uploads. Image regeneration is designed to rebuild derivatives without replacing those originals.
Validate Sync before resuming schedules
- Confirm only the intended production site can run the production feed schedule.
- Verify the saved Source identifier, External ID mapping, parser settings, connection details, and missing-vehicle policy were preserved exactly.
- Test the HTTPS or SFTP connection.
- Run a preview and compare creates, updates, unchanged records, rejections, and missing vehicles with the final source-site run.
- Investigate any unexpected creates or missing records before importing.
- Complete a successful manual import, allow photo work to finish, and only then restore the schedule.
Run the post-migration smoke test
- Homepage, navigation, footer, favicon, and HTTPS redirects.
- Inventory archive count, filters, sorting, Grid/List views, and pagination.
- Representative vehicle pages, gallery images, video, pricing, features, related vehicles, saved vehicles, and social preview.
- General contact and vehicle-inquiry delivery from a private browser window.
- Payment and fuel calculators plus printable vehicle details.
- WordPress scheduled events, Sync preview/run summary, and background photo processing.
- Settings → LotPress Updates connection and available update checks.
- Mobile layout, keyboard navigation, browser console errors, and broken asset requests.
Repeat the essential checks after DNS finishes propagating because tests made through a local hosts-file override may not exercise the same CDN, certificate, or mail configuration.
Recover from a failed migration or update
- Stop additional imports, updates, and editorial changes.
- Record the exact error, affected URLs, timestamps, and component versions before replacing anything.
- If the public site is unusable, return traffic to the last known-good host or maintenance response using the prepared rollback procedure.
- Restore the database and matching uploads from the same verified backup point. Avoid combining an older database with newer uploads unless the recovery plan explicitly accounts for missing attachment records.
- Restore matching theme and plugin versions when the failure followed a code update.
- Save permalinks, clear caches, and run the post-migration smoke test.
- Reconnect private updates or resume Sync only after the restored storefront is stable.
When asking for support, include the public or staging URL, WordPress/PHP/LotPress versions, the operation that failed, and the exact error. Do not send license keys, passwords, feed credentials, Turnstile secrets, or backup archives in an unsolicited message.