Documentación · Guía de integración

Migración de Staging a Producción

Este documento explica cómo migrar la configuración del plugin ADP Car Market Hub desde un sitio de staging de WordPress a un sitio de producción (en vivo). Cubre qué ajustes deben actualizarse, qué datos temporales deben borrarse, cómo reconfigurar las importaciones programadas y las tareas cron, y cómo validar el sitio en vivo antes de habilitar las importaciones automatizadas.

Cuándo utilizar este documento

Utilice este documento si está:

  • Promocionando por primera vez un entorno de staging completamente configurado y probado al dominio de producción.
  • Copiando una base de datos de producción a staging y necesita saber qué cambiar en staging para que no interfiera con el sitio en vivo.
  • Realizando una migración de servidor o un cambio de dominio en un sitio que ya está ejecutando el plugin en producción.
  • Coordinando la promoción de cambios de configuración (diseño, ajustes, anulaciones de mapeo) que se desarrollaron en staging.

El público destinatario es un administrador de WordPress o un desarrollador de agencia que comprenda cómo se mueven las bases de datos y los sistemas de archivos de WordPress entre entornos. Es útil tener conocimientos prácticos de wp-config.php y de SSH o de un panel de control de hosting.

Descripción general

El plugin almacena toda su configuración como opciones de WordPress en la base de datos (tabla wp_options ) y almacena las publicaciones de vehículos importados, leads, eventos de analítica y suscripciones de alertas de búsqueda en tablas y tipos de publicación separados. Cuando una base de datos se mueve entre entornos —por ejemplo, al copiar la base de datos de staging a producción—, todos esos datos se mueven con ella.

Una base de datos copiada conserva valores que son correctos para el entorno de origen pero incorrectos o inseguros para el entorno de destino. Los ejemplos más importantes son:

  • Credenciales de la API (URL base, Seller IDs, Client ID, Client Secret). En staging es posible que esté utilizando un entorno de API sandbox o credenciales de prueba de menor seguridad. El sitio en vivo necesita las credenciales de producción reales del concesionario.
  • El token de cron. El token que autentica el endpoint REST de cron del plugin es específico del entorno. Usar el token de staging en el sitio en vivo, o viceversa, significa que la tarea cron del servidor está llamando a la URL incorrecta o usando el secreto incorrecto.
  • URLs de destino de los webhooks. Los webhooks de staging a menudo apuntan a receptores de prueba. Los webhooks en vivo deben apuntar al CRM de producción o al endpoint de notificación.
  • La URL del sitio de WordPress. WordPress almacena su propia URL en las opciones siteurl y home. Estas deben coincidir con el dominio en vivo antes de que las URLs del endpoint REST del plugin y cualquier otra URL absoluta se resuelvan correctamente.
  • Datos de caché transitorios. Los tokens de acceso OAuth almacenados en caché, los bloqueos de ejecución de importación y la cola de imágenes contienen estados de staging que no tienen sentido o son perjudiciales en el sitio en vivo.
  • Eventos cron programados. Los eventos de WP-Cron que se programaron en staging llevan marcas de tiempo relativas a staging y deben reprogramarse en el sitio en vivo.

Cada uno de estos puntos se aborda paso a paso a continuación.

Requisitos previos

Antes de comenzar la migración:

  • Existe una copia de seguridad actual y restaurable tanto de la base de datos de staging como de la base de datos de producción. Nunca realice una migración sin una copia de seguridad del estado actual de cada sitio.
  • La instalación de WordPress en producción cumple con los requisitos del plugin. Consulte los Requisitos técnicos del sistema.
  • Tiene acceso al archivo wp-config.php del servidor de producción y a la utilidad de cron del servidor si se utiliza el cron del servidor.
  • Conoce las credenciales de la API de producción (URL base de la API, Seller IDs, Client ID, Client Secret) y las ha recibido a través de un canal seguro. Consulte las Credenciales de la API externa.
  • Si el sitio de producción utiliza un dominio diferente al de staging, el cambio de dominio está listo para aplicarse a las opciones de URL de WordPress al mismo tiempo que la copia de la base de datos.

Instrucciones paso a paso

Realice estos pasos en orden. Los pasos del 1 al 5 son de preparación en el entorno de staging antes de copiar la base de datos. Los pasos a partir del 6 se aplican al sitio de producción una vez que la base de datos o el plugin están en su lugar.

Paso 1 — Desactivar las importaciones automáticas en staging antes de la migración

