[Megatutorial] Cómo resolver las 10 emergencias más frecuentes en WordPress sin volverte loco

¿Tu web pasaría un examen de seguridad?

Es posible que no.

La mayoría de los negocios se preocupan por trabajar el posicionamiento, escribir artículos para alimentar el blog, hacer entrevistas para ganar autoridad e implementar un sinfín de técnicas para llevar su web al estrellato.

Y se olvidan de la seguridad. Total, ¿qué más da? WordPress es seguro, todo el mundo lo dice. ¿Por qué vas a preocuparte?

Bueno, lo cierto es que WordPress es una plataforma en la que puedes confiar, pero eso no quiere decir que tu blog esté seguro ni que estés libre de sufrir ciertas incidencias que generan mucho estrés cuando ocurren.

Te estoy hablando de hackeos (tú también estás expuesto, aunque no lo creas), problemas de acceso, errores fatales o de conexión con la base de datos, fallos con las URL…

Puesto que es cuestión de tiempo que experimentes algún imprevisto indeseable, vamos a ver cómo solucionar las 10 emergencias más frecuentes que puedes sufrir en WordPress.

Este es un post de invitado, escrito por Josu Eizagirre de https://www.josueizagirre.com. Los métodos aquí descritos no han sido probados personalmente por el equipo de Hormigas en la Nube, aunque son métodos contrastados de los que puedes encontrar numerosa documentación en blogs, y Josu ha resumido y explicado de forma excelente en este megatutorial.

#1. Me han hackeado la web (pero puedo entrar en el panel de WordPress)

De todos los problemas, el hackeo es el que mayor miedo genera.

Ante todo, tranquilo. Los nervios no te ayudarán a solucionarlo, e incluso puede que por intentar resolverlo rápido cometas errores.

Lo primero que debes saber es que si te hackean la web, te enfrentas a 2 posibles escenarios:

1)  Tienes acceso a tu panel de WordPress.

2) El ataque ha sido fuerte y no puedes entrar (este es el peor de los casos. Luego nos detendremos en él).

Ahora nos ocupamos del primer supuesto: tu web está hackeada, pero puedes acceder al editor.

En este caso, la imagen de tu cabecera desaparece y solo ves «Hackeado». Además, es esfuman los productos, banners y demás información que mostrabas. Es decir, tu web se convierte en algo parecido a esto:

Wordpress_hackeado_josu

 

Primero, dirígete a tu panel de administración de WordPress e instala y activa un plugin llamado Sucuri que tiene una versión totalmente gratuita y funcional.

 

instalar_sucuri_josu

 

Una vez instalado y activado, te pedirá «Generate Api Key». Haz clic en en ese botón y también en la ventana siguiente, «Proceed»:

 

Una vez dentro del plugin, solo te interesan las 3 opciones más importantes, «Dashboard», «Hardening» y «Post Hack»:

 

 

¿Qué tienes que hacer en cada una de ellas? Vamos a verlo.

Configuración de la pestaña Dashboard

Esta pestaña sirve para eliminar los archivos nuevos (creados por los piratas informáticos) y restaurar los que se han modificado.

Para ellos tildamos los archivos clasificados como «Added» y más abajo en «choose action» escogemos  «Delete file».  A continuación, pinchamos en el botón «Proceed».

 

Cuando se han borrado los archivos añadidos, nos centramos en los archivos modificados, pero en vez de borrar, los restauramos de este modo:

 


Terminada esta tarea, aparece un mensaje que indica que el «core» (el corazón de WordPress) está limpio.

 

Cómo configurar la opción Post Hack

En esta pestaña vemos que tenemos 4 opciones:

  • Security Keys: para volver a crear las llaves de las contraseñas que proporcionan doble cifrado en WordPress.
  • Reset User’s Password: opción para poner nueva contraseña de usuario.
  • Reset Plugins: para desinstalar los plugins que queramos por si han sido comprometidos con el ataque.
  • Avalaible Updates: sistema de notificación de los plugins desactualizados para actualizarlos y tenerlos al día.

