DICCIONARIO · Q

Query string

Un query string (cadena de consulta) es la parte de una URL que va tras el signo «?» y envía datos al servidor en pares clave=valor separados por «&», como ?q=zapatillas&talla=42. Sirve para búsquedas, filtros, paginación, seguimiento de campañas y APIs, y su mala gestión genera contenido duplicado y desperdicio de rastreo en SEO.

Germán Gutiérrez Escrito por Germán Gutiérrez 5 min de lectura
Ficha rápida
Traducción
Cadena de consulta; sus elementos se llaman parámetros de URL
Estándar
RFC 3986, sección 3.4 (componente query de una URI)
Sintaxis
?clave=valor&clave2=valor2, antes del fragmento #
Codificación
Percent-encoding; en formularios, el espacio puede ir como +
Longitud
La RFC 9110 recomienda admitir URIs de al menos 8.000 octetos; si se supera el límite del servidor, error 414
API del navegador
URLSearchParams (JavaScript)

≡En resumen

  • El query string empieza en el «?» y termina donde empieza el fragmento «#» o la URL.
  • Cada parámetro es un par clave=valor y los pares se separan con «&».
  • Los valores con espacios, tildes o símbolos deben ir codificados con percent-encoding.
  • Nunca pongas contraseñas, tokens ni datos personales en un query string: quedan en registros e historiales.
  • En SEO, los parámetros de filtros y seguimiento pueden crear miles de URL duplicadas: contrólalos con canonical y enlazado.

01 ¿Qué es un query string?

Es una de las partes de una URL, junto al protocolo, el dominio, la ruta y el fragmento. La norma que la define es la RFC 3986, que la llama simplemente query: datos que, junto con la ruta, identifican el recurso. En la práctica, cada dato del query string es un parámetro de URL.

La forma más común de generar un query string es un formulario enviado con el método GET: el navegador toma los campos y los añade a la URL de destino.

02 Estructura y sintaxis de una cadena de consulta

Elemento Símbolo Ejemplo Función
Inicio ? /buscar? Separa la ruta del query string
Par clave-valor = q=zapatillas Asocia un nombre a un valor
Separador & q=zapatillas&talla=42 Separa un parámetro del siguiente
Espacio + o %20 q=zapatillas+rojas Representa un espacio en el valor
Carácter codificado %XX ciudad=M%C3%A1laga Codifica tildes y símbolos en UTF-8
Fragmento # ?page=2#reseñas Marca el final del query string; no se envía al servidor
Elementos de un query string

Los valores deben ir codificados: un espacio, una «ñ» o un «&» dentro de un valor romperían la cadena. El detalle está en la codificación por porcentaje. Los formularios HTML usan el formato application/x-www-form-urlencoded, en el que el espacio se escribe como «+».

03 Para qué se usa un query string

01

Búsquedas internas

?q=zapatillas+rojas envía el término que el usuario escribió en el buscador de la web.

02

Filtros y ordenación

?color=rojo&orden=precio en tiendas online y catálogos.

03

Paginación

?page=3 para mostrar la tercera página de resultados.

04

Seguimiento de campañas

?utm_source=newsletter&utm_medium=email para atribuir visitas en la analítica.

05

APIs

GET /api/pedidos?estado=pendiente&limit=50 para pedir datos filtrados.

06

Estado compartible

Guardar en la URL la vista de un mapa o un informe para compartirla con un enlace.

El caso más conocido en marketing son los parámetros UTM: cinco claves estándar (utm_source, utm_medium, utm_campaign, utm_term y utm_content) que Google Analytics lee para saber de qué campaña viene cada visita.

04 Ejemplos de query strings que usas cada día

Aunque no te fijes, casi todas las webs que usas a diario viajan con parámetros en la URL. Mirarlos es la forma más rápida de entender cómo funcionan:

Servicio URL de ejemplo Qué hace cada parámetro
Google google.com/search?q=query+string q contiene la búsqueda; el + representa el espacio
YouTube youtube.com/watch?v=ID&t=90 v identifica el vídeo y t indica el segundo en el que empieza
Wikipedia es.wikipedia.org/w/index.php?title=URL&action=history title elige la página y action, la vista (aquí, el historial)
Tienda online tienda.com/zapatillas?talla=42&orden=precio Filtra por talla y ordena por precio
Campaña de email web.com/oferta?utm_source=newsletter&utm_medium=email Atribuye la visita a la newsletter en la analítica
Query strings en servicios conocidos

05 Cómo leer y crear un query string en JavaScript, PHP y Python

Lenguaje Leer parámetros Construir un query string
JavaScript (navegador y Node.js) new URLSearchParams(location.search).get('q') new URLSearchParams({q: 'zapatillas', talla: 42}).toString()
PHP $_GET['q'] o parse_str() http_build_query(['q' => 'zapatillas'])
Python urllib.parse.parse_qs() urllib.parse.urlencode({'q': 'zapatillas'})
Herramientas nativas para trabajar con cadenas de consulta
Ejemplo · Ejemplo con URLSearchParams

const params = new URLSearchParams('?q=zapatillas&talla=42');
params.get('talla'); // "42"
params.set('orden', 'precio');
params.toString(); // "q=zapatillas&talla=42&orden=precio"

Ojo: URLSearchParams interpreta «+» como espacio al leer, así que un valor en Base64 con «+» se corrompe si no se codificó como %2B.

