Normalizador de URL
Normaliza URLs eliminando valores por defecto y ordenando parametros
Normalization Options
Input URLs
Normalized URLs
Normalized URLs will appear here
URL Normalization
Normalization converts URLs to a canonical form for comparison, caching, or deduplication. It handles: case folding, default port removal, path normalization, query parameter sorting, and removing tracking parameters.
El URL Normalizer aplica transformaciones RFC 3986 para producir formas canónicas de URLs, facilitando comparar, deduplicar y cachear URLs que se ven diferentes pero resuelven al mismo recurso. Pega una URL como HTTP://Example.COM:443/a/../b?z=1&a=2 y obtén la forma canónica limpia https://example.com/b?a=2&z=1 con un desglose antes/después de cada cambio aplicado.
Entendiendo la normalización de URLs
Si alguna vez has mirado una lista de URLs en un dashboard de analytics y has notado que la misma página aparece bajo tres o cuatro direcciones ligeramente diferentes, ya sabes por qué la normalización importa. Un usuario podría visitar https://example.com/Products, otro llega a https://example.com/products/, y un tercero hace clic en un enlace a https://example.com:443/products?utm_source=twitter. Los tres apuntan al mismo recurso, pero sin normalización tu caché almacena tres copias, tus analytics dividen el tráfico en tres filas, y tu web crawler visita la misma página tres veces.
La normalización de URLs es el proceso de transformar una URL en una forma estándar y canónica para que URLs equivalentes produzcan la misma cadena. Las reglas provienen principalmente de RFC 3986, que define la sintaxis de URIs y especifica qué transformaciones son seguras de aplicar sin cambiar el recurso al que apunta una URL. Algunas transformaciones están garantizadas para preservar el significado -- convertir a minúsculas el scheme y el host, eliminar puertos por defecto, resolver segmentos de punto -- mientras que otras dependen de cómo se comporta el servidor y se tratan como opcionales.
Esta herramienta aplica ambas categorías de transformación y te permite activar o desactivar las opcionales. Puedes eliminar parámetros de tracking como utm_source y fbclid, ordenar los parámetros de query alfabéticamente para claves de caché consistentes, eliminar fragments que solo afectan el comportamiento del lado del cliente, y colapsar barras redundantes. La comparación antes/después resalta exactamente qué cambió para que puedas verificar cada transformación antes de adoptarla en tu pipeline.
Cómo normalizar una URL
- Pega la URL que quieres normalizar en el campo de entrada.
- Selecciona qué transformaciones opcionales aplicar (ordenar parámetros de query, eliminar parámetros de tracking, eliminar fragments, etc.).
- Haz clic en Normalize para generar la forma canónica.
- Revisa la comparación antes/después mostrando cada cambio que se aplicó.
Ejemplos de normalización de URLs
| URL de entrada | Salida normalizada | Cambios aplicados |
|---|---|---|
HTTP://Example.COM/path | http://example.com/path | Scheme y host convertidos a minúsculas |
https://example.com:443/page | https://example.com/page | Puerto por defecto 443 eliminado |
http://example.com:80/page | http://example.com/page | Puerto por defecto 80 eliminado |
https://example.com/a/../b/./c | https://example.com/b/c | Segmentos de punto resueltos |
https://example.com/search?z=1&a=2 | https://example.com/search?a=2&z=1 | Parámetros de query ordenados |
https://example.com/%7Euser | https://example.com/~user | Carácter no reservado decodificado |
https://example.com/page?utm_source=twitter&id=5 | https://example.com/page?id=5 | Parámetro de tracking eliminado |
https://example.com/path//to///page | https://example.com/path/to/page | Múltiples barras colapsadas |
Cuándo usar el URL Normalizer
- Deduplicación en web crawlers -- Evita rastrear la misma página múltiples veces cuando las URLs difieren solo en mayúsculas/minúsculas, puertos por defecto u orden de parámetros.
- Generación de claves de caché -- Produce claves de caché consistentes para que
example.com:443/pageyexample.com/pagecompartan la misma respuesta cacheada. - Agrupación de URLs en analytics -- Agrega vistas de página cuando el mismo contenido se alcanza a través de URLs con diferentes parámetros de tracking o fragments.
- Coincidencia de políticas de seguridad -- Asegura que la comparación de URLs en directivas CSP, allowlists de CORS y reglas de control de acceso maneje URLs equivalentes consistentemente.
- Consistencia de claves en bases de datos -- Almacena una sola URL canónica por recurso en lugar de permitir duplicados causados por reordenamiento de parámetros.
- Limpieza de inventario de enlaces -- Limpia archivos de marcadores exportados, entradas de sitemap o listas de enlaces de CMS antes de auditar enlaces rotos.
Cómo funciona la normalización de URLs
La normalización de URLs aplica una serie de transformaciones definidas en la Sección 6 de RFC 3986, divididas en dos categorías.
Normalizaciones seguras (preservan la semántica)
Estas transformaciones nunca cambian a qué recurso apunta una URL:
- Normalización de mayúsculas/minúsculas -- El scheme (
http) y el host (example.com) no distinguen mayúsculas según la especificación, por lo que se convierten a minúsculas de forma consistente. - Normalización de percent-encoding -- Los dígitos hexadecimales en caracteres percent-encoded se convierten a mayúsculas (
%2fse convierte en%2F), y los caracteres no reservados (letras, dígitos,-._~) se decodifican ya que codificarlos es innecesario. - Eliminación de puerto por defecto -- El puerto
80parahttpy el puerto443parahttpsse eliminan porque están implícitos. - Resolución de segmentos de punto -- Los segmentos de ruta como
.(directorio actual) y..(directorio padre) se resuelven:/a/b/../cse convierte en/a/c.
Normalizaciones opcionales
Estas pueden cambiar la semántica dependiendo del servidor, por lo que son configurables:
- Ordenamiento de parámetros de query -- El ordenamiento alfabético produce un orden canónico de parámetros, útil cuando los servidores tratan
?a=1&b=2y?b=2&a=1de forma idéntica. - Eliminación de parámetros de tracking -- Elimina parámetros de marketing comunes como
utm_source,utm_medium,utm_campaign,fbclidygclid. - Eliminación de fragment -- Elimina la porción
#fragment, que típicamente es solo del lado del cliente. - Normalización de barra final -- Agrega o elimina barras finales para URLs estilo directorio.
- Colapso de barras -- Reduce barras consecutivas (
//) en la ruta a una sola barra.
Ejemplo del pipeline de normalización
Comenzando con HTTP://Example.COM:443/docs/../api//v2?z=3&a=1&utm_source=ad#top:
Step 1 Lowercase scheme: http://Example.COM:443/docs/../api//v2?z=3&a=1&utm_source=ad#top
Step 2 Lowercase host: http://example.com:443/docs/../api//v2?z=3&a=1&utm_source=ad#top
Step 3 Remove default port: http://example.com/docs/../api//v2?z=3&a=1&utm_source=ad#top
Step 4 Resolve dot segments: http://example.com/api//v2?z=3&a=1&utm_source=ad#top
Step 5 Collapse slashes: http://example.com/api/v2?z=3&a=1&utm_source=ad#top
Step 6 Sort query params: http://example.com/api/v2?a=1&utm_source=ad&z=3#top
Step 7 Remove tracking: http://example.com/api/v2?a=1&z=3#top
Step 8 Remove fragment: http://example.com/api/v2?a=1&z=3
Consejos prácticos para la normalización de URLs
El mayor problema con la normalización es aplicar transformaciones opcionales de manera ciega. Ordenar parámetros de query es seguro para la gran mayoría de servidores web y frameworks -- Express, Django, Rails, Spring y Laravel todos tratan el orden de parámetros como irrelevante -- pero un pequeño número de sistemas legacy usan la posición de parámetros para distinguir entre valores. Antes de habilitar el ordenamiento de parámetros en producción, prueba un puñado de URLs representativas contra tu servidor para asegurarte de que las respuestas sean idénticas independientemente del orden.
La eliminación de parámetros de tracking es otra área donde reglas demasiado agresivas pueden causar problemas. Los parámetros UTM estándar (utm_source, utm_medium, utm_campaign, utm_term, utm_content) siempre son seguros de eliminar porque son consumidos por herramientas de analytics y nunca afectan el contenido del lado del servidor. Parámetros como fbclid y gclid son igualmente seguros. Pero algunas aplicaciones usan parámetros personalizados que parecen de tracking -- por ejemplo, ref podría usarse para atribución de afiliados que realmente cambia el contenido mostrado. Revisa la lista de parámetros de tracking cuidadosamente y solo elimina parámetros que estés seguro son puramente analíticos.
Si estás construyendo un crawler o verificador de enlaces, normaliza las URLs antes de agregarlas a tu conjunto de URLs visitadas. Este solo paso puede reducir tu tiempo de rastreo dramáticamente al prevenir re-visitas a páginas que difieren solo en mayúsculas/minúsculas, puertos por defecto o barras finales. Combina la normalización con la verificación de robots.txt y etiquetas canonical para una estrategia de deduplicación completa.
Preguntas frecuentes
¿Normalizar una URL cambia hacia dónde apunta?
Las normalizaciones seguras (mayúsculas/minúsculas, percent-encoding, puerto por defecto, segmentos de punto) están garantizadas por RFC 3986 para preservar el significado. Las normalizaciones opcionales como ordenamiento de query o eliminación de parámetros de tracking pueden cambiar el significado en servidores que tratan el orden de parámetros o los parámetros de tracking como significativos, por eso son activables/desactivables.
¿Debería ordenar los parámetros de query en mi aplicación?
Si controlas el servidor y este ignora el orden de parámetros, el ordenamiento es altamente recomendable para eficiencia de caché y deduplicación. La mayoría de los frameworks web tratan ?a=1&b=2 y ?b=2&a=1 de forma idéntica, haciendo de los parámetros ordenados un valor por defecto seguro.
¿Qué parámetros de tracking elimina la herramienta?
La herramienta elimina parámetros de marketing ampliamente usados incluyendo utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid, gclid, mc_eid e identificadores de analytics similares. La lista exacta es configurable.
¿La normalización de URLs es lo mismo que la canonicalización de URLs?
Se superponen significativamente pero no son idénticas. La normalización se refiere específicamente a las transformaciones RFC 3986 que producen una forma estándar. La canonicalización es un concepto más amplio que puede incluir reglas específicas del servidor, como elegir www vs. sin www, seleccionar un protocolo preferido (HTTPS sobre HTTP), o resolver duplicados a nivel de contenido identificados por etiquetas <link rel="canonical">. La normalización es un paso dentro de una estrategia completa de canonicalización.
¿La normalización puede romper URLs con caracteres de ruta codificados?
La normalización segura solo decodifica caracteres no reservados (letras, dígitos, -._~). Los caracteres reservados como / (%2F) y ? (%3F) permanecen codificados porque decodificarlos cambiaría la estructura de la URL. Si una ruta intencionalmente contiene %2F para representar una barra literal dentro de un segmento de ruta (no un separador), la normalización lo preserva correctamente.
¿Cómo maneja la normalización los nombres de dominio internacionalizados (IDN)?
Los dominios internacionalizados pueden aparecer en forma Unicode (exemple.fr) o en forma Punycode (xn--exemple-9ua.fr). Esta herramienta normaliza el host a su forma ASCII en minúsculas pero no convierte entre Unicode y Punycode. Para consistencia de IDN, combina esta herramienta con un convertidor de IDN dedicado.
Herramientas relacionadas
- URL Parser - Descompone URLs en componentes individuales como scheme, host, port, path y query
- Query String Parser/Builder - Analiza y construye query strings de URLs con codificación apropiada
- Bulk Add/Remove Query Params - Agrega o elimina parámetros de query de múltiples URLs a la vez
- HTTP Header Formatter - Convierte entre formatos de headers raw y clave/valor
- curl Command Builder - Construye comandos curl para probar URLs normalizadas contra tu servidor