Ahora veamos qué 4 acciones concretas debemos llevar a cabo.

  1. En «Security Keys» seleccionamos  «Generate New Security Keys» y volvemos a entrar a WordPress:

2. A continuación, en Reset User’s Password marcamos las 2 casillas, (la correspondiente a usuario y la relativa a que se trata de una operación irreversible) y hacemos clic en «Reset User Password»:

3. Desde la opción «Reset Plugins» podemos desinstalar todos los plugins que deseemos. Puedes necesitar desinstalar alguno si crees que el ataque lo ha comprometido. Selecciona los que tú consideres y pincha en el botón «Process Select Items»:

4. Por último, en «Avalaible Updates» verás todos los plugins que no tienes actualizados y que suponen un peligro para la integridad de proyecto digital. Procura siempre tener los complementos actualizados, porque por ahí puede entrar un atacante.

Para actualizar cualquier plugin, simplemente haz clic en «Download» (te aconsejo hacerlo desde cada plugin para evitar errores).

Configuración de la pestaña Hardening del plugin Sucuri

Continuamos configurando las pestañas. En esta en concreto, te recomiendo esconder todos los directorios sensibles a ataques. Para ello, en los apartados en los que veas que pone «not hardened», a la derecha cliquea en «Harden».

Recuerda esconder solo los directorios sensibles. Por cierto, no escondas el editor de plugins para no quedarte sin esa opción (aunque todas las opciones permiten revertir los cambios).


Para acabar con este emergencia, solo queda actualizar todo los plugins y cambiar tanto la imagen de la cabecera como los textos modificados.

 

Aquí te dejo un vídeo en el que verás paso por paso cómo recuperar tu web hackeada.

#2. No puedo acceder a WordPress

Ya sea por haber sufrido un hackeo o por haber perdido la contraseña, el caso es que no puedes entrar en el panel de administración.

Vamos a ver qué maneras tenemos para solucionar esta emergencia.

1- Cómo recuperar la contraseña de WordPress

Si has perdido o no recuerdas tu contraseña, puedes solicitar una nueva. En la página en la que WordPress te pida las credenciales de acceso, selecciona «¿Has perdido tu contraseña?» y sigue las indicaciones.

 


Recibirás casi de forma inmediata un email con un enlace en el que tendrás que pinchar. A continuación, escribe tu nueva contraseña y haz clic en «Restaurar contraseña».

 

2- Cómo restaurar la contraseña añadiendo código en «functions.php»

Aunque no es frecuente, puede ocurrir que el enlace que recibes en tu correo electrónico para restaurar la contraseña esté roto o no funcione. ¿Qué puedes hacer para recuperar tu acceso a WordPress?

Te lo explico.

Primero, deberás entrar vía FTP o desde tu hosting al archivo «functions.php». Tranquilo, porque te voy a contar dónde está ubicado y qué tienes que hacer con él.

Una vez logueado en tu cuenta de hosting, entra en tu cuenta de cPanel y localiza el administrador de archivos (en el ejemplo, verás la apariencia que tiene en Webempresa, pero casi todas las empresas de hospedaje muestran la información de forma muy parecida).

 

Busca dónde está instalada tu web y localiza la carpeta «wp-content»:

En la carpeta de temas, selecciona el tuyo. Una vez dentro, posiciona el ratón sobre el archivo «functions.php» y con el botón derecho selecciona la opción «edit».

 

Ahora es el momento de insertar una línea de código arriba del todo, justo después de <?php: wp_set_password( ‘password’, 1 ); sustituye el segundo «password» por tu nueva contraseña, y si fuera necesario, sustituye el «1» por tu ID como usuario y guarda los cambios. Prueba primero con el 1, pues el habitual, si no te funciona, puedes probar a ir subiendo el número de ID, hasta que des con el tuyo.

Solo con esto debería funcionar. Sin embargo, al intentar acceder desde la página habitual de login a tu web es posible que no puedas entrar.