Si el sitio de staging tiene activadas las importaciones automáticas, desactívelas antes de copiar la base de datos. Esto evita una situación en la que ambos entornos compartan el mismo estado de programación e intenten ejecutar importaciones al mismo tiempo.

  1. En el sitio de staging, abra Car Market Hub → Import & Limits.
  2. Desactive el interruptor Automatic import y guarde los cambios.
  3. Si un trabajo de cron del servidor apunta al endpoint REST del sitio de staging, desactive o elimine también ese trabajo de cron.

Paso 2 — Realizar copias de seguridad

Antes de realizar cualquier cambio en cualquiera de los sitios:

  1. Realice una copia de seguridad de la base de datos del sitio de staging.
  2. Realice una copia de seguridad de la base de datos del sitio de producción.
  3. Si el sitio de producción ya tiene datos de vehículos importados e imágenes subidas, realice también una copia de seguridad completa del sistema de archivos de wp-content/uploads/.

Paso 3 — Copiar la base de datos

Copie la base de datos de staging al servidor de producción utilizando su método preferido (exportación/importación del panel de control del hosting, WP-CLI db export / db import, SSH + mysqldump, o un plugin como Duplicator o All-in-One WP Migration). El procedimiento exacto depende de su entorno de hosting.

Si los dominios difieren entre staging y producción, ejecute una búsqueda y reemplazo para actualizar todas las apariciones de la URL de staging a la URL de producción. Usando WP-CLI:

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

Ejecute este comando en la base de datos de producción, no en la de staging. Realice una copia de seguridad antes de ejecutarlo.

Paso 4 — Copiar los archivos del plugin

Los archivos del plugin se encuentran en wp-content/plugins/adp-car-market-hub/. Si los sitios de staging y producción ejecutan la misma versión del plugin, este paso se puede omitir. Si las versiones difieren, copie el directorio del plugin de staging a producción (o actualice a la misma versión a través del administrador de WordPress en ambos sitios antes de migrar).

No copie wp-config.php de staging a producción. Los dos archivos wp-config.php contienen diferentes credenciales de base de datos y constantes específicas del entorno, y deben permanecer independientes.

Paso 5 — Copiar las modificaciones del tema si corresponde

Si el tema en el sitio de staging contiene archivos de modificación de plantillas para el plugin (por ejemplo, single-as24ci_car.php o archive-as24ci_car.php en la raíz del tema), copie esos archivos a la misma ubicación en el tema de producción. Consulte la Guía de modificación de plantillas para obtener más detalles sobre las modificaciones de plantillas.

Si no existen modificaciones de plantillas en el tema, omita este paso.

Paso 6 — Actualizar las credenciales de la API de producción

Después de copiar la base de datos, la tabla wp_options de producción todavía contiene las credenciales que se guardaron en staging. Reemplácelas con las credenciales de producción.

  1. En el sitio de producción, abra Car Market Hub → Settings.
  2. En la tarjeta API Connection & General Settings, introduzca los valores de producción para: - API Base URL: la URL HTTPS del entorno AutoScout24 de producción. - Seller ID: el Seller ID de producción del concesionario. Varios ID se separan por comas. - Client ID: el identificador de cliente OAuth de producción. - Client Secret: el secreto de cliente OAuth de producción. El campo Client Secret no se rellena previamente al abrir la página de configuración; siempre debe volver a introducir el valor al cambiarlo.
  3. Guarde la configuración.
  4. Borre el token de acceso OAuth almacenado en caché si existe alguno de la sesión de staging. El token se almacena como el transient as24ci_access_token de WordPress. Puede borrarlo desde Car Market Hub → Tools (busque la acción Clear token cache), o ejecutando:
   wp transient delete as24ci_access_token
  1. Ejecute la Prueba de conexión en Car Market Hub → Tools. No continúe hasta que la prueba sea correcta. Consulte la Prueba de conexión.

Paso 7 — Actualizar las URL de los webhooks

Si los webhooks están configurados, la configuración de staging puede apuntar a un receptor de pruebas:

  1. Abra Car Market Hub → Leads y localice la sección Webhooks.
  2. Actualice la New lead webhook URL y la New import webhook URL a los endpoints del receptor de producción, o bórrelas si no se utilizan webhooks en producción.
  3. Actualice el Webhook secret si el receptor de producción utiliza un valor de secreto diferente. Consulte la Integración de webhooks.

Paso 8 — Confirmar la configuración de IA gestionada

