Documentatie · Integratiehandleiding

Migratie van staging naar live

Dit document legt uit hoe u de configuratie van de ADP Car Market Hub-plugin migreert van een staging WordPress-site naar een productie- (live) site. Het behandelt welke instellingen moeten worden bijgewerkt, welke tijdelijke gegevens (transients) moeten worden gewist, hoe u geplande imports en cron-taken opnieuw configureert en hoe u de live site valideert voordat u geautomatiseerde imports inschakelt.

Wanneer u dit document moet gebruiken

Gebruik dit document als u:

  • Een volledig geconfigureerde en geteste staging-omgeving voor de eerste keer overzet naar het productiedomein.
  • Een productiedatabase naar staging kopieert en moet weten wat u op staging moet wijzigen, zodat deze de live site niet verstoort.
  • Een servermigratie of domeinwijziging uitvoert op een site die de plugin al in productie heeft draaien.
  • De overdracht coördineert van configuratiewijzigingen (ontwerp, instellingen, mapping-overrides) die op staging zijn ontwikkeld.

De doelgroep is een WordPress-beheerder of bureau-ontwikkelaar die begrijpt hoe WordPress-databases en bestandssystemen tussen omgevingen worden verplaatst. Praktische kennis van wp-config.php en SSH of een hostingcontrolepaneel is nuttig.

Overzicht

De plugin slaat al zijn configuratie op als WordPress-opties in de database (tabel wp_options) en slaat geïmporteerde voertuigberichten, leads, analytics-gebeurtenissen en zoekalert-abonnementen op in afzonderlijke tabellen en post-types. Wanneer een database tussen omgevingen wordt verplaatst — bijvoorbeeld door de staging-database naar productie te kopiëren — verhuizen al die gegevens mee.

Een gekopieerde database behoudt waarden die correct zijn voor de bronomgeving, maar onjuist of onveilig voor de doelomgeving. De belangrijkste voorbeelden zijn:

  • API-inloggegevens (Base URL, Seller IDs, Client ID, Client Secret). Op staging gebruikt u mogelijk een sandbox API-omgeving of minder beveiligde test-inloggegevens. De live site heeft de daadwerkelijke productie-inloggegevens van de dealer nodig.
  • Het cron-token. Het token dat de REST-cron-endpoint van de plugin verifieert, is omgevingsspecifiek. Het gebruik van het staging-token op de live site, of omgekeerd, betekent dat de server-cron-taak de verkeerde URL aanroept of het verkeerde geheim gebruikt.
  • Webhook-doel-URLs. Staging-webhooks verwijzen vaak naar testontvangers. Live webhooks moeten naar het productie-CRM of het notificatie-endpoint verwijzen.
  • De WordPress-site-URL. WordPress slaat zijn eigen URL op in de opties siteurl en home. Deze moeten overeenkomen met het live domein voordat de REST-endpoint-URLs van de plugin en eventuele andere absolute URLs correct worden opgelost.
  • Tijdelijke cachegegevens (transients). Gecachte OAuth-toegangstokens, import-run-locks en de afbeeldingswachtrij bevatten een staging-status die op de live site betekenisloos of schadelijk is.
  • Geplande cron-gebeurtenissen. WP-Cron-gebeurtenissen die op staging waren gepland, bevatten staging-gerelateerde tijdstempels en moeten op de live site opnieuw worden gepland.

Elk van deze punten wordt hieronder stap voor stap behandeld.

Pre-installatie checklist

Voordat u met de migratie begint:

  • Er bestaat een actuele, herstelbare back-up van zowel de staging-database als de productie-database. Migreer nooit zonder een back-up van de huidige status van elke site.
  • De productie-WordPress-installatie voldoet aan de vereisten van de plugin. Zie Technische Systeemvereisten.
  • U hebt toegang tot het wp-config.php-bestand van de productieserver en tot de cron-voorziening van de server als server-cron wordt gebruikt.
  • U kent de productie-API-inloggegevens (API Base URL, Seller IDs, Client ID, Client Secret) en hebt deze via een beveiligd kanaal ontvangen. Zie Externe API-inloggegevens.
  • Als de live site een ander domein gebruikt dan staging, is de domeinwijziging gereed om tegelijk met de databasekopie te worden toegepast op de WordPress-URL-opties.