En ese caso, tendrás que volver al archivo «functions.php» para borrar esa línea de código que creaste antes (acuérdate de guardar los cambios).

Con esa acción, tendrás vía libre para entrar de nuevo en WordPress.

Para ser honestos, lo normal sería que al introducir ese código en el archivo «functions.php» pudieras entrar, pero hay veces (depende de los temas) en las que es necesario ese segundo paso de borrar la línea de código.

Por último, en tu perfil, cambia la contraseña en el apartado de «Gestión de la cuenta» y guárdala (pinchando en «Actualizar perfil»).

3- Cómo acceder a WordPress desde la base de datos

Con este método podemos restaurar la contraseña y cambiar el correo asociado a nuestra cuenta de WordPress.

¿Cuáles son los pasos?

Desde cPanel, localizamos la opción «PhpMy Admin» y una vez dentro de nuestra base de datos localizamos la tabla «wp_users»:


En nuestro usuario, hacemos clic en «editar»:

 

Ahora, cambiamos la contraseña. Si te fijas en la imagen anterior, la contraseña estaba cifrada con lenguaje raro. Con la nueva vamos a hacer lo mismo: ponerle cifrado MD5.

 

Hecho esto, hemos recuperado el acceso a nuestro WordPress.

De nuevo, puedes seguir en vídeo los pasos para solucionar esta emergencia:

#3. Cómo solucionar el cambio erróneo de URL en WordPress

Normalmente, esta emergencia tiene lugar por 2 posibles motivos:

  • Una persona novata en WordPress cambia parámetros sin saber exactamente qué está tocando.
  • Alguien con algo más de experiencia con WordPress que decide crear una nueva carpeta en su instalación (para hacer pruebas, por ejemplo) y luego cambia mal las URL.

Antes de explicar cómo solucionar este problema (bastante habitual), veamos qué dos tipos de URL encontramos en los ajustes generales.

 

 

La primera, dirección de WordPress (URL), indica dónde se encuentran los archivos. La dirección del sitio (URL) es la dirección de nuestro proyecto web.

Lo normal es que tengan la misma URL. Así está bien y no hay por qué cambiarlas, excepto cuando instalamos un certificado SSL. En este caso, debemos cambiar HTTP por HTTPS. Por cierto, si quieres aprender a instalar un certificado de seguridad en tu web, aquí te dejo un tutorial.

Ahora bien, si solo cambiamos la «Dirección del sitio» vemos que solo cambia la extensión final y tampoco supone mucho problema:

Como ves, aparece «prueba» al final de la URL, pero en realidad no tiene mucho sentido hacerlo de esta forma; lo normal sería hacerlo al revés: cambiar la URL en «Dirección de WordPress» y en «Dirección del sitio» mantener nuestra URL sin cambios.

Pero claro, para eso tendríamos que tener una carpeta creada dentro de nuestra de instalación para que WordPress sepa donde están esos archivos. Como yo no tengo nada creado, usaré este ejemplo para provocar una emergencia.

Lo vemos mejor en esta captura:

Nos hemos cargado nuestro proyecto web y la razón es bien sencilla: ahora mismo WordPress está buscando los archivos necesarios en un sitio o carpeta que no existe.

¿Cómo solucionamos esto?

De 2 formas posibles.

Modificando la URL desde «wp-options»

Entramos a nuestro hosting y dentro del cPanel nos dirigimos a «Bases de datos» y abrimos «PhpMy Admin», como hemos visto anteriormente:

 

En esta ocasión, escogemos nuestra base de datos y seleccionamos «wp-options»:

Hacemos doble clic en la «siteurl» para que podamos modificarla y quitamos esa extensión que le añadimos al final («prueba»).

Para acabar clicamos en «Actualizar» y hemos solucionado la emergencia.

Mediante inserción de código en el archivo «wp-config.php»

De nuevo, tenemos que entrar en la cuenta de cPanel. Una  vez dentro, nos dirigimos a «Administrador de archivos» y buscamos el archivo mencionado.

