WordPress: Briefly unavailable for scheduled maintenance

Wordpress maintenance modo error

Briefly unavailable for scheduled maintenance. Check back in a minute., un mensaje que suele ocurrir en la actualización de algunos plugins que nos dejan la pantalla bloqueada de nuestro blog WordPress. Bien, no entres en pánico, y comiences a seguir el rastro de los post apocalípticos sobre como solventar el problema.

¿Porqué del error del modo mantenimiento?

Cuando WordPress va ha actualizar un complemento, se induce un estado de mantenimiento temporal, y ese es el mensaje que deben ver los usuarios cuando WordPress esta en modo mantenimiento. En realidad la respuesta es un error code 503 que podremos utilizar para personalizar la página de mantenimiento de nuestro WordPress.

Esto es necesario, ya que en los procesos de actualización, se pueden producir cambios en la base de datos, y para evitar inserciones o ediciones durante el proceso de la base de datos, es mejor poner el software en modo mantenimiento.

Sin embargo, si por alguna razón relativa al servidor, ya sea por el tiempo de respuesta, una interrupción del socket de PHP, el proceso no finaliza de forma adecuada, el modo mantenimiento se perpetua y pasa a ser un problema.

Como arreglar el problema

Cuando se inicia el proceso de actualización, WordPress genera un fichero llamado .maintenance en el directorio raíz de nuestra instalación de WordPress. En caso de que todo fuera bien, el proceso de actualización elimina el fichero, pero en caso contrario este permanece de forma definitiva.

Sencillo, sólo tenemos que borrar dicho fichero.

Como tener un mensaje de WordPress en mantenimiento personalizado

Ciertamente, el mensaje de advertencia del estado de mantenimiento, es un poco espartano, así que os proponemos modificarlo, por uno personalizado.

Para ello deberemos crear un archivo, de nombre maintenance.php, y deberíamos colocarlo dentro de la carpeta wp-content, incluyendo en el el diseño deseado. Esto lo extraemos del código fuente .

if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) {
   require_once( WP_CONTENT_DIR . '/maintenance.php' );
   die();
}

También obtenemos que el tiempo máximo del comportamiento del mantenimiento automático, es de 10 minutos. Esto lo digo porque hay mucho blogger copy & paste, y mucho especialista en WordPress, que lo obvia, y al final, más de uno se pasa el día dando vueltas con pruebas inútiles, o tratando de que le funcione gracias a que el guruú, tradujo por ejemplo el nombre del fichero, etc.

// If the $upgrading timestamp is older than 10 minutes, don't die.
if ( ( time() - $upgrading ) >= 600 )
   return;
}

El contenido de nuestro fichero deberemos personalizarlo con nuestros css, nuestro texto, pero este es un ejemplo

<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
    $protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <h1>Estamos actualizando el blog. Vuelve en 10 minutos.</h1>
</body>
</html>
<?php die(); ?>

Imagen Designed by Freepik y retocada por Castris

Comparte este artículo

Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.

Comparte este articulo en

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *