Navegación por facetas SEO: domar la explosión de URLs

Cuando alguien entra en la categoría de zapatillas de una tienda online y empieza a marcar casillas —talla 42, color azul, precio entre 20 y 50 euros, marca concreta— está usando navegación por facetas: un sistema de filtros que reduce un catálogo de miles de productos a los tres o cuatro que realmente le interesan. Para esa persona es, sencillamente, lo que hace que una tienda grande sea usable.
Para un rastreador como Googlebot, cada combinación de filtros que el usuario puede marcar es, por defecto, una URL distinta. Ahí empieza el problema: un sistema diseñado para ayudar a una persona a encontrar un producto se convierte, sin que nadie lo planee así, en una máquina de generar páginas casi idénticas entre sí, a un ritmo que crece mucho más rápido de lo que parece a simple vista. Este artículo entra específicamente en ese problema y en las decisiones concretas para resolverlo, no en el SEO técnico en general.
Qué es la navegación por facetas para un motor de búsqueda
Técnicamente, una faceta es cualquier atributo por el que se puede filtrar un listado: color, talla, marca, rango de precio, valoración, disponibilidad, material. Cada vez que el usuario activa uno, la tienda suele reflejarlo en la URL, ya sea como parámetro de consulta (color=azul&talla=42) o como segmento de ruta (/zapatillas/azul/talla-42/). El contenido que se muestra cambia poco —sigue siendo, en esencia, un listado de productos con el mismo layout, los mismos textos de categoría y una selección distinta de artículos— pero la URL sí cambia, y para un rastreador una URL nueva es, hasta que demuestre lo contrario, una página nueva que hay que descargar, procesar y evaluar.
Esa distinción es la raíz de todo lo que sigue. El usuario ve un filtro; el rastreador ve una página. Y mientras el número de filtros útiles para una persona se cuenta con los dedos de una mano, el número de URLs que esos filtros pueden generar se cuenta, muy rápido, en millones.
La explosión combinatoria: por qué las URLs se multiplican, no se suman
El error de cálculo más común es pensar en los filtros como algo aditivo: tenemos 5 colores, 8 tallas y 6 marcas, así que como mucho serán unas pocas decenas de páginas extra. No es así. Cada filtro que se puede combinar con los demás multiplica, no suma, el espacio de URLs posibles. Una categoría con esos tres filtros no genera 5+8+6=19 combinaciones, sino hasta 5×8×6=240, y eso sin contar que el usuario puede aplicar solo uno, solo dos, o los tres a la vez, ni contar el orden de clasificación (precio, relevancia, novedad) ni la paginación de cada combinación.
En un catálogo real con ocho o nueve facetas —muy habitual en moda, electrónica o bricolaje— y varios cientos de categorías, la aritmética deja de ser una curiosidad y se convierte en un problema de escala: un catálogo de veinte mil productos puede, sin que nadie lo haya decidido explícitamente, generar varios millones de URLs únicas rastreables. Ninguna de ellas fue diseñada como página; todas nacieron como efecto colateral de una tabla de filtros.
- Categoría base: 1 URL
- Con 1 faceta (color, 6 valores): 6 URLs
- Con 2 facetas combinadas (color por talla, 6×10): 60 URLs
- Con 3 facetas combinadas (color por talla por marca, 6×10×8): 480 URLs
- Añadiendo orden de clasificación (×4) y paginación (×5): hasta 9.600 URLs, para una sola categoría de un catálogo que puede tener cientos
Los tres costes reales de no controlarlo
El problema no es abstracto ni es solo demasiadas páginas. Se traduce en tres costes concretos y medibles.
- Presupuesto de rastreo quemado en páginas casi idénticas. Googlebot no tiene tiempo ni recursos ilimitados para rastrear un dominio: reparte su atención según el tamaño y la salud del sitio. Cada visita a una combinación de facetas sin valor propio es una visita que no se hace a una página de producto nueva, a un precio actualizado o a un artículo recién publicado.
- Inflación del índice, lo que se suele llamar index bloat. Cuando Google indexa miles de variantes casi idénticas de la misma categoría, el conjunto de páginas del dominio que compiten por las mismas señales de calidad se diluye: muchas páginas finas y repetitivas conviven con las pocas que sí aportan algo, y las señales de calidad del sitio se evalúan, en parte, de forma agregada.
- Equity de enlaces internos repartida entre URLs sin valor. Cada enlace a un filtro es un enlace interno, y un enlace interno transmite una fracción de la autoridad de la página que enlaza. Si esa autoridad se reparte entre decenas de miles de combinaciones de filtros, las páginas que sí importan —categorías principales, fichas de producto con demanda real— reciben una porción menor de la que recibirían si esos enlaces no fueran rastreables.
Qué combinaciones de facetas merecen una URL indexable
No todas las combinaciones son iguales, y la pregunta correcta no es cómo bloqueo todos los filtros sino qué combinaciones tienen demanda de búsqueda propia y cuáles son solo el estado temporal de un filtro que un usuario concreto activó. La diferencia está en si alguien, en algún momento, teclearía esa combinación en un buscador.
Zapatillas de running impermeables es una intención real: la gente la busca, tiene volumen, y merece una página propia, con su propio título, su propia introducción y su propio enlace desde el menú o desde contenido relacionado —no una URL generada al vuelo por el sistema de filtros, sino una landing curada que además puede incluir facetas combinadas si la demanda lo justifica. Zapatillas, talla 9, azul, menos de 50 euros no es una intención de búsqueda de nadie fuera del propio usuario que la construyó en ese momento con esa combinación exacta de necesidades; es un estado de sesión, no un tema.
- Si la combinación tiene volumen de búsqueda propio y sostenido, es candidata a URL indexable y curada
- Si la combinación resuelve una necesidad genérica y repetible —una categoría de producto más un atributo clave como impermeable o para niño— es candidata aunque el volumen sea modesto
- Si la combinación depende de tres o más filtros cruzados y específicos de sesión —talla más color más rango de precio exacto— no es indexable
- Si dos combinaciones distintas devuelven, en la práctica, el mismo conjunto de productos, solo una debe ser indexable, nunca las dos
Los mecanismos de control, y lo que cada uno cuesta
No existe una única herramienta que resuelva esto; existe un conjunto de mecanismos, cada uno con un efecto distinto y un coste distinto. Usarlos sin entender la diferencia es la causa más habitual de que el problema persista incluso después de haberlo arreglado.
- Disallow en robots.txt sobre el patrón de parámetro: impide que Googlebot descargue esas URLs. Es contundente y ahorra presupuesto de rastreo de verdad, pero tiene un efecto secundario: si esas URLs están enlazadas desde algún sitio, interno o externo, Google puede seguir mostrándolas en resultados como una URL pelada, sin título ni descripción, porque nunca llegó a ver el contenido para decidir si excluirla del índice.
- Meta robots noindex: deja que Googlebot rastree la página, la lea, y decida explícitamente no incluirla en el índice. Consume presupuesto de rastreo —la página se descarga igualmente— pero es la forma correcta de sacar del índice algo que sí quieres que se rastree, por ejemplo para que las señales de sus enlaces internos sigan contando.
- Canonical hacia la versión no filtrada: le dice a Google cuál es la versión preferida entre varias muy parecidas, y ayuda a consolidar señales de relevancia en una sola URL. No ahorra rastreo —Google tiene que descargar la página para ver la etiqueta canonical— y además la trata como una sugerencia fuerte, no como una orden que cumple siempre.
- Gestión de parámetros: la antigua herramienta de parámetros de Search Console dejó de estar disponible; hoy la gestión práctica pasa por una arquitectura de URLs limpia desde el origen, combinada con robots.txt y canonical, no por indicarle a Google parámetro por parámetro qué ignorar.
- Nofollow en los enlaces de filtro: evita que ese enlace concreto transmita autoridad, pero no impide que Googlebot descubra y rastree la URL por otra vía —un sitemap, un enlace externo, una URL compartida— y desde hace años Google trata nofollow como una pista, no como una directiva estricta, así que no es una barrera fiable por sí sola.
- URLs limpias separadas para las facetas indexables: la solución más sólida a medio plazo. Las combinaciones con demanda real se construyen como páginas propias, con su copy y su título, fuera del sistema dinámico de filtros; el resto del motor de filtros —el que genera combinaciones infinitas— se queda bloqueado o en noindex, sin necesidad de decidir caso por caso.
El error clásico: robots.txt y noindex no hacen lo mismo
Es habitual encontrar sitios que bloquean un patrón de URL en robots.txt y, además, ponen una etiqueta noindex en esas mismas páginas por si acaso. La combinación no suma protección: la anula. Si robots.txt bloquea el rastreo de una URL, Googlebot nunca la descarga, y si nunca la descarga, nunca llega a leer la etiqueta noindex que hay dentro de su HTML. La instrucción de robots.txt gana, y la de noindex simplemente no se ejecuta porque nadie la ve.
La consecuencia práctica es que esa URL puede seguir apareciendo en el índice de Google si algo la enlaza —normalmente como un resultado sin título ni fragmento, con un aviso del tipo no hay información disponible sobre esta página— que en muchos casos es peor que si se hubiera dejado rastrear e indexar con normalidad para luego excluirla con un noindex limpio. La regla práctica es sencilla: usa robots.txt cuando no quieres que se rastree en absoluto y estás dispuesto a asumir que puede seguir apareciendo un enlace pelado; usa noindex cuando quieres que se rastree —para que las señales de sus enlaces internos sigan fluyendo— pero se excluya explícitamente del índice. No apliques los dos mecanismos al mismo patrón de URL a la vez.
Cómo auditar lo que Google ya tiene indexado de tus facetas
Antes de tocar nada conviene medir el tamaño real del problema, porque suele ser mayor de lo que cualquiera espera. El punto de partida más rápido es el operador site combinado con un fragmento característico de tus URLs de filtro, por ejemplo site:tudominio.com inurl:talla, que da una cifra aproximada de cuántas de esas combinaciones ha decidido indexar Google por su cuenta.
Para un dato más fiable, el informe de páginas de Search Console permite exportar ejemplos de URLs indexadas, agruparlas por patrón y compararlas con el número de categorías reales que existen en el catálogo: si el sitio tiene 300 categorías y el informe muestra 40.000 páginas indexadas con parámetros de filtro, la brecha da una idea clara del tamaño del problema. Complementarlo con un análisis de los logs del servidor —cuánta actividad de Googlebot se concentra en URLs con parámetros frente a URLs de producto o categoría— muestra además cuánto presupuesto de rastreo se está perdiendo, no solo cuántas páginas hay indexadas.
- Usar site:tudominio.com inurl con el nombre del parámetro de filtro para una cifra rápida
- Revisar en Search Console el informe de páginas, con los ejemplos exportados agrupados por patrón de URL, comparado con el número real de categorías del catálogo
- Analizar los logs del servidor para medir qué porcentaje del rastreo de Googlebot cae en URLs con parámetros
- Hacer un muestreo manual de esas URLs indexadas para comprobar si tienen demanda de búsqueda propia o son ruido combinatorio puro
Preguntas frecuentes
¿La navegación por facetas siempre es mala para el SEO?
No. El problema no es tener filtros, sino dejar que cada combinación posible se convierta en una URL rastreable e indexable sin criterio. Bien gestionada, la navegación por facetas mejora la experiencia del usuario sin generar coste alguno para el rastreo o el índice.
¿Puedo simplemente bloquear todos los parámetros en robots.txt y olvidarme del tema?
Puedes, pero pierdes la oportunidad de convertir las combinaciones con demanda real en páginas de aterrizaje propias. Un bloqueo total ahorra presupuesto de rastreo, pero también renuncia al tráfico de esas búsquedas específicas si nunca construyes una versión indexable de ellas.
¿Qué pasa si ya tengo miles de URLs de filtros indexadas?
Primero audita cuántas hay y cuántas tienen demanda real. Para las que no la tienen, aplica noindex y espera a que Google las recrawlee y las retire del índice de forma natural; añadir además un disallow en robots.txt en ese mismo momento impediría que Google llegue a ver el noindex.
¿Los filtros por color o talla necesitan tratamiento distinto de los filtros por precio?
Sí, porque su relación con la demanda de búsqueda es distinta: un atributo como el color a menudo forma parte de intenciones de búsqueda reales, como camisa azul, mientras que un rango de precio numérico casi nunca es algo que alguien teclee en un buscador, así que suele quedar mejor como filtro puro, sin versión indexable.
Actualizado: 1 octubre 2026