Cuando estemos encima, botón derecho del ratón y en el menú hacemos clic en «edit» y añadimos estas líneas.

define(‘WP_HOME’, ‘http://www.tutorialesgratuitosjosu.com’);
define(‘WP_SITEURL’,’http://www.tutorialesgratuitosjosu.com’);

En tu caso, escribe la URL que te interese.

Por cierto, hay que poner la información después de <?php:

Guarda los cambios y habrás resuelto la emergencia.

Ahora, si vas a ajustes generales en WordPress, comprobarás que las dos URL ya no se pueden modificar. ¿Por qué? Porque esas 2 líneas de código que has incluido previamente han convertido tu sitio en un lugar más seguro y a prueba de amenazas.

Esta opción es recomendable si trabajas para clientes que sean administradores.

Si quieres que las URL vuelvan a ser modificables, borra el código, entra en la base de datos, quita la extensión utilizando el primer método y listo.

 

Aquí tienes los mismos pasos explicados en vídeo:

#4. Pasos para solucionar el error 404 y el error 500

Estas 2 emergencias vamos a verlas juntas porque es habitual que se produzcan a la vez. El origen de ambas suele ser un problema surgido en el archivo llamado «.htaccess.».

¿Te suena este archivo? Es el encargado de crear URL amigables, entre otras cosas. Si quieres saber qué es y qué funciones tiene, te recomiendo leerte este artículo de Fernando Tellado.

Cómo solucionar el error 404

Suele ocurrir, por ejemplo, cuando instalamos algún plugin y se borra el contenido de un archivo o cuando creamos entradas o páginas, las publicamos y cambiamos las URL una vez que están indexadas.

Ese tipo de errores tienen una solución muy sencilla: instalar este plugin, que es gratuito y soluciona el problema en segundos.

Cuando está instalado y activado, nos dirigimos a «Herramientas-Redirection«:

Una vez dentro, añadimos la URL que nos da el error 404 y especificamos debajo dónde debe redirigir:

Ahora bien, con el error 404, también puede ocurrir que el archivo «.htaccess» se borre entero o en parte, lo que provoca que cualquier URL interna devuelva el dichoso error.

En este caso, primero hay que localizar el susodicho archivo en el hosting, elegimos la opción «Edit» y borramos el archivo completo (sin miedo, porque vamos a crear uno nuevo).

Nos vamos al menú de ajustes de WordPress  y entramos en «Enlaces permanentes»:

Lo único que vamos a hacer es darle a «Guardar». Solo con esa acción se vuelve a crear un nuevo archivo .htaccess.

Pasos para corregir el error 500 interno de servidor

En la mayoría de los casos, este error ocurre por el mismo archivo famoso .htaccess.

Para saber que realmente el problema reside en el archivo .htaccess, prueba a renombrarlo con otro nombre. Si al hacerlo, la página de inicio carga con normalidad y no sale el error 500, puedes estar seguro de que el archivo  es el culpable.

Para resolverlo, tenemos 2 opciones:

a) Revisar todo el código por bloques hasta encontrar el fallo y corregirlo: opción lenta, porque el código tiene muchas líneas.

b) Acudir al menú de ajustes, pinchar en «Enlaces permanentes» y hacer clic en guardar: esta alternativa te llevará solo unos segundos.

En este vídeo, puedes ver cómo solucionar el error 404 y el error 500 paso por paso.

#5. Fatal error: Allowed memory size

Esta emergencia suele aparecer básicamente cuando agotamos los recursos que nos ha asignado nuestro hosting.

Para que te hagas una idea, una instalación de WordPress sin mucho contenido y con apenas plugins instalados podría funcionar perfectamente con 30 M de memoria.

La cosa cambia cuando, por ejemplo, queremos montar nuestra tienda online en WordPress e instalamos para ello el plugin Woocommerce.  Si tenemos poca memoria asignada, nos saltará un aviso que indica que 40 M de memoria como mínimo.

