Cómo poner el Modo Mantenimiento en WordPress

por | Ene 18, 2012 | Plugins WordPress

Modo Mantenimiento en WordPress


Son muchas las ocasiones en que necesitamos deshabilitar el Blog de WordPress online, bien sea por razones propias de mantenimiento, por necesidades internas o para poder realizar mejoras o cambio de plantillas o contenidos en el mismo, lo cierto es que muchos usuarios no tienen nada claro como habilitar el Modo Mantenimiento en WordPress sin necesidad de utilizar funcionalidades propias del Hosting.

Curiosamente WordPress dispone de un modo de mantenimiento cuando se realizan actualizaciones desde la administración, quedando inaccesible a los usuarios durante este periodo de tiempo mostrando un aviso de este proceso.

Si bien es cierto que este proceso a veces es tan corto que los usuarios en el frontend muchas veces no llegan ni a percibirlo.

 

 

Veamos pues cómo habilitar el Modo Mantenimiento en WordPress fácilmente.

El método nativo se lleva a cabo de forma automática, creando WordPress el archivo .maintenance (fichero oculto en sistemas UNIX) que también se elimina solo una vez el proceso se ha completado y siempre que no se interrumpa el proceso por el usuario.

 

 Modo Mantenimiento sin plugins ¡mejor!


Todo lo que sirva para reducir la carga de un sitio web debe ser siempre recibido con los brazos abiertos, a fin de cuentas además de reducir el estrés de carga y consultas a la base de datos, ayuda a despejar de código adicional la instalación, sin olvidar que los plugins hay que vigilarlos, actualizarlos y esperar de ellos que no tengan bugs escondidos que acaben afectando a la web o desestabilizando funcionalidades de otros plugins.

Cualquier tarea que puedas realizar en WordPress utilizando snippets, funciones o filtros es siempre más recomendada a largo plazo que el uso de plugins.

Los plugins nos lo ponen todo más fácil ¡eso es cierto! pero también nos dejan a merced de código que no siempre cumple con el patrón de programación fomentado por WordPress.org

Es tan fácil dejarse seducir por un plugin que dice hacer esto o aquello, que la tentación de no instalarlo está apenas a 1 clic de distancia.

Pero no hay que dejarse llevar por las primeras impresiones, a veces los plugins esconden demasiadas funcionalidades que luego no acabamos utilizando y lo único que terminamos haciendo es montar un motor de competición en un coche utilitario ¿es necesario?

Necesitas que tu sitio WordPress no sea visible mientras realizas cambios, personalizaciones, o porque estás cambiando el tema o la disposición de widgets, activar Modo de Mantenimiento te permite seguir trabajando en el sin que sea visible públicamente.

Usemos pues una función (breve código que se apoya en funciones de WordPress definidas para realizar acciones o devolver valores, estados, etc.) para mostrar una pantalla de aviso a los visitantes de la web advirtiéndoles que hemos cerrado temporalmente el sitio web por reformas, trabajos extraordinarios o lo que proceda.

 

 ¿Cómo funciona esta función?


Muy sencillo. Una vez la insertas en el archivo functions.php y guardas los cambios, se activa el modo mantenimiento.

Todos los visitantes que accedan a https://tudominio.com y no estén identificados como administradores verán una página de mantenimiento del sitio.

Tu, como administrador seguirás viendo el sitio web, no necesitarás filtrar tu IP para que sea permitida la visualización del frontal de la web, pero el resto de usuarios no verán la página.

Una vez que finalices la edición, el cambio de tema, las personalizaciones deseadas, etc., sólo tienes que eliminar el código o ponerlo en pausa hasta que vuelvas a necesitas activarlo.

El código de la función lo pausas añadiendo una doble barra // antes de cada línea de la función.

 

 ¿Cómo añadir la función?


Desde WordPress 4.9 en adelante se han introducido mecanismos de protección, por parte de los desarrolladores de WordPress, en la edición de determinados archivos para evitar errores 500 en la web u otros. Por ello, cuando tratas de editar un archivo desde el dashboard de WordPress, Apariencia, Editor, te aparece el error:

No ha sido posible comunicar con el sitio para comprobar los errores fatales, así que el cambio de PHP se ha revertido. Tendrás que subir el cambio a tu archivo PHP por otros medios, como por ejemplo usando SFTP.

Para aplicar esta función de forma sencilla y efectiva lo ideal es acceder a tu Panel de Hosting, y en Archivos, con el Administrador de Archivos (usuarios de cPanel), ir a la carpeta donde se localiza el archivo functions.php y editarlo con el editor de tu filemanager o administrador de ficheros del Hosting (también lo puedes editar por FTP). Luego vas hasta el final de functions.php y añade después del código <?php } (es posible que tu tema no necesariamente cierre functions.php con ese código) la siguiente función:

 /*** Inicio Modo Mantenimiento ***/ function mode_maintenance(){     if(!current_user_can('edit_themes') || !is_user_logged_in()){         wp_die('<div style="border:solid 1px grey;"><h1 style="color:#FF942A; text-align:center; text-transform:uppercase;">Sitio en Mantenimiento</h1><p style="text-align:center; font-size:18px;">Estamos trabajando en el nuevo sitio ¡en breve estaremos online!</p></div>', 'Sitio en Mantenimiento', array( ‘response’ => 503 ));      } } add_action('init', 'mode_maintenance');  /*** Fin Modo Mantenimiento ***/ 

El resultado lucirá como ves en esta captura.


Resultado


A partir de este código puedes imaginar como añadir una sección de enlaces a tus redes sociales, insertar un formulario (de un campo preferiblemente) para que se suscriban a tu boletín de noticias, una imagen de fondo, etc..

 

 ¿Y después de activar el Modo Mantenimiento?


Básicamente ¡trabajar en el sitio! siempre que estés logeado antes de activar este modo y no te desconectes del dashboard en el navegador que estés trabajando. Desde otro navegador diferente puedes por ejemplo cargar la web para comprobar que el “modo mantenimiento” está activo, aunque desde tu navegador actual sigas viendo el sitio web.

 

 ¿Sin acceso a wp-admin con el Mantenimiento activo?


Esta función limita el acceso tanto al frontal de la web como al dashboard, por lo que para poder desactivar el modo mantenimiento y luego logearte en https://www.tudominio.com/wp-admin primero debes comentar o eliminar la función insertada en functions.php de lo contrario no verás el formulario de login.

Tienes que acceder a tu Panel de Hosting (cPanel), Archivos, Administrador de Archivos, y navegar a la carpeta /wp-content/themes/ y editar functions.php, localizar al final el código de la función y encerrarlo entre /** código de la función */ para que deje de estar funcional.

Ejemplo:

 /** /*** Inicio Modo Mantenimiento ***/ function mode_maintenance(){     if(!current_user_can('edit_themes') || !is_user_logged_in()){         wp_die('<div style="border:solid 1px grey;"><h1 style="color:#FF942A; text-align:center; text-transform:uppercase;">Sitio en Mantenimiento</h1><p style="text-align:center; font-size:18px;">Estamos trabajando en el nuevo sitio ¡en breve estaremos online!</p></div>', 'Sitio en Mantenimiento', array( ‘response’ => 503 ));      } } add_action('init', 'mode_maintenance');  /*** Fin Modo Mantenimiento ***/ */ 

De esta forma queda comentado ese bloque de código y recuperas el acceso al frontal y al dashboard.

 

 Plugin para poner en mantenimiento WordPress


Utilicemos un plugin para aplicar el cierre de la web a visitas, pero que permita seguir trabajando desde el dashboard y que si sea posible ver los cambios que se van aplicando, pero solo al Administrador.

WP Maintenance Mode

Haz clic en la imagen para ir al enlace del plugin  

Este plugin añade una página de bienvenida a tu web de WordPress que permite a los visitantes saber que el sitio está cerrado por mantenimiento o desarrollo, dejando que los administradores tengan acceso a la administración y al frontend del blog.

Es interesante disponer de este plugin ya que son muchos los usuarios que por actualización de su blog, de la versión de WordPress, por un cierre temporal u otras razones necesitan indicar que el sitio está en mantenimiento y no tienen claro cómo realizar tal acción.

Con este plugin puedes indicar a los usuarios habituales y nuevos visitantes el estado en que se encuentra la web, evitando que se realicen tareas, añadan nuevos contenidos o comentarios en el sitio, sobre todo si estás actualizando la versión de WordPress y necesitas que no se escriban datos en la base de datos en uso.

El plugin se encuentra traducido a varios idiomas que se incorporan por defecto como el inglés, ruso, alemán, griego, portugués, italiano, japonés y francés.

Características del plugin:

  • Totalmente personalizable (cambiar colores, textos y fondos).
  • Incorpora un Formulario de suscripción (se puede exportar los correos a un archivo .csv).
  • Muestra un temporizador de cuenta atrás (tiempo restante).
  • Usa plantillas de página de aterrizaje (landing page).
  • Soporta Red de Sitios de WordPress (multisite).
  • Usa Diseño Responsive.
  • Permite activar iconos de redes sociales.
  • Funciona con cualquier tema de WordPress.
  • Dispone de opciones de SEO.
  • Permite excluir URLs del modo de mantenimiento.

 

 Instalación y uso del plugin


Realizar la instalación del plugin “Modo Mantenimiento” es un proceso sencillo y común a cualquier plugin de WordPress.

  • Realiza una copia de Seguridad de la web (manual o con All In One WP Migration).
  • Ve a Plugins, Añadir nuevo, y localiza el plugin en el buscador.
  • Haz clic en Instalar y posteriormente en Activar.
  • Ve a Ajustes, WP Maintenance Mode para configurar el plugin según tus necesidades.

Puedes ver los detalles de la configuración en las siguientes 3 imágenes.


Configuración del plugin de Modo de Mantenimiento

Haz clic en la imagen para ampliarla  

En la pestaña Diseño puedes poner un título y un encabezado, además del texto que será visible desde el frontal de la página. También puedes añadir un fondo (cargado o predefinido) o color uniforme de fondo.


Configuración del plugin de Modo de Mantenimiento diseño

Haz clic en la imagen para ampliarla  

Naturalmente lo recomendado es personalizar este mensaje según las necesidades de cada uno desde las opciones del plugin.

Y por último, antes de activar el plugin definitivamente, revisa la pestaña Módulos y aplica todas las personalizaciones que consideres oportunas.


Configuración del plugin de Modo de Mantenimiento módulos

Haz clic en la imagen para ampliarla  

Ahora, cuando actives el modo de mantenimiento los usuarios verán el siguiente mensaje en portada:


Modo Mantenimiento activado

Haz clic en la imagen para ampliarla  

Si no lo ves es porque estás conectad@ a la página como Admin y necesitas o bien desloguearte o abrir una nueva ventana de tu navegador en Modo Incógnito para poder probar esta funcionalidad.

 

 Vídeo de instalación y uso


En el siguiente vídeo te muestro como se instala dicho plugin y su uso básico.

 


 

 Conclusiones


Naturalmente este proceso sirve para cuando se necesita cerrar el Blog por desarrollo, cambio de tema o cierre temporal del mismo por otras razones, como colaborar con la “Hora del Planeta”, por ejemplo. 😉

El fin último de este tipo de acciones es poder realizar cambios en el Blog (plantillas, contenidos, etc.) que no comprometan el funcionamiento del mismo o causen problemas innecesarios en la base de datos.

Y no olvides que en sitio o proyectos nuevos, en la fase de desarrollo también es importante impedir el acceso a los bots (robots) de indexado para que luego no te encuentras en Google cosas que no estaban terminadas o si lo estaban era bajo una url temporal.