CategoríaContenido y búsqueda

Página 404 y redirecciones: cuando la dirección desaparece

7 minutos de lectura

Cuando una página cambia de dirección, lo correcto es una redirección permanente (301 o 308) del camino viejo directo al nuevo. Cuando el contenido se acabó y no hay reemplazo, el servidor responde 404 o 410 y muestra una página que explica lo que pasó y señala una salida (Google, las redirecciones y la Búsqueda). Los dos atajos que salen mal son mandar todo a la portada y mostrar el mensaje de error con código de éxito.

Por qué la dirección vieja todavía importa

Un enlace viejo sigue trayendo gente. Puede estar en un marcador, en un mensaje antiguo o en el texto de otro sitio. En 1998, Jakob Nielsen ya defendía que toda dirección publicada debería vivir para siempre, porque quien sigue un enlace busca algo de ese sitio (NN/g, Fighting Linkrot (en inglés)). En el mismo texto cita una encuesta de la época con el 6% de los enlaces de la web rotos.

Su argumento es de negocio. Cada dirección que deja de funcionar recibe a un visitante nuevo con un mensaje de error, justo en su primera visita.

Cambió de lugar: redirección permanente

Google separa las redirecciones en dos grupos (Google):

  • Permanente (301 o 308). El buscador pasa a tratar el destino como la dirección principal de la página. Sirve cuando el cambio no se va a deshacer.
  • Temporal (302 o 307). El buscador sigue el desvío, pero no lo toma como señal de que el destino pasó a ser la dirección principal. Sirve, por ejemplo, cuando un servicio del sitio está caído por un tiempo y quieres mostrar una página que explique la situación.

En la tabla de códigos HTTP de Google, el 301 es una señal fuerte de que el destino debe procesarse, y el 302 es una señal débil. La misma tabla trata el 308 igual que el 301 y el 307 igual que el 302. Aun así, pide el código que describe el caso, porque otros programas además de Google leen esa respuesta.

En Vercel, donde está alojado kahue.net, la diferencia entre 301 y 308 es técnica. Los dos quedan guardados en el navegador, pero el 308 nunca cambia el método de la petición, y el 301 puede cambiarlo a GET (documentación de Vercel (en inglés)). Para una página común, cualquiera de los dos funciona.

Directo al destino, y por mucho tiempo

El rastreador de Google sigue hasta 10 saltos de redirección, pero la recomendación es apuntar la dirección vieja directo a la final. Si no se puede, la cadena debe quedarse en 3 saltos como máximo, y siempre por debajo de 5. Cada salto de más retrasa a quien navega, y no todos los navegadores aguantan una cadena larga (Google, traslados y migraciones de sitios).

La cadena suele aparecer sin que nadie lo note. Una página cambia de dirección en marzo y otra vez en agosto, y la regla nueva apunta a la dirección de marzo, que ya redirigía.

En cuanto al plazo, la misma página de Google pide mantener las redirecciones el mayor tiempo posible, en general al menos un año. Pensando en quien visita, el consejo es mantenerlas para siempre. Tus propios enlaces internos, en cambio, deben ir directo a la dirección nueva.

Se acabó del todo: 404 o 410

El 404 dice que el servidor no encontró nada en esa dirección (MDN, sobre el código 404). El 410 dice más: el contenido ya no está disponible, y eso probablemente sea permanente. Si dudas entre los dos, el MDN, sobre el código 410 (en inglés) indica usar el 404.

Para la búsqueda de Google, la elección no cambia nada. La tabla de códigos de Google trata todos los errores 4xx de la misma forma, salvo el 429. La URL sale del índice, y el rastreador la visita cada vez menos. La diferencia entre 404 y 410 queda para otros programas que leen la respuesta.

El error que finge éxito

El problema más serio es la página que dice “no encontrada” en el texto, pero responde 200, el código de éxito. Google lo llama soft 404, un error disfrazado. Cuando el contenido parece un mensaje de error o una página vacía, Search Console, la herramienta de Google para quien administra un sitio, señala el problema (Google).

La misma etiqueta puede caer sobre una redirección. Mandar muchas direcciones viejas a un destino sin relación, como la portada del sitio nuevo, confunde a quien llega y puede leerse como soft 404 (Google, traslados y migraciones de sitios). La excepción es cuando varias páginas viejas de verdad se unieron en una sola. Entonces todas pueden apuntar a ella.

Qué escribir en la página de error

El artículo del NN/g sobre la página 404 también es de 1998, y su base sigue en pie (Jakob Nielsen, NN/g (en inglés)). El mensaje por defecto del servidor falla en las tres reglas de todo mensaje de error: lenguaje sencillo sin culpar a la persona, precisión y una sugerencia de qué hacer. Según él, la página propia debe tener:

  • una frase corta, con una leve disculpa, que diga que la dirección no se encontró en el sitio;
  • los errores de escritura más comunes del sitio, sacados de los registros del servidor;
  • cuando se pueda, sugerencias de direcciones parecidas, ya como enlaces;
  • un campo de búsqueda del sitio.

En el mismo artículo, Nielsen cita el relato de un consultor italiano. En un sitio de páginas de hoteles, revisar la ortografía de las URL pedidas redujo los errores 404 en al menos un 40% (NN/g (en inglés)). Es un solo caso, contado por el propio responsable, y no un estudio.

Cómo lo hice en kahue.net

El sitio tiene una sola página 404, servida por Vercel en cualquier camino que no exista. Sale en inglés, el idioma por defecto del sitio, y mantiene en el menú el selector de idioma. Quien llega por una dirección vieja en portugués o en español cambia de idioma sin quedarse atrapado.

No cambia el idioma por su cuenta, y eso fue a propósito. El detector de idioma del sitio lleva a la persona al mismo camino en la otra lengua. En una dirección que no existe, eso solo produciría un segundo 404. La página también lleva noindex, para no entrar en la búsqueda, y responde con el código 404 de verdad, comprobado en el sitio publicado.

El texto dice que la dirección no existe y ofrece dos salidas: la portada y la lista completa de proyectos. Según la lista del NN/g, falta la sugerencia de direcciones parecidas. El campo de búsqueda no está porque el sitio no tiene búsqueda.

Las redirecciones están en el vercel.json, todas permanentes. Cuando el caso de bel app cambió de dirección, de bell-app a bel-app, el camino viejo pasó a apuntar directo al nuevo en los tres idiomas. Las direcciones viejas en /pt-pt/ van a /pt-br/ con el resto del camino intacto. Vercel advierte que un comodín que capture cualquier camino puede mandar todo a un solo destino (Vercel (en inglés)). Aquí el comodín lleva cada página a su equivalente, y no a la portada.

Dónde difieren las fuentes

Para el NN/g, ni el contenido viejo debería morir. Su ejemplo es la página de inscripción de un congreso que ya pasó, que debería redirigir a la crónica del evento o al programa del año siguiente (NN/g (en inglés)).

Google es más cauteloso. Redirigir a algo sin relación puede convertirse en soft 404 (Google). Las dos posturas se encuentran en la relevancia. La redirección vale cuando el destino responde a lo que la persona buscaba. Cuando nada responde, un 404 honesto es mejor que una portada genérica.

El error común: comprobar solo lo que se ve en pantalla

La página de error puede verse bien y aun así responder 200. En el navegador, los dos casos se ven iguales. La comprobación lleva un minuto: abre la pestaña Red de las herramientas del navegador, o ejecuta curl -I con la dirección, y mira el código. Haz lo mismo con una dirección vieja y confirma que llega al destino en un solo salto.

Fuentes

Más textos

Ver todos los textos