Esta emergencia también puede ocurrir si instalamos plugins que no están correctamente programados. Para solucionarlo, solo habrá que eliminar los complementos últimos complementos añadidos.

Veamos de qué 2 maneras podemos solucionar esta emergencia.

A través de «Wp-config-php»

Nos vamos a dirigir como siempre a nuestra instalación y seleccionamos el archivo «Wp-config.php» y definimos la memoria (‘WP_MEMORY_LIMIT’, ‘256M’);

Yo he elegido 256 M, como puedes  ver en la imagen. Recuerda que si tienes contratado un hosting de los llamados poco recomendables, por mucho que le asignes esta memoria seguramente vas a recibir un aviso de que no puedes usar tanta memoria.

Mediante línea de código

Una vez localizado el archivo «.htaccess», añadimos una línea de código como este: php_value memory_limit 256M

Ahora bien, ten en cuenta que si el hosting lo tienes contratado con Webempresa, tras insertar el código aparecerá otra emergencia, el error interno 500. La razón es que Webempresa tiene vetada esa directiva «value memory_limit» por cuestiones de seguridad. Así que si ves que no logras solucionar el problema de memoria, ponte en contacto con tu proveedor de hosting para que te ayuden.

Aquí te dejo un vídeo para que veas los pasos de esta emergencia.

#6. Problema de sintaxis o Syntax error

Esta emergencia suele producirse cuando instalamos un plugin. El error se manifiesta de este modo:

Error_sintasis_josu_emergencias_wordpress

Por un lado nos indica qué tipo de error es (de sintaxis) y por otro, en qué carpeta se encuentra el problema. En el caso del ejemplo, el origen está en «Wp-content», y dentro de plugins, el que está generando el problema es el plugin Woocommerce y el archivo en cuestión es«Woocommerce.php». Y para más detalles, nos dice que el error está en la línea 21 dentro de su código.

Vamos a ir a nuestro cPanel y localizamos el archivo en cuestión y la línea 21 donde está el fallo. 

Si te fijas, en la línea 21 parece que hay que una llave de cierre y no se ve ningún error, pero ¿has visto la línea 19? No está la llave de apertura. Con esto quiero decir que el propio fallo de «Syntax error» orienta sobre la línea de código donde debes centrarte, pero no tiene por qué ser exacto.

Y ¿qué pasa si no nos avisa de ese error? ¿Y si no sabes nada de código?

Entonces, te recomiendo entrar en el archivo «Wp-config.php» y buscar una línea donde ponga algo así: define(‘WP_DEBUG’, true);

La clave está en cambiar «false» por «true».

Puede que el error siga sin aparecer y que no quede más remedio que investigar si el error lo ha producido un plugin. Para ello, vamos a renombrar la carpeta «plugins» (en mi caso le voy a añadir extensión _josu).

Si vemos que el error y que la emergencia desaparecen tras renombrar la carpeta, tendremos más que claro que el problema de origen es un plugin.

Pero ¿cómo averiguar ahora qué plugin nos provoca esa emergencia en WordPress?

Cambiando el nombre de cada carpeta de nuestros plugins, uno por uno, e ir comprobando cada vez si el error queda solucionado.

Aquí te dejo el vídeo con los pasos explicados:

#7. Error al establecer una conexión con la base de datos

 

Este habitual error suele producirse por estas razones:

  1. Hemos instalado WordPress en local y decidimos migrarlo a un hosting que hemos contratado, pero los datos de la base de datos no los cambiamos.
  2. Venimos de otro hosting y no cambiamos los datos de conexión con la base de datos, que ahora es diferente a la que teníamos.
  3. El mismo hosting cambia la dirección de su base de datos y no nos avisa, por lo que crea una emergencia en toda regla en nuestro WordPress.

Para solucionar este problema, vamos a acudir al archivo Wp-config.php, ubicado en «Administrador de archivos», y hacemos clic en «editar».

Tenemos que comprobar que esos datos tales como «DB NAME», «DB USER», «DB PASSWORD» Y «DB HOST» realmente corresponden a los datos de la base de datos de nuestro hosting.