Step by step instructions

Work through these steps in order. Steps 1 through 5 are preparation on staging before the database is copied. Steps 6 onwards apply to the production site after the database or plugin is in place.

Stap 1 — Schakel automatische imports uit op staging vóór de migratie

Als op de staging-site automatische imports zijn ingeschakeld, schakel deze dan uit voordat u de database kopieert. Dit voorkomt een situatie waarin beide omgevingen dezelfde planningstatus delen en beide tegelijkertijd imports proberen uit te voeren.

  1. Open op de staging-site Car Market Hub → Import & Limieten.
  2. Schakel de optie Automatische import uit en sla de wijzigingen op.
  3. Als een server-cronjob naar het REST-eindpunt van de staging-site verwijst, schakel die cronjob dan ook uit of verwijder deze.

Stap 2 — Maak back-ups

Voordat u wijzigingen aanbrengt op een van de sites:

  1. Maak een database-back-up van de staging-site.
  2. Maak een database-back-up van de live-site.
  3. Als de live-site al geïmporteerde voertuiggegevens en geüploade afbeeldingen bevat, maak dan ook een volledige back-up van het bestandssysteem van wp-content/uploads/.

Stap 3 — Kopieer de database

Kopieer de staging-database naar de live-server met de methode van uw voorkeur (export/import via het controlepaneel van uw hosting, WP-CLI db export / db import, SSH + mysqldump, of een plugin zoals Duplicator of All-in-One WP Migration). De exacte procedure hangt af van uw hostingomgeving.

Als de domeinen tussen staging en live verschillen, voer dan een 'search-and-replace' uit om alle vermeldingen van de staging-URL bij te werken naar de live-URL. Met WP-CLI:

wp search-replace 'https://staging.example.com' 'https://www.example.com' --all-tables

Voer dit commando uit op de live-database, niet op de staging-database. Maak een back-up voordat u dit uitvoert.

Stap 4 — Kopieer de plugin-bestanden

De plugin-bestanden bevinden zich in wp-content/plugins/adp-car-market-hub/. Als de staging- en live-site dezelfde versie van de plugin gebruiken, kan deze stap worden overgeslagen. Als de versies verschillen, kopieer dan de plugin-map van staging naar live (of update naar dezelfde versie via de WordPress-beheeromgeving op beide sites vóór de migratie).

Kopieer wp-config.php niet van staging naar live. De twee wp-config.php-bestanden bevatten verschillende database-inloggegevens en omgevingsspecifieke constanten, en ze moeten onafhankelijk van elkaar blijven.

Stap 5 — Kopieer eventuele theme overrides

Als het thema op de staging-site template override-bestanden voor de plugin bevat (bijvoorbeeld single-as24ci_car.php of archive-as24ci_car.php in de hoofdmap van het thema), kopieer die bestanden dan naar dezelfde locatie in het live-thema. Zie de Template Override Guide voor details over template overrides.

Als er geen template overrides in het thema bestaan, sla deze stap dan over.

Stap 6 — Werk de live API-inloggegevens bij

