Redirecciones en el htaccess. WPO
Impacto de las redirecciones en el rendimiento de una página web

- Autor:
-
Carlos Sánchez
- Temática:
- Enlazado ,
- Servidores ,
- WPO
- Fecha de publicación:
- 2024-04-22
- Última revisión:
- 2025-04-17
Un mito común es que las redirecciones pueden ralentizar una página web. Es cierto que las redirecciones pueden agregar una sobrecarga adicional al tiempo de carga de una página, pero su impacto será insignificante. Aunque según como se realicen, este mito puede ser una verdad a medias.
A menudo he escuchado el tema de que no hay que hace redirecciones porque afectan al rendimiento. Esto se dice desde el desconocimiento y vamos a profundizar aquí.
Las redirecciones bien implementadas, como las redirecciones 301 (permanentemente) o las redirecciones 302 (temporalmente), son procesadas rápidamente. Sin embargo, si están mal configuradas o en cadena sí que pueden tener un impacto negativo en el rendimiento. Y en consecuencia, aumentar el tiempo de carga y generar solicitudes adicionales al servidor.
Es importante destacar que las redirecciones son necesarias en muchas situaciones, como cuando se cambia la estructura de un sitio web. Por ello, una estrategia de redirección adecuada puede evitar la pérdida de tráfico y mantener la integridad del SEO sin perjudicar al usuario. De hecho son más que necesarias en las migraciones.
Lo ideal es hacer todas las redirecciones desde el mismo sitio y de una forma ordenada para su posterior mantenimiento, de esta forma se pueden evitar cadenas de redirecciones y mantener un control de las mismas.
Creo firmemente que el mito puede estar ocasionado por la mala utilización del .htaccess principalmente en Apache (que era el servidor más usado en el momento de la creación de la leyenda), y es que suene como suene, el .htaccess se usa mal.
Como afecta el .htaccess en el WPO
En SEO existen numerosas creencias que pueden influir en las decisiones de diseño y optimización de un sitio web. Una de ellas es la idea de que el uso excesivo de redirecciones en el archivo .htaccess puede ralentizar el rendimiento de un sitio web. Sin embargo, es crucial entender que el impacto real de las redirecciones en el rendimiento web es más complejo de lo que comúnmente se piensa.
Más que por cuestión de las redirecciones, es por el hecho de utilizar este tipo de archivo.
Debería evitar usar ficheros
.htaccesscompletamente si tiene acceso al fichero de configuración principal de httpd. Usar ficheros.htaccessralentiza su servidor Apache http. Cualquier directiva que pueda incluir en un fichero.htaccessestará mejor configurada dentro de una secciónDirectory, tendrá el mismo efecto y mejor rendimiento. — Documentación de Apache
El papel del archivo .htaccess
Antes de profundizar en el impacto de las redirecciones en .htaccess, es importante comprender la función de este archivo en el entorno de desarrollo web. Este archivo es una herramienta poderosa que se utiliza en servidores web Apache para configurar diversas opciones de servidor, como redirecciones, control de acceso, compresión de archivos y más. Permite a los desarrolladores modificar la configuración del servidor sin necesidad de acceder directamente a la configuración del servidor principal.
Podemos entenderlo como un apéndice que utilizan tanto Apache como LiteSpeed. Cuenta con la ventaja de que no se necesita acceder a la configuración del servidor principal ni reiniciar el servidor. Por contra, esto quiere decir que el servidor necesita leer estas directivas cada vez que un usuario realiza una solicitud al servidor. Si estas directivas son largas y engorrosas, al servidor le tomará más tiempo resolver esto a cada petición. Si hay una gran cantidad de usuarios solicitando a un servidor con un .htaccess con demasiadas directivas, puede ocasionar problemas en la carga.
Es decir, htaccess se lee "at run-time", en vivo, mientras que el resto de configuraciones de servidor están precargadas, de forma que es más eficiente.
Pruebas de rendimiento sobre el .htaccess
Examinemos distintas fuentes sobre el efecto que tiene el .htaccess en el rendimiento
SEOMike
SEOMike hizo un testeo de las redirecciones, donde si que le salía un impacto notable a partir de las 30.000 redirecciones.
No obstante fue utilizando el .htaccess con Apache, es decir, en el peor de los escenarios. Si las afirmaciones de las documentaciones y mis propias pruebas son ciertas, la baja performance se debe al abuso del .htaccess, no al exceso de redirecciones

