Search Console es la herramienta gratuita más potente del SEO pero su interfaz tiene límites absurdos: solo 1.000 filas por consulta, muestreo de datos cuando supera cierto volumen, filtros combinados imposibles. La solución: exportar todos los datos a BigQuery (gratis hasta cierto volumen) y lanzar consultas SQL sin limitaciones. Aquí las 10 consultas más útiles para auditar SEO con datos reales, sin humo y sin herramientas de pago.

Requisitos previos

(1) Search Console verificada sobre tu dominio. (2) Cuenta Google Cloud activada (tarjeta de crédito para verificar, pero capa gratuita amplia). (3) Configurar export diario Search Console → BigQuery en Ajustes de la propiedad. Tarda 1-2 días en empezar a recibir datos. Luego cada día se cargan automáticamente.

Qué puedes extraer de Search Console vía BigQuery

  • Consultas completas (no solo 1.000).
  • Segmentación por país + dispositivo + tipo de búsqueda simultáneamente.
  • Histórico sin límite de días (SC interface se limita a 16 meses).
  • Cálculos propios: CTR por posición, variación entre fechas, cohortes de URL.
  • Cruces con otras tablas (ej. Google Analytics, tu propia base de datos de ventas).

10 consultas SQL imprescindibles

1. Top 50 keywords con más impresiones último mes

SELECT query, SUM(impressions) AS impressions, SUM(clicks) AS clicks
FROM `tu-proyecto.searchconsole.searchdata_site_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
GROUP BY query
ORDER BY impressions DESC
LIMIT 50

2. URLs con más impresiones pero CTR bajo (oportunidad de mejora)

SELECT url, SUM(impressions) AS impressions, SUM(clicks) AS clicks,
  SAFE_DIVIDE(SUM(clicks), SUM(impressions)) AS ctr
FROM `tu-proyecto.searchconsole.searchdata_url_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
GROUP BY url
HAVING impressions > 1000 AND ctr < 0.02
ORDER BY impressions DESC

3. Keywords donde apareces en páginas 2-3 (empuje fácil)

SELECT query, AVG(position) AS avg_pos, SUM(impressions) AS impr
FROM `tu-proyecto.searchconsole.searchdata_site_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
GROUP BY query
HAVING avg_pos BETWEEN 11 AND 25 AND impr > 200
ORDER BY impr DESC
LIMIT 50

4. Comparativa de impresiones mes a mes

SELECT
  FORMAT_DATE('%Y-%m', data_date) AS month,
  SUM(impressions) AS total_impressions,
  SUM(clicks) AS total_clicks
FROM `tu-proyecto.searchconsole.searchdata_site_impression`
GROUP BY month
ORDER BY month DESC

5. URLs con caída de clics > 30 % mes vs mes anterior

WITH current AS (
  SELECT url, SUM(clicks) AS clicks_current
  FROM `tu-proyecto.searchconsole.searchdata_url_impression`
  WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
  GROUP BY url
),
previous AS (
  SELECT url, SUM(clicks) AS clicks_previous
  FROM `tu-proyecto.searchconsole.searchdata_url_impression`
  WHERE data_date BETWEEN '2026-02-01' AND '2026-02-28'
  GROUP BY url
)
SELECT c.url, p.clicks_previous, c.clicks_current,
  SAFE_DIVIDE(c.clicks_current - p.clicks_previous, p.clicks_previous) AS change
FROM current c
JOIN previous p ON c.url = p.url
WHERE p.clicks_previous > 50 AND c.clicks_current < p.clicks_previous * 0.7
ORDER BY change ASC

6. Keywords con Zero Click (impresiones pero 0 clicks)

SELECT query, SUM(impressions) AS impressions
FROM `tu-proyecto.searchconsole.searchdata_site_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
GROUP BY query
HAVING SUM(clicks) = 0 AND SUM(impressions) > 100
ORDER BY impressions DESC

7. Tráfico por país (internacional)

SELECT country, SUM(clicks) AS clicks, SUM(impressions) AS impressions
FROM `tu-proyecto.searchconsole.searchdata_site_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
GROUP BY country
ORDER BY clicks DESC

8. Móvil vs Desktop performance

SELECT device, SUM(clicks) AS clicks, SUM(impressions) AS impressions,
  AVG(position) AS avg_pos,
  SAFE_DIVIDE(SUM(clicks), SUM(impressions)) AS ctr
FROM `tu-proyecto.searchconsole.searchdata_site_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
GROUP BY device

