Tras encontrarnos con este problema de forma recurrente en algunos clientes de nuestro servicio de mantenimiento web WP Total Updater, con el que tras realizar algún tipo de actualización en sus WordPress el fichero .maintenance se quedaba activo persistentemente manteniendo sus sitios web con la pantalla de «modo mantenimiento» hasta que accedíamos vía FTP para eliminar físicamente el fichero y restaurar la normalidad, decidimos ponernos manos a la obra para automatizar esta tarea y evitar que se nos despistara alguno de los sitios web en modo mantenimiento más tiempo del imprescindible.
Por suerte monitorizamos todos los sitios web que han contratado nuestro servicio de mantenimiento web cada minuto, por lo que siempre detectamos rápidamente aquellos que se quedan en modo mantenimiento y podemos resolver el problema con mucha rapidez, pero no deja de ser un engorro tener que abrir el gestor FTP de turno, acceder a la carpeta raíz de WordPress y proceder al borrado del fichero .maintenance.
Solución al problema
La solución pasa por crear un fichero PHP en el directorio raíz de tu instalación de WordPress, por ejemplo apg-maintenance.php:
Como ves es una función PHP muy liviana y lo que hace realmente es revisar la existencia o no del fichero .maintenance en la carpeta raíz de WordPress. En caso de encontrarse con el fichero comprueba a su vez el «tiempo de vida» del mismo para evitar su borrado si tiene menos de un minuto, esto lo hacemos ya que si tiene menos de un minuto de vida probablemente está realizando su función de forma correcta y hay que mantenerlo en su sitio. Si en la siguiente revisión el fichero continúa activo, o si el fichero tiene más de un minuto de vida, será borrado para quitar el modo mantenimiento del sitio web de forma totalmente automatizada.
Para ejecutar la función tienes dos opciones:
- Crear una tarea CRON en tu panel de control.
- Utilizar alguna herramienta tipo Robotalp o similar.
Tanto en un caso como en otro programas la frecuencia a un minuto y la URL a ejecutar, por ejemplo https://dominio.ext/apg-maintenance.php y de esta forma te asegurarás de que la inactividad será efectiva durante un máximo de dos minutos, por lo que en el peor de los escenarios posibles el sitio web estará en modo mantenimiento un máximo de dos minutos, y nos evitamos muchos dolores de cabeza.
Conclusión
Esperamos que os resulte útil este código PHP si os encontráis con este mismo problema en algunas de vuestras instalaciones, y recuerda que si necesitas ayuda con el mantenimiento web de tu WordPress o WooCommerce tienes a tu disposición WP Total Updater, por lo que esperamos poder ayudarte muy pronto.
Artículos relacionados
Comentarios





