Imagen de Ayuda dinahosting

Configuraciones específicas para entornos de staging (WordPress y prestashop)

General

Categorías


Estás en
Inicio > Hosting > General > Configuraciones específicas para entornos de staging (WordPress y prestashop)

Configuraciones específicas para entornos de staging (WordPress y prestashop)

Como ya indicábamos en el manual de creación de entornos de staging, cuando creamos un nuevo entorno de pruebas, o cuando queremos pasar un entorno de staging a producción es necesario realizar una serie de comprobaciones y establecer configuraciones específicas para asegurarnos de que los entornos están funcionando de manera independiente, estos son:

  • Actualizar las variables de entorno (credenciales de API, claves privadas, etc.)
  • Desactiva la indexación en motores de búsqueda para evitar problemas de SEO por duplicidad de contenido, o bien limita el acceso al staging.
  • Cambiar referencias en web y base de datos para evitar conexiones cruzadas

Configuraciones en staging para adaptar la web

Actualizar las variables de entorno

Las claves API en un entorno de producción suelen estar vinculadas a servicios críticos, como pueden ser pasarelas de pago, inventarios, integraciones de marketing, RRSS., etc.

En un entorno de staging, estas integraciones pueden generar conflictos con otros entornos o errores si no se modifican. Cambiar las claves API permite realizar pruebas con datos de prueba y proteger los sistemas reales.

Cambiar las claves API en WordPress

Lo primero que haremos será acceder al panel de administración de tu WordPress y acceder a las configuraciones REST API:

Lo habitual es que uses un plugin para administrar estas claves como puede ser Application Passwords o JWT Authentication, revisa las configuraciones de estos plugins, normalmente encontrarás estas opciones en el apartado Usuarios > Perfil o en las opciones del plugin.

  • En tu entorno de staging, dsactiva cualquier clave API usada en producción.
  • Genera una nueva clave API específica para staging con permisos limitados.
  • Actualiza las configuraciones en tu aplicación externa o servicio conectado para usar esta nueva clave.
  • Finalmente: Realiza una solicitud a la REST API de tu web con la nueva clave y verifica que los datos se envían correctamente al entorno de staging.

Cambiar las claves API en PrestaShop

Al igual que hemos hecho en WordPress, lo primero es acceder al apartado de administración de nuestro PrestaShop:

  • Una vez dentro, en el menú lateral, vamos a la sección Parámetros Avanzados > Webservice.
  • Genera una nueva clave API desde el botón Añadir nuevo.
  • Configura permisos específicos para recursos clave, como productos, pedidos o clientes, según lo que necesite tu entorno de staging.
  • Actualiza las configuraciones en tu aplicación externa o servicio conectado para usar esta nueva clave.
  • Realiza pruebas en staging para asegurarte de que los datos se manejan correctamente sin afectar al entorno producción.

Desactivar indexación en motores

Para evitar problemas de SEO por duplicidad de contenido, es importarte que los robots e indexadores no accedan a tus entornos de staging. Tanto WordPress como Prestashop tienen su propia opción en el apartado de admin para disuadir motores de búsqueda, no obstante existe una opción muy util para ambos casos que se hace mediante el fichero robots.txt

  • Genera en tu equipo un fichero de texto que se llame robots.txt
  • Edita el fichero en cuestión, añade el siguiente código y guarda los cambios:

User-agent: *
Disallow: /

  • Sube este fichero a tu entorno de staging

Adicionalmente, desde tu panel de control del hosting puedes configurar un acceso restringido por usuario y contraseña a tu apartado de staging, Esto evita que cualquier usuario o bot acceda al entorno de staging, incluso si ignoran el robots.txt.

Protección en staging

Cambiar referencias en web y base de datos

Al duplicar tu web en un entorno de staging, lo primero que podrás observar,  es que muchos recursos de tu web, como pueden ser imágenes o ficheros siguen cargando directamente de tu entorno en producción, lo mismo ocurre también con las llamadas a la base de datos. Por ello será necesario cambiar estas referencias en la web y base de datos al poner tu entorno en staging o bien para convertir tu entorno de staging en producción.

Modificar cadenas de conexión a BBDD

  • Para WordPress: Localiza el fichero wp-config.php, normalmente ubicado en la raíz de la instalación, y modifica las líneas que hacen referencia a la base de datos:

