Todo cambio hecho directamente en un sitio en producción es un cambio probado sobre sus clientes. Una copia de pruebas cuesta un subdominio y elimina eso por completo, siempre que tres cosas estén resueltas, porque un sitio de pruebas descuidado hace daño de verdad.
1. Manténgalo fuera de los resultados de búsqueda
Una copia de pruebas indexada por Google compite con el sitio real por su propio contenido, y los clientes aterrizan en una página a medio hacer. Bloquéela antes de que exista, no después.
# nginx, on the staging server block only
add_header X-Robots-Tag "noindex, nofollow" always;
Protéjalo además con contraseña: es el único método que impide también que se comparta un enlace por descuido.
2. Impida que envíe correo
Una copia de pruebas con una tabla de pedidos real escribirá a clientes reales sobre pedidos de prueba. Apunte el correo a un capturador, o desactive el envío del todo.
# WordPress: a tiny must-use plugin
add_filter('pre_wp_mail', '__return_false');
3. Apunte los pagos al entorno de pruebas
Claves de prueba, siempre. Un sitio de pruebas con claves de pago reales cobrará dinero real de una tarjeta real durante una prueba.
El paso a producción
- Haga primero copia del sitio en producción — Archivos y base de datos. Este es el botón de deshacer.
- Suba archivos, no la base, si el contenido cambió en producción — Si no, machaca los pedidos y comentarios habidos desde la copia.
- Suba la base solo si el contenido NO cambió en producción — Luego busque y reemplace la dirección de pruebas por la de producción.
- Vacíe todas las cachés — Aplicación, servidor y CDN. Una caché de páginas serviría el sitio viejo durante horas.
- Recorra el camino crítico — Iniciar sesión, añadir al carrito, pagar, recibir el correo.
wp search-replace 'https://staging.yourdomain.com' 'https://yourdomain.com' --all-tables
Nunca suba la base de datos encima de una tienda en marcha. Despliegue código, y haga los cambios de contenido en producción. En qué dirección viaja cada tipo de cambio: en eso consiste toda la disciplina.