Si el AI Assistant está activado:

  1. Confirme con AD Promotion que la configuración gestionada de Google Gemini en AS24CI\Ai_Config está aprovisionada para el entorno de producción. El cliente no introduce un proveedor de IA, modelo o clave de API en el backend de WordPress, y ninguna clave de IA se migra a través de la copia de la base de datos.
  2. Visite Car Market Hub → AI Assistant y confirme que la función se reporta como configurada.

Paso 9 — Borrar datos transient obsoletos

La base de datos migrada puede contener valores transient del entorno de staging que no deben trasladarse a producción:

  1. Borre el bloqueo de ejecución de importación, si está establecido. Esto evita que el sitio de producción vea un estado obsoleto de "importación ya en progreso" de una ejecución de staging:
   wp transient delete as24ci_cron_import_running
  1. Borre el bloqueo del worker de la cola de imágenes, si está establecido:
   wp transient delete as24ci_image_queue_running
  1. Opcionalmente, borre la propia cola de imágenes si la cola de imágenes de staging contiene tareas de imágenes del entorno de staging. La cola de imágenes se almacena como una opción de WordPress (as24ci_image_queue) en lugar de un transient. Puede borrarla desde Car Market Hub → System & HelpClear image queue, o desde la línea de comandos:
   wp option delete as24ci_image_queue
   wp option delete as24ci_image_queue_last_run
  1. Elimine cualquier otra lista de modelos de IA almacenada en caché de llamadas anteriores a la API de staging. Estas se almacenan como transients con el prefijo as24ci_. En WP-CLI puede inspeccionarlas con wp transient list --search="as24ci_".

Paso 10 — Regenerar el token de cron

El token de cron de staging no debe utilizarse en producción. Un token diferente evita que los trabajos de cron de staging activen accidentalmente importaciones de producción.

  1. En el sitio de producción, abra Car Market Hub → Import & Limits.
  2. En la tarjeta Automation, haga clic en Regenerate Token. El plugin genera un nuevo token aleatorio de 32 caracteres y lo guarda.
  3. Anote el nuevo token; lo necesitará en el paso 11.

Si utiliza el endpoint REST con el token en la URL, la nueva URL de activación se muestra en la misma tarjeta. La URL antigua devolverá un error 403 después de la regeneración.

Paso 11 — Reconfigurar la configuración del cron de producción

Después de la regeneración del token, cualquier trabajo de cron del servidor que apuntara a la URL de staging no será válido. Reconfigure la configuración del cron de producción:

  1. Si utiliza el modo de cron del servidor, actualice los trabajos de cron del servidor con la nueva URL de activación de producción. Consulte la Configuración del cron del servidor para conocer el formato exacto del comando.
  2. Si utiliza el modo WP-Cron, confirme que la constante DISABLE_WP_CRON en wp-config.php está configurada adecuadamente: - Si el sitio de producción utiliza el cron del servidor, añada o confirme define( 'DISABLE_WP_CRON', true ); en wp-config.php. - Si el sitio de producción depende de WP-Cron, elimine o comente DISABLE_WP_CRON de wp-config.php si se estableció para staging.
  3. Vuelva a activar las importaciones automáticas en Car Market Hub → Import & Limits una vez que se hayan validado todas las credenciales y la configuración del cron.

Paso 12 — Comprobar las páginas predeterminadas

Cuando el plugin se activa por primera vez, crea dos páginas de WordPress (Cars / archivo de vehículos y Compare Cars) y almacena sus ID de publicación en las opciones as24ci_page_archive_id y as24ci_page_compare_id. Si la base de datos de producción estaba previamente vacía, los ID de página migrados son los creados en staging y se refieren a publicaciones de staging. Después de copiar la base de datos, esas páginas existen en el sitio de producción, pero se deben verificar sus slugs y su contenido.

  1. En WordPress → Pages, confirme que la página de archivo de vehículos (slug predeterminado: cars) y la página Compare Cars existen y están publicadas.
  2. Visite ambas páginas en el frontend y confirme que se renderizan correctamente.
  3. Si faltan las páginas o sus ID apuntan a publicaciones eliminadas, desactive y vuelva a activar el plugin para volver a crearlas (confirme que Create default pages está activado en Car Market Hub → Settings antes de la reactivación).

Verifique este comportamiento en la versión actual del plugin antes de confiar en él, ya que el comportamiento de creación de páginas puede variar.

Paso 13 — Limpiar las reglas de enlaces permanentes