define('DB_NAME', 'nombre_de_la_base_de_datos');
define('DB_USER', 'usuario_de_la_base_de_datos');
define('DB_PASSWORD', 'contraseña_de_la_base_de_datos');
define('DB_HOST', 'localhost'); // Puede ser una IP o nombre de servidor.

  • Para PrestaShop: La ruta por defecto de este fichero está localizada el fichero en la ruta /app/config/parameters.php y las lineas que debemos modificar son las siguientes:

'parameters' => [
'database_host' => 'localhost', // Dirección del servidor de base de datos.
'database_port' => '3306', // Puerto del servidor, generalmente 3306 para MySQL.
'database_name' => 'nombre_de_la_base_de_datos',
'database_user' => 'usuario_de_la_base_de_datos',
'database_password' => 'contraseña_de_la_base_de_datos',
'database_prefix' => 'ps_', // Prefijo de las tablas.

Scripts de modificación de referencias en web

Estos scripts te serán de ayuda a la hora de cambiar referencias en tu web con WordPress o PrestaShop. Antes de ejecutarlos, ten muy en cuenta que están preparados para casos generales, si tienes dudas antes de hacer uno de estos cambios contacta con tu programador web.

Cambiar referencias en base de datos WordPress

Estos scripts se utilizan desde consola ssh con la función wp-cli instalada por defecto en todos los hostings:

wp search-replace "ejemplo.com" "staging.ejemplo.com" --precise --skip-tables=wp_users --all-tables
wp search-replace "/home/ruta/al/directorio/produccion/www/" "/home/ruta/al/directorio/staging/www/" --precise --all-tables

En este código se cambiarían todas la referencias de la web ejemplo.com por las de staging.ejemplo.com y las rutas correspondientes del entorno de producción por las del entorno de staging.

Asegúrate de cambiar tanto nombre de dominio como las rutas en el script por las que corresponden a tu dominio y entorno de staging.

Es aconsejable lanzarlo previamente con el flag –dry-run para simular los cambios y asegurarse de que no da errores. A su vez es posible que tengas que repetir la ejecución del script, pues a veces el script no ejecuta todos los cambios en la primera ejecución.

En el caso de usar el plugin elementor-pro, será necesario ejecutar las siguientes líneas adicionalmente:

wp elementor replace_urls https://ejemplo.com https://staging.ejemplo.com
wp elementor replace_urls http://ejemplo.com http://staging.com

Al igual que antes, asegúrate de cambiar el nombre de dominio por el de tu web

Cambiar referencias en ficheros para WordPress

También desde SSH, para cambiar las referencias en los ficheros de tu web, puedes ejecutar estos comandos desde la raíz del directorio de stage

rgrep -l ejemplo.com | xargs sed -i 's/ejemplo.com/staging.ejemplo.com/g'
rgrep -l "/home/ejemplo/www/" | xargs sed -i 's/\/home\/ejemplo\/www\//\/home\/ruta\/entorno\/stage\/www\//g'

Recuerda cambiar las líneas que te damos indicando tu dominio y tu entorno de staging, así como sus rutas

Cambiar referencias en base de datos PrestaShop

Para cambiar las referencias en base de datos de tu PrestaShop, debes primero crear un fichero SQL de tu entorno de staging y ejecutar los siguientes comandos sobre el mismo:

sed -i 's/ejemplo.com/stgaging.ejemplo.com/g' fichero.sql
sed -i 's/\/home\/ejemplo\/www\//\/home\/ruta\/entorno\/stage\/www\//g' fichero.sql

Una vez ejecutadas las líneas podremos importar el fichero SQL sobre nuestra BBDD de staging

Cambiar referencias en ficheros de PrestaShop

De forma muy similar a como se hace en WordPress ejecutamos estas lineas en la consola SSH, desde la raíz del directorio de stage

rgrep -l ejemplo.com| xargs sed -i 's/ejemplo.com/staging.ejemplo.com/g'
rgrep -l "/home/ejemplo/www/" | xargs sed -i 's/\/home\/ejemplo\/www\//\/home\/ruta\/entorno\/stage\/www\//g'

¿Y para cambiar de un entorno stage a producción?

Estos mismos comandos comando que acabamos de ver también te servirán cuando quieras pasar tu entorno de stage a producción, solo tendrás que cambiar el dominio o las rutas en cada una de las líneas que te indicamos anteriormente.

Con esto habremos terminado las configuraciones del entorno de staging y estaremos listos para trabajar o realizar nuevos cambios.

Publicado en

Skip to content