06 Query string frente a ruta, fragmento y cuerpo POST

Lugar Ejemplo ¿Llega al servidor? Úsalo para
Ruta /zapatillas/rojas/ Sí Identificar recursos estables e indexables
Query string ?color=rojo Sí Filtros, búsquedas, paginación, seguimiento
Fragmento #opiniones No, se queda en el navegador Saltar a una sección o estado del cliente
Cuerpo (POST) Datos del formulario Sí, fuera de la URL Datos sensibles o grandes y operaciones que cambian cosas
Dónde viajan los datos en una petición HTTP

07 Query strings y SEO: duplicados, rastreo y canonical

Para Google, /zapatillas?color=rojo y /zapatillas?color=rojo&orden=precio son URLs distintas. Si los filtros de una tienda se combinan libremente, pueden generarse miles de variantes con el mismo contenido: contenido duplicado, señales repartidas y presupuesto de rastreo desperdiciado. Google retiró en 2022 la herramienta de Parámetros de URL de Search Console, así que el control depende de tu web.

  • ✓Usa rutas limpias para las páginas que quieres posicionar y parámetros para lo accesorio.
  • ✓Añade una etiqueta canonical que apunte a la versión principal en las URLs con parámetros de orden o seguimiento.
  • ✓No enlaces internamente URLs con parámetros UTM: úsalos solo en enlaces externos de campañas.
  • ✓Mantén un orden fijo de parámetros para no crear variantes por el orden.
  • ✓Bloquea en robots.txt las combinaciones de filtros sin valor de búsqueda, sin bloquear las que sí quieres indexar.
  • ✓Revisa en Search Console qué URLs con parámetros se están rastreando e indexando.

La etiqueta canonical es la herramienta principal, pero no la única. En una auditoría SEO técnica revisamos qué parámetros existen, cuáles rastrea Google y cuáles merecen convertirse en páginas indexables propias.

Preguntas frecuentes sobre Query string

Es la parte de una URL que va tras el signo «?» y envía datos al servidor en pares clave=valor separados por «&».

Cadena de consulta. Cada uno de sus datos se llama parámetro de URL.

El query string es la cadena completa tras el «?»; un parámetro es cada par clave=valor que contiene, como talla=42.

No hay un límite único. La RFC 9110 recomienda que emisores y receptores admitan URIs de al menos 8.000 octetos; si se supera el límite del servidor, responde con el error 414.

Sí, si generan muchas URLs con el mismo contenido. Se controlan con canonical, enlazado interno limpio y, cuando procede, robots.txt.

Con new URLSearchParams(window.location.search) y su método get('nombre'), que devuelve el valor del parámetro.

No para datos sensibles, porque quedan en historiales, registros y cabeceras Referer. Para contraseñas o datos personales usa POST sobre HTTPS.

Fuentes consultadas

Germán Gutiérrez

Sobre el autor

Germán Gutiérrez

Development Manager en appyweb

Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.

Ver perfil en LinkedIn ↗

Términos relacionados

Ver todos los términos →
U URL Una URL (Uniform Resource Locator, «localizador uniforme de recursos») es la dirección única que indica dónde está un recurso en internet y con qué protocolo se accede a él, como https://www.ejemplo.com/blog/. Importa porque navegadores, enlaces y buscadores dependen de ella para encontrar, compartir e indexar cada página, imagen o archivo. U URL encoding URL encoding (codificación por porcentaje o percent-encoding) es el mecanismo que convierte los caracteres que no pueden ir tal cual en una URL en un signo % seguido de dos dígitos hexadecimales, como %20 para el espacio. Lo define el estándar RFC 3986 y evita que tildes, espacios o símbolos rompan enlaces y parámetros. H HTTP GET HTTP GET es el método de petición del protocolo HTTP que sirve para obtener un recurso de un servidor: una página, una imagen o los datos JSON de una API. Es seguro, idempotente y cacheable, envía sus parámetros en la URL (query string) y no debería llevar cuerpo. Está definido en la RFC 9110. C Código UTM Un código UTM es un conjunto de parámetros que se añade al final de una URL para indicar a la herramienta de analítica de qué fuente, medio y campaña procede cada visita. Es la forma estándar de medir newsletters, redes sociales, anuncios o códigos QR que, sin etiquetar, aparecerían como tráfico directo o de referencia. E Etiqueta Canonical La etiqueta canonical es el elemento HTML link rel="canonical" que se coloca en el head de una página para indicar a los buscadores cuál es la URL principal de un contenido disponible en varias direcciones. Implementarla bien concentra el posicionamiento en una sola URL; implementarla mal puede sacar páginas buenas del índice. U URL amigable Una URL amigable es una dirección web legible que describe con palabras el contenido de la página, como /zapatillas-running-mujer/, en lugar de parámetros o números como ?id=482. Importa porque el usuario sabe adónde va antes de hacer clic, la comparte y recuerda mejor, y Google puede mostrar esas palabras como ruta en sus resultados.

Cuéntanos tu proyecto. Te respondemos en 48 h.

Auditoría gratuita de IA, campañas, web y SEO, con prioridades y cifras reales de tu negocio.

✓ Sin compromiso ✓ Respuesta en 48 h laborables ✓ Un consultor senior, no un bot
WA WhatsApp