En este post vamos a cubrir los aspectos básicos del desarrollo profesional de sitios WordPress y cómo los flujos de trabajo correctos pueden ayudarte a incorporar la seguridad desde el principio.
Desarrolla en un Entorno Local Primero
Cuando inicias un nuevo proyecto y eres el único trabajando en él, no necesitas subirlo a un servidor hasta que alcance un hito donde el cliente pueda dar feedback significativo. Es recomendable mantener el entorno de producción limpio y hacer el desarrollo activo localmente.
El ecosistema de WordPress tiene herramientas geniales para el desarrollo local como Local, Laragon y el reciente WordPress.com Developer Studio. Aunque puedes configurar tu propio servidor LAMP local, estas herramientas facilitan mucho la vida si no quieres complicarte demasiado.
Usa un Servidor de Staging para Obtener Feedback
Una vez que llegues a un punto donde necesitas presentar el sitio a tu equipo o a un cliente, es buena idea subirlo a un servidor de staging. Un entorno de staging es un servidor de acceso limitado, idéntico al servidor de producción.
Aquí es donde realizas el control de calidad, pruebas nuevas funciones, recolectas feedback del cliente o del equipo y te aseguras de que todo funcione como debe antes de publicarlo. En el entorno de staging, puedes tener activadas las configuraciones de depuración y ver cómo se comporta la aplicación en el entorno específico del servidor.
El entorno de staging no debe publicarse en línea y solo debe ser accesible con un nombre de usuario/contraseña o mediante la lista blanca de IPs. No debería ser accesible al público en general, solo a tu equipo o cliente.
No Hagas Experimentos en el Sitio en Vivo
Una vez que hayas construido el sitio localmente, lo hayas probado en staging y finalmente lo hayas publicado en producción, asegúrate de desactivar todas las configuraciones de depuración y de no hacer experimentos en el sitio en vivo.
Esto sucede con frecuencia: los sitios filtran detalles del entorno debido a características de depuración activas, ejecutan plugins no utilizados que son restos de diferentes experimentos que han quedado desactualizados, deshabilitados y no eliminados.
La producción debe estar limpia. Siempre debes probar las cosas primero en el servidor de staging y solo publicar cambios en el sitio en vivo cuando todas las pruebas se hayan completado con éxito. Trabajar de esta manera te ayudará a acostumbrarte a mejores procesos y a evitar errores costosos que no querrías cometer en un sitio en vivo.
Prueba el Flujo de Trabajo Basado en Git
Esto no es para todos, pero personalmente recomendaría a cada desarrollador de WordPress que se acostumbre al flujo de trabajo con Git y considere hacerlo parte de su práctica de desarrollo. Puede ser muy útil si hay varias personas trabajando en el mismo proyecto, permitiendo que múltiples personas trabajen en el mismo proyecto en sus propios entornos locales.
- MAMP
- XAMPP
- WampServer
- Duplicator
- Instant WordPress
- Bitnami WordPress Stack
- Sandbox
- Docker
Hoy en día, también hay muchas más herramientas disponibles que han sido creadas para facilitar el flujo de trabajo con Git en WordPress, como VersionPress. También existe un espejo oficial de GIT de WordPress en GitHub y la documentación oficial sobre esto aquí.
Una vez que cambies al flujo de trabajo basado en Git, puedes simplificar significativamente el proceso de desarrollo local, pruebas en staging y publicación en producción. También funciona bien junto con el sistema de archivos inmutable, lo que puede mejorar significativamente la seguridad de tu entorno de producción.
Conclusión
Siempre que construyas sitios web, plugins o temas de WordPress, piensa en el flujo de trabajo. Asegúrate de usar servidores de staging y producción separados y evita experimentar en los sitios en vivo. Tómate un tiempo y considera pasarte al flujo de trabajo basado en Git, puede ayudarte a mantenerte organizado y permitirte establecer políticas de seguridad más sólidas para los sitios en vivo.
¡Espero que te sirva este artículo! Si necesitas ajustar algo o tienes más preguntas, ¡dímelo!