Na het kopiëren van de database bevat de live wp_options-tabel nog steeds de inloggegevens die op staging waren opgeslagen. Vervang deze door de live-inloggegevens.

  1. Open op de live-site Car Market Hub → Instellingen.
  2. Voer in de kaart API-koppeling & Algemene instellingen de live-waarden in voor: - API Base URL — de HTTPS-URL van de live AutoScout24-omgeving. - Seller ID — de live Seller ID('s) van de dealer. Meerdere ID's worden gescheiden door komma's. - Client ID — de live OAuth client identifier. - Client Secret — het live OAuth client secret. Het veld Client Secret wordt niet vooraf ingevuld wanneer de instellingenpagina wordt geopend; u moet de waarde altijd opnieuw invoeren wanneer u deze wijzigt.
  3. Sla de instellingen op.
  4. Wis het gecachte OAuth-toegangstoken als er nog een bestaat uit de staging-sessie. Het token is opgeslagen als de WordPress transient as24ci_access_token. U kunt dit wissen via Car Market Hub → Tools (zoek naar de actie Token-cache wissen), of door het volgende uit te voeren: `` wp transient delete as24ci_access_token ``
  5. Voer de Verbindungstest uit op Car Market Hub → Tools. Ga pas verder als de test slaagt. Zie Verbindungstest.

Stap 7 — Werk de webhook-URL's bij

Als er webhooks zijn geconfigureerd, kan de staging-configuratie naar een testontvanger verwijzen:

  1. Open Car Market Hub → Leads en zoek de sectie Webhooks.
  2. Werk de Webhook-URL voor nieuwe lead en de Webhook-URL voor nieuwe import bij naar de live-ontvangerseindpunten, of wis ze als webhooks niet live worden gebruikt.
  3. Werk het Webhook-geheim bij als de live-ontvanger een andere geheime waarde gebruikt. Zie Webhook-integratie.

Stap 8 — Bevestig de beheerde AI-configuratie

Als de AI Assistant is ingeschakeld:

  1. Bevestig met AD Promotion dat de beheerde Google Gemini-configuratie in AS24CI\Ai_Config is ingericht voor de live-omgeving. De klant voert geen AI-provider, model of API-sleutel in de WordPress-backend in, en er wordt geen AI-sleutel gemigreerd via de databasekopie.
  2. Ga naar Car Market Hub → AI Assistant en controleer of de functie als geconfigureerd wordt gerapporteerd.

Stap 9 — Wis verouderde transient-gegevens

De gemigreerde database kan transient-waarden uit de staging-omgeving bevatten die niet naar de live-omgeving mogen worden overgedragen:

  1. Wis de import run-lock, indien ingesteld. Dit voorkomt dat de live-site een verouderde status "import al in uitvoering" ziet van een staging-run: `` wp transient delete as24ci_cron_import_running ``
  2. Wis de lock van de image queue worker, indien ingesteld: `` wp transient delete as24ci_image_queue_running ``
  3. Wis optioneel de afbeeldingenwachtrij zelf als de staging-afbeeldingenwachtrij afbeeldingstaken uit de staging-omgeving bevat. De afbeeldingenwachtrij is opgeslagen als een WordPress-optie (as24ci_image_queue) in plaats van een transient. U kunt deze wissen via Car Market Hub → Systeem & HulpAfbeeldingenwachtrij wissen, of vanaf de opdrachtregel: `` wp option delete as24ci_image_queue wp option delete as24ci_image_queue_last_run ``
  4. Verwijder eventuele andere gecachte AI-modellijsten van eerdere staging API-aanroepen. Deze zijn opgeslagen als transients met het voorvoegsel as24ci_. Op WP-CLI kunt u ze inspecteren met wp transient list --search="as24ci_".

Stap 10 — Genereer de cron-token opnieuw

De cron-token van staging mag niet live worden gebruikt. Een andere token voorkomt dat staging-cronjobs per ongeluk live-imports activeren.

  1. Open op de live-site Car Market Hub → Import & Limieten.
  2. Klik in de kaart Automatisering op Token opnieuw genereren. De plugin genereert een nieuwe willekeurige token van 32 tekens en slaat deze op.
  3. Noteer de nieuwe token; u hebt deze nodig in stap 11.

Als u het REST-eindpunt met de token in de URL gebruikt, wordt de nieuwe trigger-URL op dezelfde kaart weergegeven. De oude URL zal na het opnieuw genereren een 403-fout retourneren.

Stap 11 — Configureer de live-cron-instellingen opnieuw

Na het opnieuw genereren van de token is elke server-cronjob die naar de staging-URL wees ongeldig. Configureer de live-cron-instellingen opnieuw:

  1. Als u de server-cron-modus gebruikt, werk dan de server-cronjob(s) bij met de nieuwe live trigger-URL. Zie Server-cron instellen voor het exacte formaat van het commando.
  2. Als u de WP-Cron-modus gebruikt, controleer dan of de constante DISABLE_WP_CRON in wp-config.php correct is ingesteld: - Als de live-site server-cron gebruikt, voeg dan define( 'DISABLE_WP_CRON', true ); toe of bevestig dit in wp-config.php. - Als de live-site afhankelijk is van WP-Cron, verwijder of becommentarieer dan DISABLE_WP_CRON uit wp-config.php als dit was ingesteld voor staging.
  3. Schakel automatische imports opnieuw in op Car Market Hub → Import & Limieten zodra alle inloggegevens en de cron-instellingen zijn gecontroleerd.

Stap 12 — Controleer de standaardpagina's

Wanneer de plugin voor het eerst wordt geactiveerd, maakt deze twee WordPress-pagina's aan (Cars / voertuigarchief en Compare Cars) en slaat de post-ID's op in de opties as24ci_page_archive_id en as24ci_page_compare_id. Als de live-database voorheen leeg was, zijn de gemigreerde pagina-ID's de ID's die op staging zijn gemaakt en verwijzen ze naar staging-berichten. Na de databasekopie bestaan die pagina's op de live-site, maar hun slugs en inhoud moeten worden geverifieerd.

  1. Controleer in WordPress → Pagina's of de voertuigarchiefpagina (standaard slug: cars) and de Compare Cars-pagina bestaan en zijn gepubliceerd.
  2. Bezoek beide pagina's op de frontend en controleer of ze correct worden weergegeven.
  3. Als de pagina's ontbreken of hun ID's verwijzen naar verwijderde berichten, deactiveer en reactiveer de plugin dan om ze opnieuw aan te maken (controleer of Standaardpagina's aanmaken is ingeschakeld in Car Market Hub → Instellingen vóór de reactivatie).

Controleer dit gedrag in de huidige plugin-versie voordat u hierop vertrouwt, aangezien het gedrag bij het aanmaken van pagina's kan variëren.

Na elke domeinwijziging of WordPress URL-update moet u de WordPress permalink-regels flushen, zodat de URL van het voertuigarchief en de URL's van de voertuigdetailpagina's correct worden opgelost:

  1. Open in WordPress Instellingen → Permalinks.
  2. Klik op Wijzigingen opslaan zonder iets te wijzigen. Dit hergenereert de .htaccess rewrite-regels.
  3. Bezoek de voertuigarchiefpagina en een individuele voertuigpagina om te controleren of ze laden zonder 404-fouten.

Stap 14 — Valideer de live-site

Voer na de migratie de volgende validatiecontroles uit:

  1. Verbindungstest. Open Car Market Hub → Tools en voer de Verbindungstest uit. Controleer of deze slaagt voor de live-API. Zie Verbindungstest.
  2. Tabblad Systeem & Hulp. Open Car Market Hub → Systeem & Hulp en controleer alle diagnostische indicatoren. Los eventuele rode of oranje badges op.
  3. Handmatige import. Activeer een handmatige import via Car Market Hub → Import & LimietenNu uitvoeren. Controleer of de import zonder fouten wordt voltooid.
  4. Voertuigarchiefpagina. Bezoek de URL van het voertuigarchief en controleer of geïmporteerde voertuigen verschijnen met de juiste afbeeldingen, prijzen en labels.
  5. Individuele voertuigpagina. Klik door naar een voertuigdetailpagina en controleer of de volledige detail-lay-out, de galerij en het contactformulier functioneren.
  6. Eerste geplande import. Wacht na het inschakelen van de automatische planning op de eerste door cron geactiveerde run en controleer of het tabblad Systeem & Hulp een recente tijdstempel bij Laatste import-run toont.
  7. Logs. Open Car Market Hub → Logs en controleer of er geen authenticatiefouten, API-storingen of andere onverwachte fouten zijn van de eerste live-run.

Configuration reference

De volgende plugin-optiegroepen zijn relevant bij het migreren tussen omgevingen. Ze worden allemaal opgeslagen als WordPress-opties.

OptiegroepVoorbeelden van sleutelsActie op live-site na migratie
API-inloggegevensas24ci_base_url, as24ci_seller_ids, as24ci_client_id, as24ci_client_secretVervang door live-waarden.
Cron-tokenas24ci_cron_tokenGenereer opnieuw op de live-site. Werk server-cronjobs bij.
Beheerde AI-configuratieAS24CI\Ai_Config::MANAGED_GEMINI_API_KEY, MANAGED_GEMINI_MODEL (PHP-constanten, geen opties)Bevestig met AD Promotion dat de beheerde Gemini-configuratie is ingericht voor de live-omgeving. Wordt niet gemigreerd via databasekopie.
Webhook-URL'sas24ci_webhook_url_new_lead, as24ci_webhook_url_new_import, as24ci_webhook_secretWerk bij naar live-ontvanger-URL's en -geheim.
Plugin-pagina'sas24ci_page_archive_id, as24ci_page_compare_idControleer of de gerefeerde pagina's bestaan en zijn gepubliceerd.
Planneras24ci_auto_import_enabled, as24ci_cron_mode, as24ci_cron_scheduleControleer of de planning is geconfigureerd voor live. Schakel uit op staging vóór migratie.
Transient-cacheas24ci_access_token (transient), as24ci_cron_import_running (transient), as24ci_image_queue_running (transient)Verwijder verouderde transients na migratie.
Afbeeldingenwachtrijas24ci_image_queue, as24ci_image_queue_last_runWis als de wachtrij staging-gegevens bevat.

Operationele opmerkingen

  • Slechts één actieve omgeving tegelijk. Schakel na het overzetten van staging naar live de geautomatiseerde imports en eventuele server-cronjobs op de staging-site uit. Als beide omgevingen met dezelfde productie-API-inloggegevens zijn verbonden en tegelijkertijd imports uitvoeren, kan dit leiden tot onvoorspelbare resultaten. Gebruik waar mogelijk afzonderlijke API-inloggegevens per omgeving.
  • Staging moet eigen inloggegevens gebruiken. Nadat de database naar staging is gekopieerd, vervangt u de API-inloggegevens op staging door sandbox- of staging-omgevingswaarden. Laat geen productie-inloggegevens achter op een staging-site. Zie API-inloggegevens instellen.
  • Voorzichtigheid geboden met Volledige Synchronisatie. De optie Volledige Synchronisatie verwijdert lokale voertuigberichten die niet langer aanwezig zijn in de API-respons. Schakel Volledige Synchronisatie pas in op de live-site nadat ten minste één volledige importcyclus is waargenomen en als correct is bevestigd. Het inschakelen ervan vóór de eerste schone import kan leiden tot voortijdige verwijderingen.
  • Analytics- en leadgegevens. De migratie kopieert alle analytics-gebeurtenissen en lead-berichten van staging naar productie. Dit zijn synthetische of testrecords en deze kunnen de rapportage vertekenen. Afhankelijk van de vereisten van de dealer wilt u wellicht op staging gegenereerde analytics uit de productiedatabase verwijderen voordat u echt verkeer toestaat. De analytics-gegevens worden opgeslagen in de {prefix}as24ci_analytics databasetabel. Controleer dit voordat u deze wist.
  • Abonnementen op zoekfilters. De zoekfilterabonnementen van de plugin (naam bezoeker, e-mailadres, zoekcriteria) worden opgeslagen in de {prefix}as24ci_search_agents tabel. Testabonnementen van staging moeten uit de productiedatabase worden verwijderd. Dit zijn persoonsgegevens en deze mogen niet zonder legitiem doel worden bewaard.
  • Permalinks-structuur. De voertuigarchief-URL (standaard slug cars) en individuele voertuig-URL's (/cars/{slug}/) zijn afhankelijk van het feit of mooie permalinks zijn ingeschakeld. Controleer na de migratie of Instellingen → Permalinks niet is ingesteld op de standaard (query-string) modus.
  • wp-config.php wordt niet gemigreerd. Houd wp-config.php-bestanden onafhankelijk tussen omgevingen. De database-inloggegevens, DISABLE_WP_CRON, WP_DEBUG en andere omgevingsconstanten moeten de configuratie van de doelomgeving weerspiegelen.
  • Logmap. De plugin schrijft import- en foutenlogs naar wp-content/uploads/as24ci-logs/. Staging-logbestanden zullen na een volledige migratie van het bestandssysteem in die map staan. De loggegevens zijn niet schadelijk op productie, maar kunnen wel verwarrend zijn. U kunt staging-logbestanden roteren of archiveren voordat u productie-imports inschakelt als een schone startstatus de voorkeur heeft.
  • Cache-invalidatie. Wis na een domeinwijziging en databasemigratie alle WordPress object-caches, pagina-caches, CDN-caches en PHP opcode-caches, zodat de nieuwe URL's en nieuwe plugin-opties consistent worden geserveerd.

Probleemoplossing

SymptoomWaarschijnlijke oorzaakWat te controleren
Verbindungstest mislukt op productie, maar is geslaagd op staging.Productie-inloggegevens zijn niet bijgewerkt na de databasekopie, of er wordt nog een gecachte staging-token gebruikt.Voer de productie-API-inloggegevens opnieuw in en wis de access token transient (as24ci_access_token). Voer de Verbindungstest opnieuw uit.
Server-cron retourneert 403 "Invalid or missing token" na migratie.Het cron-token is opnieuw gegenereerd in stap 10, maar de server-cronjob gebruikt nog steeds de oude staging-URL.Kopieer de nieuwe trigger-URL van de Automation-kaart en werk de server-cronjob bij.
Voertuigarchief of individuele voertuigpagina's retourneren 404 na domeinwijziging.Permalink-regels zijn niet geflusht sinds de URL-wijziging.Open Instellingen → Permalinks en klik op Wijzigingen opslaan.
Zowel staging als productie importeren op hetzelfde moment.Geautomatiseerde imports waren vóór de migratie niet uitgeschakeld op staging.Schakel geautomatiseerde imports en eventuele server-cronjobs op de staging-site onmiddellijk uit.
Geïmporteerde voertuigafbeeldingen ontbreken op de live-site.De afbeeldingsbestanden in wp-content/uploads/ zijn niet gekopieerd van staging naar productie (alleen de database is verplaatst).Kopieer de wp-content/uploads/-map van staging naar productie, of start een nieuwe import op de live-site met Afbeeldingen importeren ingeschakeld.
E-mails met leadmeldingen worden afgeleverd op het e-mailadres van de staging-ontvanger.De optie voor het e-mailadres van de lead-ontvanger is gekopieerd van staging en niet bijgewerkt.Open de instellingen van Car Market Hub → Leads en werk het e-mailadres van de ontvanger bij naar het productieadres.
Analytics-gegevens tonen te hoge cijfers door testactiviteit op staging.De staging-analytics-gebeurtenissen zijn gekopieerd naar de productiedatabase.Verwijder door tests gegenereerde rijen uit de {prefix}as24ci_analytics tabel, of noteer de migratiedatum en filter rapporten dienovereenkomstig.
Het tabblad Systeem & Hulp toont een verouderde tijdstempel voor "Laatste externe cron-run".De cronjob wordt uitgevoerd, maar gebruikt de verkeerde URL (staging-URL) of het verkeerde token.Werk de URL en het token van de cronjob bij zodat ze overeenkomen met de waarden op de productie-Automation-kaart.
Importstarts beginnen maar eindigen onmiddellijk met "Import al in uitvoering".Een verouderde run-lock transient is gekopieerd van staging.Verwijder de as24ci_cron_import_running transient en probeer het opnieuw.

Gerelateerde documenten