9. URLs que han empezado a recibir tráfico este mes (nuevas en ranking)

SELECT url, SUM(clicks) AS clicks_march
FROM `tu-proyecto.searchconsole.searchdata_url_impression`
WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
  AND url NOT IN (
    SELECT DISTINCT url
    FROM `tu-proyecto.searchconsole.searchdata_url_impression`
    WHERE data_date BETWEEN '2026-02-01' AND '2026-02-28'
  )
GROUP BY url
ORDER BY clicks_march DESC

10. Keywords donde pierdes CTR vs la media esperada por posición

WITH agg AS (
  SELECT query, AVG(position) AS pos,
    SAFE_DIVIDE(SUM(clicks), SUM(impressions)) AS actual_ctr,
    SUM(impressions) AS impr
  FROM `tu-proyecto.searchconsole.searchdata_site_impression`
  WHERE data_date BETWEEN '2026-03-01' AND '2026-03-31'
  GROUP BY query
)
SELECT query, pos, actual_ctr, impr,
  CASE
    WHEN pos BETWEEN 1 AND 3 THEN 0.25
    WHEN pos BETWEEN 4 AND 10 THEN 0.05
    WHEN pos BETWEEN 11 AND 20 THEN 0.015
    ELSE 0.005
  END AS expected_ctr
FROM agg
WHERE impr > 200
ORDER BY (expected_ctr - actual_ctr) DESC
BigQuery + Search Console es el combo gratuito más potente del SEO para sites medianos-grandes. Información que Ahrefs y SEMrush cobran cientos al mes, tú la tienes con SQL si la sabes mirar.

¿Cuánto cuesta BigQuery realmente?

Capa gratuita de BigQuery: primeros 1 TB de consultas mensuales + 10 GB de almacenamiento gratis. Para la mayoría de webs pequeñas y medianas, esto es sobradamente suficiente y el coste mensual real es 0 €. Webs con millones de URLs pueden superar capa gratuita pero seguir pagando < 20 €/mes.

Preguntas frecuentes

Sí, SQL básico sí. Las 10 consultas de arriba son SQL estándar que puedes copiar y adaptar cambiando fechas y dominio. Si nunca has visto SQL, dedica 2-3 horas a tutorial básico (W3Schools SQL) antes. La curva no es pronunciada.

Sí. GA4 también exporta a BigQuery (propiedad estándar tiene exportación gratuita). Con ambas tablas en el mismo proyecto, puedes hacer JOIN por URL para cruzar posiciones/clics SEO con conversiones reales del negocio. Muy potente.

Looker Studio visualiza datos con límites de Search Console interface (muestreo, 1.000 filas). BigQuery da acceso a todos los datos sin límites. Luego puedes conectar Looker Studio a BigQuery para visualizar — combo óptimo.

Primera carga: 1-2 días tras activar export. Desde ahí, actualización diaria (datos del día anterior). Los datos históricos NO se cargan retroactivamente — solo desde el momento de activación. Por eso conviene activarlo lo antes posible, aunque no lo uses todavía.

Sí. BigQuery tiene integración nativa con Google Sheets: desde el editor de consultas, botón «Explorar datos» → «Exportar a Sheets». Puedes programar consultas recurrentes con Data Studio o scripts.

Lo siguiente

  1. 30 minutos: activa Google Cloud + proyecto nuevo + export Search Console → BigQuery en ajustes de propiedad.
  2. Pasados 2 días: primera consulta de prueba (la #1 de arriba, top 50 keywords).
  3. Primera semana: adapta las 10 consultas a tu dominio y fechas. Guarda las que te aporten información útil.
  4. Mensual: revisión basada en estas consultas, mucho más profunda que la interface estándar de Search Console.

Para SEO serio con datos reales, BigQuery + Search Console cambia la forma en que entiendes tu tráfico. Y cuesta 0 € para la mayoría de negocios.

Paul Marginean
Paul Marginean Consultor SEO freelance · Valencia

Llevo diez años posicionando webs. Los últimos los he pasado preparándolas también para las IAs generativas. Trabajo con un máximo de 20 clientes a la vez, sin agencias en medio y sin permanencia.

Conocer mi historia completa →