Si no sabes muy bien cómo hacerlo, nada mejor que contactar con tu hosting y que ellos te proporcionen esos datos.

Después, tendrás que comprobar uno por uno que la información es correcta, y si no lo fuera, corregirla a partir de lo que te haya proporcionado tu proveedor de hosting.

Por otro lado, podría pasarte que dentro de este mismo archivo de Wp-config.php veas una línea como esta:

Aunque te parezca que está incompleta y que detrás de «wp_» falta algo, no añadas nada. De hecho, en tu revisión, comprueba que está  tal cual.

En este vídeo puedes verlo:

#8. Error “Temporalmente no disponible”

A esta emergencia nos enfrentamos todos antes o después.

¿Cuándo sucede?

Básicamente, cuando actualizamos plugins o temas y cerramos (sin querer) la pestaña donde tenemos abierto nuestro WordPress.

Para solucionarlo, nos vamos a cPanel, abrimos el «Administrador de archivos» y localizamos un archivo llamado «.maintenance» y simplemente lo borramos.

Puedes ver cómo, en este vídeo:

#9. Cómo solucionar el exceso del tamaño de subida de los archivos

Este error normalmente se produce cuando intentas, felizmente, añadir un nuevo tema o plugin a tu WordPress y se excede el tamaño de subida de los archivos.

Para solucionarlo, vamos a insertar estas 2 sencillas líneas al final del archivo .htaccess: 

php_value post_max_size 30M

php_value upload_max_filesize 30M

Ten en cuenta que si trabajas con Webempresa, no podrás modificar las directivas de «value», porque las desactivan por seguridad. Si es tu caso, la única solución pasa por contactar con ellos y comentarles lo que te ha sucedido.

#10. Consejos para securizar  tu web en WordPress y reducir las emergencias

Aunque las emergencias y los errores causan un alto grado de estrés cuando ocurren, ya has visto que todas tienen solución. No quiero terminar este tutorial sin ofrecerte algunas recomendaciones generales que te servirán para prevenir imprevistos.

  1. Contrata un buen hosting.
  2. Actualiza siempre WordPress, temas y plugins a la última versión.
  3. Instala algún plugin de seguridad para controlar los accesos a tu WordPress (como Sucuri).
  4. Instala un certificado SSL en tu proyecto web, para que los datos viajen cifrados.
  5. No te conectes a wifis públicas para acceder a tus cuentas de redes sociales o de WordPress.
  6. Si recibes un correo que te solicita la contraseña de WorPpress, desconfía y nunca las envíes.
  7. No utilices usuarios tales como Admin ni uses como contraseña tu nombre de usuario, para evitar que consigan entrar en tu WordPress.
  8. Desactiva el WPS de tu router. Hace tiempo que fue descifrado el algoritmo que usa y no es nada seguro por mucho que pongas una contraseña robusta.
  9. Haz copias de seguridad de tu web periódicamente.

Gracias, Javier Gobea, por invitarme a tu casa. Ha sido un placer y un honor publicar un artículo para tus lectores.

¿Quieres acceder a mis contenidos premium y recibir regalos exclusivos que tengo preparados para ti? Pincha aquí y consíguelos ahora.

Es tu turno, lector: ¿has vivido alguna de estas emergencias? ¿Cómo la solucionaste? ¿Cuál es tu principal problema cuando tu web sufre un problema de este tipo? Te espero en los comentarios.

Descubre lo que
necesitas ahora
para vender más

Realiza el Quiz ahora y conocerás el resultado al instante

¿Quieres saber qué herramientas uso en mi negocio, cuáles recomiendo a mis clientes y cuál necesitas tú ahora mismo, en el momento actual en el que te encuentras, para vender más o mejor en tu negocio digital?

Realiza ahora mismo el quiz tecnológico que he preparado, para determinar tu fase actual, y decirte en el instante en que deberías enfocarte ahora mismo para vender más o de la mejor forma posible

Mockup escritorio herramientas
Ir arriba