Netseven
NETSeven también hizo un estudio bastante profundo sobre el tema.

Las conclusiones principales de este análisis sobre el impacto del uso de archivos .htaccess en un servidor web Apache son:
- Impacto moderado en sitios estáticos: Un archivo .htaccess pequeño tiene un impacto limitado en la velocidad de respuesta de sitios estáticos, pero su presencia aún así afecta el rendimiento. Permitir los archivos .htaccess (AllowOverride All) reduce el rendimiento en aproximadamente un 16% en comparación con su deshabilitación total.
- Desempeño bajo carga de archivos grandes o complejos: Los archivos .htaccess muy grandes o con directivas complejas pueden disminuir significativamente el rendimiento. Por ejemplo, un archivo de 170 Kb lleno de directivas puede reducir la capacidad de respuesta del servidor en un 90%, mientras que un archivo realista de 12 Kb puede reducirlo en un 40%.
- Configuración centralizada es más eficiente: Colocar las configuraciones directamente en el archivo de configuración principal del servidor web en lugar de usar múltiples archivos .htaccess mejora el rendimiento y la seguridad.
- Efectos de la jerarquía de directorios: La presencia de archivos .htaccess en cada nivel de una estructura de directorios tiene un impacto acumulativo en el rendimiento, especialmente si los archivos son grandes o numerosos.
- Comparación con otros servidores web: Aunque Apache muestra una disminución en el rendimiento con el uso de .htaccess, la diferencia de rendimiento no justifica necesariamente el uso de Nginx para contenido estático exclusivamente, a menos que se maneje una cantidad muy alta de dicho contenido.
- Influencia del almacenamiento: El tipo de almacenamiento (SSD local vs. NFS) no mostró una diferencia significativa en el rendimiento, probablemente debido al caché de lectura de Linux.
En resumen, aunque el uso de archivos .htaccess ofrece flexibilidad, también conlleva una penalización en el rendimiento que debe considerarse, especialmente en configuraciones de alto tráfico o cuando se utilizan archivos de configuración grandes y complejos.
Strategiq
Strategiq también sacó su propio analisis al respecto.

El análisis en el artículo de StrategiQ sobre el impacto del número de reglas en archivos .htaccess en el rendimiento y la escalabilidad del servidor revela varios puntos clave:
- Impacto en el tiempo hasta el primer byte (TTFB): A medida que aumenta el número de líneas en un archivo .htaccess, el TTFB de los archivos servidos en el mismo directorio aumenta significativamente. Por ejemplo, un archivo .htaccess con 1,000,000 de líneas puede llevar a un TTFB de hasta 2.5 segundos.
- Impacto en la escalabilidad del servidor: Al incrementar la cantidad de reglas en .htaccess, especialmente durante pruebas de carga, se observa un aumento en el uso de la CPU y la memoria. Esto indica que archivos grandes de .htaccess pueden consumir recursos significativos bajo condiciones de carga elevada.
- Recomendaciones: Para mitigar estos efectos, se recomienda minimizar el uso de códigos en el .htaccess cuando sea posible, consolidando directivas en el archivo de configuración central del servidor (httpd.conf). Esto reduce la sobrecarga de procesamiento y el acceso frecuente al disco asociado con los archivos .htaccess.
Este análisis destaca que mientras más reglas se contienen en el archivo .htaccess, mayor es el impacto en el rendimiento y la escalabilidad del servidor, lo cual es crucial considerar en entornos de producción donde la eficiencia es crítica.
Matthewedgar
En el artículo de Matthew Edgar sobre los redireccionamientos y su impacto en la velocidad del sitio web, se concluye que los redireccionamientos pueden afectar significativamente la velocidad, especialmente a través del Tiempo hasta el Primer Byte (TTFB).
Los redireccionamientos en cadena, donde una página redirige a otra sucesivamente, pueden agregar tiempo considerable de carga.
Además, los redireccionamientos especificados en un archivo .htaccess pueden aumentar la sobrecarga del servidor si hay un gran número de ellos, lo que también disminuye la velocidad del sitio.
Según el artículo, se recomienda minimizar los redireccionamientos y optimizar la gestión de redirecciones para mejorar el rendimiento del sitio web. Pero mis conclusiones siguen siendo que es por el abuso de .htaccess y por lo que implican las propias cadenas de redirecciones.

