La migración de un sitio web, la reestructuración de sus enlaces o la limpieza de contenidos antiguos requieren una gestión precisa de las rutas de navegación. Para evitar la pérdida de posicionamiento en buscadores (SEO) y garantizar que los usuarios no encuentren errores de página no encontrada, es necesario implementar redirecciones en el servidor. El Generador de reglas de redirección automatiza la creación de estas directivas de configuración a partir de un archivo de datos estructurado.
Toda la lectura del archivo y el procesamiento de las reglas se realizan de forma local. Tu archivo CSV y las reglas generadas se quedan en el navegador. No se sube nada a BroBroGo.
Formato del archivo CSV de entrada
Para procesar las equivalencias de URL, la herramienta requiere un archivo en formato CSV que cumpla con una estructura específica. El archivo debe tener un tamaño inferior a 5 MB y contener un máximo de 2.000 asignaciones de redirección.
La estructura del documento debe seguir las siguientes especificaciones de formato:
- Fila de cabecera: Debe incluir obligatoriamente las columnas
sourceytarget(o en su defecto,destination). Si no se detectan, el sistema mostrará el error:La cabecera debe tener las columnas source y target (o destination). - Dirección de origen (Source): Puede ser una URL absoluta con protocolo HTTP o HTTPS, o bien una ruta relativa que comience obligatoriamente con el carácter
/. Los nombres de host presentes en el origen se eliminan automáticamente durante el procesamiento. - Dirección de destino (Target/Destination): Debe ser una URL completa (HTTP o HTTPS) o una ruta relativa a la raíz que empiece por
/.
El generador valida cada fila del archivo y detiene el proceso si detecta anomalías, mostrando mensajes específicos para corregir el origen de los datos:
- Si falta alguno de los dos campos:
La fila {line} necesita un origen y un destino. - Si el origen no cumple el formato:
El origen de la fila {line} no es válido. Usa una URL HTTP(S) o una ruta que empiece por /. - Si el destino es incorrecto:
El destino de la fila {line} no es válido. Usa una URL HTTP(S) o una ruta que empiece por /. - Si se supera la longitud máxima admitida en cualquier dirección:
Una URL de la fila {line} supera los 2.048 caracteres.
Restricciones de coincidencia exacta y patrones
Este generador está diseñado exclusivamente para crear redirecciones de coincidencia exacta. Esto significa que cada regla se asocia de forma unívoca a una ruta literal, sin aplicar comportamientos dinámicos o variables de servidor.
Debido a esta arquitectura de coincidencia estricta, existen limitaciones importantes en la definición de las URL de origen:
- Sin cadenas de consulta ni fragmentos: No se permite la inclusión de parámetros de consulta (carácter
?) ni de identificadores de fragmento (carácter#) en la columna de origen. Si se detectan, se detendrá la importación con el mensaje:El origen de la fila {line} incluye una consulta o un fragmento. Deja solo la ruta. - Sin caracteres comodín: No se admite el uso de expresiones regulares, asteriscos (
*) o patrones de enrutamiento dinámicos. Si el archivo contiene estos elementos, se mostrará el aviso:La fila {line} usa comodines o caracteres de patrón. Este generador solo admite rutas de origen exactas. - Sin duplicados: Cada ruta de origen debe ser única dentro del archivo para evitar conflictos de redundancia en el servidor. En caso de duplicidad, se indicará:
La fila {line} repite la ruta de origen {source}. Cada origen solo puede aparecer una vez.
Comportamiento según el código de estado: 301 frente a 302
La elección del código de estado de red determina cómo procesarán la redirección tanto los navegadores web como los rastreadores de los motores de búsqueda:
- 301 Permanente: Indica que la URL de origen ha sido trasladada de forma definitiva a la nueva ubicación. Los buscadores transfieren la autoridad de enlace acumulada (el valor SEO) de la dirección antigua a la nueva. Es la opción recomendada para migraciones de dominio o cambios estructurales definitivos.
- 302 Temporal: Señala que el recurso de origen se encuentra temporalmente en una ubicación distinta, pero volverá a estar activo en su dirección original en el futuro. Los motores de búsqueda mantienen indexada la URL original y no transfieren la autoridad de enlace de manera permanente.
Sintaxis de salida por entorno de servidor
El generador adapta las reglas de coincidencia exacta a la sintaxis específica de tres entornos de ejecución distintos:
Nginx
Para el servidor web Nginx, las reglas se generan utilizando la directiva rewrite combinada con expresiones regulares ancladas mediante los caracteres de inicio de línea ^ y fin de línea $ para garantizar la coincidencia exacta de la ruta.
- Para un estado 301, se añade el parámetro
permanental final de la directiva. - Para un estado 302, se añade el parámetro
redirect.
Apache
En el entorno Apache, las directivas se estructuran para el módulo mod_alias o mod_rewrite. Las reglas de coincidencia exacta se anclan para evitar que subdirectorios o rutas que contengan la misma raíz se vean afectados por la redirección. Se utiliza la instrucción correspondiente según el código de estado seleccionado (permanent o temp).
Vercel
Para la plataforma de alojamiento Vercel, la configuración se genera en formato JSON, estructurada para integrarse directamente en el archivo vercel.json.
A diferencia de la configuración nativa de Vercel, donde la propiedad booleana "permanent": true genera un código de estado 308 y "permanent": false genera un 307, este generador utiliza explícitamente la propiedad statusCode. De este modo, se garantiza que el servidor responda exactamente con el código 301 o 302 seleccionado en las opciones de la herramienta.
Preguntas frecuentes
¿Qué formato debe tener el archivo CSV?
La primera fila debe incluir las columnas source y target; también puedes usar destination en lugar de target. En cada fila siguiente indica una URL HTTP/HTTPS completa o una ruta que empiece por / como origen, y un destino completo o relativo a la raíz.
¿Las redirecciones coinciden con la ruta exacta?
Sí. Las reglas de Nginx y Apache quedan ancladas a la ruta de origen completa, y Vercel recibe esa misma ruta literal. Se elimina el dominio de una URL de origen completa; no se admiten consultas, fragmentos ni patrones comodín porque los tres entornos los interpretan de forma distinta.
¿Por qué el resultado de Vercel usa statusCode?
En Vercel, la opción permanente devuelve 308 y la temporal, 307. statusCode mantiene exactamente el 301 o 302 que elegiste. El límite estándar es de 2.048 rutas totales por despliegue, por lo que esta herramienta acepta hasta 2.000 asignaciones.
¿Qué ocurre si mi archivo CSV supera el límite de filas o tamaño?
La herramienta admite un máximo de 2.000 asignaciones y un tamaño de archivo inferior a 5 MB. Si se superan estos límites, se mostrarán los mensajes de error Este CSV es demasiado grande. Elige un archivo de menos de {max}. o Esta herramienta admite hasta {max} asignaciones a la vez., impidiendo la generación de las reglas hasta que se reduzca el volumen de datos.