Warning Meta Refresh y Cómo Redirigir una Página HTML
Qué hace una etiqueta de meta refresh, sus problemas de accesibilidad, y las tres formas de redirigir una página web — servidor, JavaScript o meta refresh.
Un meta refresh es una etiqueta <meta http-equiv="refresh"> que le dice al navegador que recargue o navegue a una nueva URL tras un retraso definido — una redirección implementada por completo en HTML, sin necesidad de configuración en el servidor. El validador marca esta etiqueta en cualquier parte del documento donde aparezca, porque rara vez es la mejor herramienta para el trabajo (ver abajo).
Ejemplo
<!-- Desaconsejado -->
<meta http-equiv="refresh" content="3;url=https://ejemplo.com/pagina-nueva">
<!-- Preferido: una redirección HTTP real desde el servidor -->
HTTP/1.1 301 Moved Permanently
Location: https://ejemplo.com/pagina-nuevaEl atributo content guarda dos valores separados por punto y coma: el retraso en segundos antes de que el navegador actúe (3 arriba), y el destino (url=...). Si se omite la parte url por completo, simplemente recarga la página actual tras el retraso en vez de navegar a otro lado.
Cómo redirigir una página web — tres métodos
| Método | Cómo funciona | Veredicto |
|---|---|---|
| Redirección HTTP del lado del servidor (301/308) | El servidor responde con un estado 3xx y un encabezado Location antes de que cargue cualquier contenido de página. | Recomendado — instantáneo, sin destello de contenido viejo, y la señal más clara posible para navegadores y buscadores. |
| Meta refresh | Una etiqueta <meta http-equiv="refresh"> en el propio HTML de la página, evaluada después de que la página original ya cargó. | Desaconsejado — ver los problemas de accesibilidad y SEO abajo. |
| Redirección con JavaScript | window.location.href = "..." o window.location.replace("..."), ejecutado desde un script. | Solo para apps puramente del lado del cliente sin opción de redirección en el servidor — invisible para usuarios con JavaScript deshabilitado, y más lenta que una redirección de servidor porque espera a que carguen primero la página y el script. |
Si se tiene algún control sobre el servidor o la plataforma de hosting — incluso un hosting estático, la mayoría de los cuales soportan reglas de redirección o archivos de configuración — casi siempre está disponible una redirección HTTP real, y es la opción correcta.
Por qué importa
Una redirección con meta refresh ocurre por completo del lado del cliente, después de que la página original ya cargó — se salta el manejo normal de navegación e historial del navegador, lo cual puede hacer que el botón de retroceso se comporte de forma inesperada (algunos navegadores saltan la página que redirige, otros quedan atrapados en un bucle a través de ella). En cuanto a accesibilidad, una redirección automática que se dispara antes de que un usuario de lector de pantalla o con baja visión haya terminado de leer la página está marcada directamente por WCAG 2.2.1 (Tiempo Ajustable) a menos que el retraso sea lo bastante largo o el usuario pueda desactivarlo. Los buscadores generalmente tratan un meta refresh como una señal más débil que una redirección HTTP 3xx real, y pueden tardar más en seguirla o transferir las señales de ranking al destino.
Frequently asked questions
¿Qué es meta refresh?
Es una etiqueta HTML — <meta http-equiv="refresh" content="segundos;url=destino"> — que le dice al navegador que recargue la página o navegue a una nueva URL tras un retraso, sin ninguna participación del servidor. Es un mecanismo de redirección a nivel de página, en vez de a nivel de servidor.
¿Cuáles son los problemas de accesibilidad de meta refresh, y cómo se solucionan?
Un cambio de página automático y con temporizador puede dispararse antes de que un usuario de lector de pantalla haya terminado de escuchar la página, o antes de que un usuario con baja visión o movilidad reducida haya terminado de leerla o interactuar con ella — WCAG 2.2.1 exige que un tiempo así se pueda ajustar, extender o eliminar por el usuario, algo que un meta refresh simple no ofrece. La solución confiable es dejar de usarlo: cambiar a una redirección 301/308 del lado del servidor, que elimina el problema de tiempo por completo en vez de intentar hacer el retraso 'lo bastante largo'.
¿Un meta refresh es aceptable alguna vez?
A veces se usa como respaldo cuando una redirección real del lado del servidor no está disponible (por ejemplo, un hosting estático sin reglas de redirección), pero una redirección HTTP 3xx genuina — configurada a nivel de servidor o CDN — es la herramienta correcta cada vez que es una opción.
¿Cuál es la diferencia entre un 301 y un meta refresh, para SEO?
Una redirección 301 (o 308) es una instrucción clara e inmediata que los buscadores siguen y a través de la cual consolidan las señales de ranking. Un meta refresh requiere que la página cargue primero y es una señal mucho más débil y lenta que los buscadores pueden no seguir siempre de la misma manera.