Los errores 404 (página no encontrada) son de los más comunes que se pueden encontrar en una web, especialmente las que ya tienen un tiempo y bastante contenido: los enlaces se acumulan, las cosas cambian de sitio y al final es inevitable que se produzcan algunos de estos errores. Además, no siempre se producen por causas internas de nuestra web, a veces otros sitios webs comenten un error tipográfico al enlazar un contenido nuestro, o enlazan un contenido que después cambia de dirección.
Por eso detectar y solucionar los errores 404 es una parte fundamental del mantenimiento de la web: restan usabilidad empobreciendo la experiencia de usuario, afectan al SEO y, lo que es peor, dan una paupérrima imagen de nuestro sitio web. En una palabra: no podemos permitir los errores 404 en nuestro sitio web, debemos desterrarlos.
Así que vamos a ver en este artículo cómo localizarlos tan pronto como se produzcan y diversas formas de corregirlos.
Tabla de contenidos
Cómo detectar los errores 404
En realidad localizar los errores 404 es bastante sencillo… porque Google ya se toma la molestia de darnos el trabajo hecho. Basta con acudir a Google Search Console (lo que era anteriormente Google Webmaster Tools), donde hay un informe específico para ello.
Si aún no tienes la web dada de alta en Search Console, permíteme que te diga que es imperdonable (más aún teniendo en cuenta lo sencillo que es). Así que, para conocer los errores 404 que hay en tu web, no tienes más que acceder al panel de control de tu web en Search Console. Este informe está dividido en tres secciones principales:
- Errores de rastreo
- Análisis de búsqueda
- Sitemaps
Pues, como ya imaginarás, el que nos interesa es el primero, Errores de rastreo. En la parte de abajo, donde dice Errores de URL, hay un resumen de la información que nos interesa: Error 404 leve y No se encuentra.
Si, como en la imagen, tienes ambos valores a «0» enhorabuena, estás haciendo las cosas bien, pero mantén el informe vigilado. Si tienes algún error en esta parte, hay que corregirlo.
Qué son los errores 404 leves
Como ves, Google Search Console nos da dos valores, el de No se encuentra, que son los auténticos errores 404, y el de Error 404 leve. ¿Qué narices es eso? ¿Es que hay errores 404 leves y errores 404 «graves»? En realidad, sí.
Un error 404 leve es, al igual que su hermano mayor, un error producido por un recurso enlazado pero inexistente pero que, en lugar de notificarlo así (al usuario o al motor de búsqueda, en este caso Googlebot) el servidor redirige a cualquier otro sitio, como la página de inicio o una página de error 404 personalizada (que quizá informa del error, pero técnicamente no da el código de respuesta adecuado).
Esto puede causar varios inconvenientes y es algo que no es visto con muy buenos ojos por Google, que puede considerar que estamos intentando engañarlo (a él o al usuario) para no mostrar un error 404, y estamos redirigiendo a un lugar que en realidad no se corresponde con el contenido que ahí debería haber, lo cual genera una mala experiencia de usuario, consume recursos de Googlebot y posiciona un contenido inexistente.
Más adelante en este mismo artículo veremos la forma correcta de resolver la situación.
Localizar esos errores 404
Ya sabemos cuántos errores 404 tenemos de cada tipo, ahora falta saber qué URL las está generando y por qué, es decir, dónde deberían estar (pero no están) y desde dónde se están enlazando estos recursos inexistentes.
Eso es tan sencillo como pinchar en la frase Errores de rastreo para ir al informe detallado, y observar la pestaña correspondiente. Pinchando después en cada uno de los errores de la lista podrás ver cuál es el recurso faltante que está generando el error y, cambiando a la pestaña Enlazado desde, podrás ver el origen del enlace.
Buscarlos y corregir los errores 404 mediante un plugin
Ya hemos visto que un error 404 se genera por un recurso que en realidad no existe, pero está enlazado desde algún otro sitio. En general, puede estar enlazado desde:
- Nuestra propia web
- Otra web
- El índice de Google (o, en general, de cualquier buscador)
Evidentemente, para que esté en el índice de Google previamente debe estar enlazada en algún otro sitio, así que podemos considerar que esta tercera opción se deriva de alguna de las dos primeras. Lo nombro porque, para solucionar el error 404 de forma correcta y definitiva, tendremos que hacer desaparecer el recurso también del índice de Google.
Evidentemente los errores 404 más fáciles de corregir serán los que se originen en un enlace que tengamos en nuestra propia web, ya que tenemos acceso a ellos y podemos corregirlos fácilmente rectificando o eliminando el enlace.
De hecho, en estos casos no deberíamos ni siquiera permitir que Google los detecte, y tendríamos nosotros mismos que mantenerlos a raya localizándolos y corrigiéndolos tan pronto como aparezcan. La forma más fácil de hacerlo es utilizando el plugin Broken Link Checker. Ya dediqué una entrada entera a hablar de él, así que no me voy a repetir aquí, a él te remito:
Solucionar los enlaces 404 redireccionándolos
Ahora que ya tenemos todos los errores 404 localizados y bajo vigilancia, lo que hay que hacer es solucionarlos. Como acabamos de ver, si están en nuestra web podemos corregir o, incluso, eliminar el enlace que apunta al recurso inexistente. Pero ¿y si no están en nuestra web y no tenemos acceso al enlace que origina el error?
La opción que tenemos en estos casos es redirigir la URL que no existe a otra que sí exista, es decir, ordenarle a nuestro servidor que, cuando llegue una petición a la dirección que devuelve el error 404, lo lleve a otra parte que sí existe.
Hay varias formas de hacer esto: la correcta, mediante una redirección 301 cuando el recurso realmente ha cambiado de lugar, llevando al usuario a la nueva ubicación de dicho recurso, y la incorrecta, mandando «a saco» todos los errores 404 a un lugar genérico, como la página de inicio o una página 404 personalizada.
A ver, no es que sea una forma incorrecta de hacerlo. Es que, como hemos visto más arriba, si no se hace bien se generará un error 404 leve, y esto Google se lo puede tomar mal. No te preocupes, que vamos a ver cómo hacerlo bien.
Redirección mediante htaccess
Cuando teníamos un contenido que ha cambiado de dirección, o un contenido que hemos eliminado pero tenemos otro similar, lo correcto es hacer una redirección 301. Este tipo de redirecciones es transparente para el usuario (que «aterriza» en la nueva página) sin notar nada y además informan a Google que el recurso que antes estaba en la anterior URL ahora está en la nueva, con lo que el buscador también actualiza su índice.
Por ejemplo, es típico el caso de un ecommerce en el que un producto deja de estar disponible: porque ha dejado de fabricarse, ya no contamos con ese proveedor o por cualquier otro motivo. Es habitual (pero incorrecto) en estos casos que el gestor de la tienda simplemente elimine o «despublique» la ficha del producto.
Muy mal. No sólo estará generando un error 404, sino que además estará perdiendo el tráfico orgánico que llegue buscando ese producto y, al ver que hay un error 404, se vaya a otra tienda. La solución, en este caso, será redirigir el producto a otro de similares características para que quien llegue buscándolo acabe en el producto similar.
En WordPress hay varias formas de realizar redirecciones 301 y varios plugins que lo hacen, pero la forma más universal (no sólo para WordPress, sino para cualquier web alojada en un servidor Apache), y que además no requiere que carguemos nuestra instalación con un nuevo plugin, es utilizando el archivo .htaccess.
En general, habrá que editar el archivo .htaccess (recuerda siempre hacer copia de seguridad primero) y añadir una línea para cada uno de los recursos que han cambiado de lugar:
Redirect 301 /ruta/completa/a/la/anterior/localizacion/ http://www.tuwebsuperchula.com/nueva/ruta/
Fíjate que en primer lugar aparece sólo la ruta relativa, mientras que en el destino de la redirección debe especificarse la ruta completa, incluyendo el nombre de dominio.
Usar un plugin para redireccionar errores 404
En ocasiones se utiliza un plugin que redirecciones automáticamente los errores 404 a alguna otra página, como por ejemplo éste, que te permite crear fácilmente una página de error 404 totalmente personalizada.
Esto te permite mostrar a tus visitantes una página amigable, mitigando la mala experiencia (y la mala imagen) de una página 404 cruda y sin cocinar. Pero ojo, esto no significa que podamos activarlo y olvidarnos de los errores 404.
Como ya sabes, hacer eso genera errores 404 leves, y eso es algo que debemos evitar. Sí, el plugin está bien para llevar a un visitante a un lugar amable cuando la dirección que ha visitado no existe, pero debemos trabajar de forma continua para eliminar los errores 404.
Eliminar el recurso inexistente del índice de Google
Una vez que hemos actuado sobre el origen del error (bien corrigiendo o eliminando el enlace, bien creando una redirección 301) y que hemos mitigado el efecto negativo que éste tiene sobre la experiencia de usuario (con una redirección «amable» o una página de error 404 personalizada) aún falta una última cosa: hacer desaparecer ese enlace del índice de Google.
En realidad en el caso concreto de un recurso que cambia de URL, cuando creamos una redirección 301 tal y como hemos visto no es necesario hacer nada más: con eso ya le estamos diciendo a Google que el recurso está en un nuevo lugar, y le hemos indicado cuál es su nueva dirección. Asunto terminado.
Pero si estamos haciendo una redirección hacia la página de inicio o hacia una página de error 404 personalizada (o hacia cualquier otro sitio cuyo contenido no sea sustancialmente similar al que ha desaparecido) hemos de eliminar la URL del índice de Google para que el buscador no interprete que hay voluntad de engañar con los contenidos.
Para ello tenemos que volver de nuevo a Google Search Console. Concretamente hay un apartado específico para esto en el menú Índice de Google > Eliminación de URL.
Ahí podremos decirle a Google que desindexe esa dirección, ya que su contenido no está disponible ni ahí ni en ningún otro sitio. Entonces, y sólo entonces, podremos acudir de nuevo a Google Search Console y marcar el error como solucionado.
Efectivamente es un fastidio tener que estar continuamente pendiente de esto, pero es absoluto si queremos que nuestra web goce de buena salud a medio y largo plazo. Al fin y al cabo, si no tienes tiempo (o ganas) ya sabes que mi servicio de mantenimiento web y soporte WordPress incluye, entre muchas más cosas, la gestión completa de los errores 404.
Vídeo: error 404 en todas las páginas en WordPress y cómo solucionarlo
Para terminar, y por si has llegado aquí buscando cómo solucionar en WordPress el error 404 generalizado en todas las páginas, aquí te dejo este corto vídeo para que sepas cómo hacerlo: