Modo mantenimiento WordPress con o sin plugin

Si necesitamos hacer algún cambio o actualización de código en nuestro WordPress y poner la web en modo mantenimiento durante poco rato y no queremos tener que instalar un plugin para ello, podemos utilizar una función, en un snippet por ejemplo, y activarla y desactivarla rápidamente desde nuestro escritorio. La función a utilizar podría ser la…


por

Si necesitamos hacer algún cambio o actualización de código en nuestro WordPress y poner la web en modo mantenimiento durante poco rato y no queremos tener que instalar un plugin para ello, podemos utilizar una función, en un snippet por ejemplo, y activarla y desactivarla rápidamente desde nuestro escritorio.

La función a utilizar podría ser la siguiente:

function dpw_maintenace_mode() {
 if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
 die('Estamos de pruebas, no tardes en volver que enseguida terminamos.');
 }
 }
 add_action('get_header', 'dpw_maintenace_mode');

De esta forma podemos personalizar también el texto que aparece en la web.

También podemos, en lugar de mostrar un mensaje, redireccionar a una página en concreto de nuestra web que nos interese:

function esl_maintenance_mode(){
    if(!is_page('mantenimiento') && !is_user_logged_in()){
        wp_redirect(home_url() . '/mantenimiento/');
    }
}
add_action('get_header', 'esl_maintenance_mode');

(En este caso, ‘mantenimiento’ es el nombre de la página a la que queremos redireccionar).

Si el tiempo que van a llevar los cambios va a ser más largo o no queremos tocar código, entonces si aconsejo utilizar un plugin, de esta forma el diseño y contenido de nuestra página de mantenimiento será mucho más atractivo y podremos añadir los datos de contacto, cuenta atrás, captura de datos (para que le avisemos en cuanto estemos activos, por ejemplo), etc…

Aunque hay muchísimos plugins para hacerlo, yo acostumbro a utilizar Maintenance, que tiene todas las opciones que acostumbro a utilizar.

manteninmiento en WordPress

Bloquear el acceso a la web por IP

Por último, si necesitamos poder acceder nosotros a la web para ajustes o modificaciones pero no queremos que la web esté abierta al público, ya sea WordPress o no, podemos bloquear mediante el archivo .htaccess del servidor el acceso a todos según la IP y redirigir todas las visitas a un archivo .html creado por nosotros.

Para ello, tenemos que editar el archivo .htaccess y añadir este código (Ojo que es un archivo muy delicado y cualquier cambio incorrecto en él puede hacer fallar todo nuestro sitio web)

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^12.345.678.91
RewriteCond %{REQUEST_URI} !/mantenimiento.htm$ [NC]
RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif|css|js) [NC]
RewriteRule .* /mantenimiento.htm [R=302,L]
</IfModule>

El número en negrita es el que tendríamos que sustituir «12.345.678.91» por nuestra IP externa (si no la sabemos podemos buscar «cual es mi IP» directamente en Google y nos saldrá, y el archivo mantenimiento.htm, o con el nombre que queramos, crearlo y subirlo por FTP a nuestro servidor.

Por último, para comprobar si funciona correctamente, podemos probar de acceder desde otra ubicación o desde un dispositivo móvil con 3G, por ejemplo, y nos deberá salir la página en mantenimiento.

Desarrollo Web by esther solà
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.