Después de cualquier cambio de dominio o actualización de URL de WordPress, limpie las reglas de enlaces permanentes de WordPress para que la URL del archivo de vehículos y las URL de las páginas de detalles de los vehículos se resuelvan correctamente:

  1. En WordPress, abra Settings → Permalinks.
  2. Sin cambiar nada, haga clic en Save Changes. Esto regenera las reglas de reescritura de .htaccess.
  3. Visite la página de archivo de vehículos y la página de un solo vehículo para confirmar que se cargan sin errores 404.

Paso 14 — Validar el sitio de producción

Realice las siguientes comprobaciones de validación después de la migración:

  1. Prueba de conexión. Abra Car Market Hub → Tools y ejecute la Prueba de conexión. Confirme que tiene éxito contra la API de producción. Consulte la Prueba de conexión.
  2. Pestaña System & Help. Abra Car Market Hub → System & Help y revise todos los indicadores de diagnóstico. Resuelva cualquier distintivo rojo o ámbar.
  3. Importación manual. Active una importación manual desde Car Market Hub → Import & LimitsRun now. Confirme que la importación se completa sin errores.
  4. Página de archivo de vehículos. Visite la URL del archivo de vehículos y confirme que los vehículos importados aparecen con las imágenes, precios y etiquetas correctos.
  5. Página de un solo vehículo. Haga clic para acceder a la página de detalles de un vehículo y confirme que el diseño de detalles completo, la galería y el formulario de contacto funcionan correctamente.
  6. Primera importación programada. Después de activar la programación automática, espere a la primera ejecución activada por cron y confirme que la pestaña System & Help muestra una marca de tiempo reciente en Last import run.
  7. Logs. Abra Car Market Hub → Logs y confirme que no hay errores de autenticación, fallos de la API u otros errores inesperados de la primera ejecución de producción.

Referencia de configuración

Los siguientes grupos de opciones del plugin son relevantes al migrar entre entornos. Todos se almacenan como opciones de WordPress.

Grupo de opcionesEjemplos de clavesAcción en el sitio en vivo después de la migración
Credenciales de la APIas24ci_base_url, as24ci_seller_ids, as24ci_client_id, as24ci_client_secretReemplazar con los valores de producción.
Token de cronas24ci_cron_tokenRegenerar en el sitio en vivo. Actualizar los trabajos de cron del servidor.
Configuración de IA gestionadaAS24CI\Ai_Config::MANAGED_GEMINI_API_KEY, MANAGED_GEMINI_MODEL (constantes de PHP, no opciones)Confirmar con AD Promotion que la configuración gestionada de Gemini está aprovisionada para el entorno de producción. No se migra mediante copia de base de datos.
URL de webhooksas24ci_webhook_url_new_lead, as24ci_webhook_url_new_import, as24ci_webhook_secretActualizar a las URL y el secreto del receptor de producción.
Páginas del pluginas24ci_page_archive_id, as24ci_page_compare_idVerificar que las páginas referenciadas existen y están publicadas.
Programadoras24ci_auto_import_enabled, as24ci_cron_mode, as24ci_cron_scheduleConfirmar que la programación está configurada para producción. Desactivar en staging antes de la migración.
Caché transientas24ci_access_token (transient), as24ci_cron_import_running (transient), as24ci_image_queue_running (transient)Eliminar los transients obsoletos después de la migración.
Cola de imágenesas24ci_image_queue, as24ci_image_queue_last_runBorrar si la cola contiene datos de staging.