En cualquier caso, podemos observar como en el caso de SEOMike que hasta las 30.000 líneas de redirecciones no empieza a haber un cambio significativo en la performance.
Pruebas de redirecciones sin .htaccess
Aunque pueda haber un impacto, todas las pruebas que se observan en servidores que no están utilizando un .htaccess para generar las redirecciones tienen un impacto mínimo:
- Tom in nginx
- Joshmaker en Stackoverflow
- ¿Quieres hacer tu un estudio serio de como afectan las redirecciones de nginx o sin htaccess? Habla conmigo y te enlazo.
Puedes analizar tus propias redirecciones con un redirect speed tester o también tienes la opción de analizar la performance de la web (sin necesidad de redirección ni nada) añadiendo mucho código en vuestro htaccess.
Conclusiones
La realidad es que tiene sentido que sea por la lectura de excesivo código que el servidor tiene que procesar cada vez que le llega una solicitud lo que afecte a la performance.
Las redirecciones en si tienen un impacto mínimo en el rendimiento y velocidad de una web. Lo único que se deben adoptar buenas prácticas entendiendo la naturaleza de los servidores.
El .htaccess solo se debe utilizar para códigos auxiliares que se necesiten implementar rápidamente. Y aunque se consiga optimizar la velocidad de una web con comandos en el .htaccess, esto se consigue simplemente porque lo que hacen esos códigos mejora más la velocidad que el aumento de peso del archivo al aumentar el número de líneas.
Las redirecciones no ralentizan una web. Pero los códigos en el .htaccess o en un archivo de PHP que se llame desde toda la web sí. El problema no es la cantidad de redirecciones. Sino cómo ponerlas.
Como implementar redirecciones de una forma correcta
- Puedes utilizar regex cuanto lo necesites, de hecho es recomendable, lo ineficiente es poner 30000 líneas de código. A nosotros nos cuesta procesar regex, a las máquinas no. Úsalo para ahorrar trabajo y esfuerzo siempre que sea posible,
- Haz siempre todas las redirecciones desde el mismo sitio, si utilizas diferentes formas de redireccionar, será más fácil que generes una cadena de redirecciones. Además ordénalo siempre por tipo de redirección, con comentarios de motivos siempre que sea posible.
- Cuando vayas a generar una redirección nueva, comprueba que el origen de dicha redirección no sea el destino de una redirección previa. En caso de que ocurra, simplemente reemplaza el destino inicial por el destino final.
- Cuando el proyecto empiece a escalar, mueve las redirecciones del .htaccess si es que lo estás utilizando al httpd.conf. Es cierto que se tiene que refrescar el servidor para generarlas, pero mejorarás en performance. Esto no quiere decir que el .htaccess no se pueda usar, quiere decir que no se debe abusar de él.
Te falta mi máster. Accede a una formación avanzada que te permitirá aplicar e implementar SEO en cualquier tipo de WEB
¡Accede al Máster de SEO Técnico!