Notas operativas

  • Solo un entorno activo a la vez. Después de promocionar staging a live, desactive las importaciones automatizadas y cualquier tarea cron del servidor en el sitio de staging. Tener ambos entornos conectados a las mismas credenciales de API de producción y ejecutando importaciones simultáneamente puede causar resultados impredecibles. Utilice credenciales de API independientes por entorno siempre que sea posible.
  • Staging debe usar sus propias credenciales. Después de copiar la base de datos a staging, reemplace las credenciales de la API en staging con los valores del entorno de sandbox o staging. No deje credenciales de producción en un sitio de staging. Consulte External API Credentials.
  • Precaución con la Sincronización Completa (Full Sync). La opción Full Sync elimina las publicaciones de vehículos locales que ya no están presentes en la respuesta de la API. No active Full Sync en el sitio en vivo hasta que se haya observado y confirmado como correcto al menos un ciclo completo de importación. Activarlo antes de la primera importación limpia puede causar eliminaciones prematuras.
  • Datos de analítica y leads. La migración copia todos los eventos de analítica y publicaciones de leads desde staging a producción. Estos son registros sintéticos o de prueba y pueden distorsionar los informes. Dependiendo de los requisitos del distribuidor, es posible que desee eliminar la analítica generada en staging de la base de datos de producción antes de habilitar el tráfico real. Los datos de analítica se almacenan en la tabla de la base de datos {prefix}as24ci_analytics. Verifique antes de purgar.
  • Suscripciones a alertas de búsqueda. Las suscripciones a alertas de búsqueda del plugin (nombre del visitante, correo electrónico, criterios de búsqueda) se almacenan en la tabla {prefix}as24ci_search_agents. Las suscripciones de prueba de staging deben eliminarse de la base de datos de producción. Estos son registros de datos personales y no deben conservarse sin un propósito legítimo.
  • Estructura de enlaces permanentes. La URL del archivo de vehículos (slug por defecto cars) y las URL de vehículos individuales (/cars/{slug}/) dependen de que los enlaces permanentes amigables estén activados. Confirme después de la migración que Ajustes → Enlaces permanentes no esté configurado en modo simple (cadena de consulta).
  • wp-config.php no se migra. Mantenga los archivos wp-config.php independientes entre entornos. Las credenciales de la base de datos, DISABLE_WP_CRON, WP_DEBUG y otras constantes de entorno deben reflejar la configuración del entorno de destino.
  • Directorio de logs. El plugin escribe los logs de importación y errores en wp-content/uploads/as24ci-logs/. Los archivos de log de staging estarán en ese directorio después de una migración completa del sistema de archivos. Los datos de log no son dañinos en producción, pero pueden resultar confusos. Puede rotar o archivar los archivos de log de staging antes de habilitar las importaciones de producción si prefiere un estado inicial limpio.
  • Invalidación de caché. Después de un cambio de dominio y la migración de la base de datos, borre todas las cachés de objetos de WordPress, cachés de página, cachés de CDN y cachés de opcode de PHP para que las nuevas URL y las opciones frescas del plugin se sirvan de manera consistente.

Resolución de problemas

SíntomaCausa probableQué comprobar
La Prueba de conexión falla en producción pero pasó en staging.Las credenciales de producción no se actualizaron después de copiar la base de datos, o todavía se está utilizando un token de staging almacenado en caché.Vuelva a introducir las credenciales de la API de producción y borre el transitorio del token de acceso (as24ci_access_token). Vuelva a ejecutar la Prueba de conexión.
El cron del servidor devuelve 403 "Invalid or missing token" después de la migración.El token de cron se regeneró en el paso 10 pero la tarea cron del servidor todavía utiliza la URL antigua de staging.Copie la nueva URL de activación de la tarjeta de Automatización y actualice la tarea cron del servidor.
El archivo de vehículos o las páginas de vehículos individuales devuelven 404 después del cambio de dominio.Las reglas de enlaces permanentes no se han regenerado desde el cambio de URL.Abra Ajustes → Enlaces permanentes y haga clic en Guardar cambios.
Tanto staging como producción están importando al mismo tiempo.Las importaciones automatizadas no se desactivaron en staging antes de la migración.Desactive inmediatamente las importaciones automatizadas y cualquier tarea cron del servidor en el sitio de staging.
Faltan las imágenes de los vehículos importados en el sitio en vivo.Los archivos de imagen en wp-content/uploads/ no se copiaron de staging a producción (solo se movió la base de datos).Copie el directorio wp-content/uploads/ de staging a producción, o inicie una nueva importación en el sitio en vivo con la opción Importar imágenes activada.
Los correos electrónicos de notificación de leads se entregan a la dirección de destinatario de staging.La opción de correo electrónico del destinatario de leads se copió de staging y no se actualizó.Abra la configuración de Car Market Hub → Leads y actualice el correo electrónico del destinatario con la dirección de producción.
Los datos de analítica muestran números inflados debido a la actividad de prueba en staging.Los eventos de analítica de staging se copiaron a la base de datos de producción.Elimine las filas generadas por las pruebas de la tabla {prefix}as24ci_analytics, o anote la fecha de migración y filtre los informes en consecuencia.
La pestaña Sistema y Ayuda muestra una marca de tiempo obsoleta de "Última ejecución de cron externo".La tarea cron se está ejecutando pero utiliza la URL incorrecta (URL de staging) o el token incorrecto.Actualice la URL y el token de la tarea cron para que coincidan con los valores de la tarjeta de Automatización de producción.
Las ejecuciones de importación comienzan pero terminan inmediatamente con "Importación ya en curso".Se copió un transitorio de bloqueo de ejecución obsoleto desde staging.Elimine el transitorio as24ci_cron_import_running y vuelva a intentarlo.

Documentos relacionados