Sitio web en mantenimiento
Saltar al contenido principal
SEO

Dashboards inteligentes para SEO: Looker Studio + IA para detectar oportunidades antes que tu competencia

Cómo construir dashboards SEO con Looker Studio + IA que detectan caídas, oportunidades y patrones que un humano no vería. Con caso real y plantilla lista.

EC
Equipo Codify Tech
SEO + Data
9 min lectura

Un dashboard SEO sin IA es como un termómetro sin enfermero: te dice la temperatura pero no te dice qué hacer. Un dashboard con IA detecta patrones, predice problemas y recomienda acciones.

En este artículo te explico cómo construir dashboards SEO que no solo muestren datos, sino que detecten oportunidades antes que tu competencia y te avisen cuando algo va mal.

Si quieres el contexto completo, lee nuestro pilar MLOps aplicado a SEO: automatiza el keyword research y el monitoreo de contenido con IA y la guía de Pipeline de keyword research automatizado.

Qué debe tener un dashboard SEO moderno (no solo gráficos)

Dashboard viejo: muestra números. CTR, posiciones, clics. Dashboard moderno: muestra qué hacer al respecto.

5 elementos que separan un dashboard útil de uno decorativo:

  1. Estado actual: ¿estoy ganando o perdiendo tráfico?
  2. Anomalías: ¿algo cayó/subió de forma inesperada?
  3. Tendencias: ¿hacia dónde voy si nada cambia?
  4. Oportunidades: ¿qué keywords/content está listo para escalar?
  5. Acciones: ¿qué hago concretamente esta semana?

Insight: un dashboard sin acción es un reporte impreso que nadie lee. Cada métrica debe llevar a una decisión.

Arquitectura del dashboard con IA

FUENTES DE DATOS
  ├── Google Search Console (queries, páginas, posiciones)
  ├── Google Analytics 4 (tráfico, conversiones)
  ├── DataForSEO / Ahrefs / Semrush (SERP, backlinks)
  └── Tu CMS / logs internos (publicación, refresh)

PROCESAMIENTO IA (BigQuery + LLM)
  ├── Detección de anomalías (Isolation Forest, Prophet)
  ├── Predicción de tendencia (time series forecasting)
  ├── Análisis de oportunidades (LLM con embeddings)
  └── Recomendaciones de acción (LLM con contexto)

DASHBOARD (Looker Studio + alertas)
  ├── Visualizaciones (estado actual, tendencias)
  ├── Anomalías detectadas (en rojo, con alerta)
  ├── Top oportunidades (con plan de acción)
  └── Recomendaciones semanales (vía Slack o email)

Paso 1: Conectar fuentes de datos

Necesitas 4 fuentes mínimo:

Google Search Console + GA4

Looker Studio se conecta directo (sin código):

  • Crear nuevo reporte en Looker Studio
  • Agregar fuente: Google Search Console
  • Agregar fuente: Google Analytics 4
  • Conectar (autorización OAuth)

DataForSEO / Ahrefs / Semrush

Opción A: API directa a BigQuery (con script Python).

Opción B: Looker Studio tiene conector nativo para algunos (Ahrefs vía partner connector).

Tu CMS / logs

Exportar CSV desde el CMS o usar la API (WordPress, Ghost, etc.).

Unificación en BigQuery

Para que Looker Studio pueda cruzar datos, deben estar en el mismo almacén:

from google.cloud import bigquery
import pandas as pd

client = bigquery.Client()

# Subir GSC a BigQuery
gsc_data.to_gbq('proyecto.dataset.gsc_data', if_exists='replace')

# Subir GA4
ga4_data.to_gbq('proyecto.dataset.ga4_data', if_exists='replace')

# Subir SERP data
serp_data.to_gbq('proyecto.dataset.serp_data', if_exists='replace')

Costo: BigQuery es gratis hasta 1TB de procesamiento/mes. Para dashboards de SEO pequeños, $0-$20/mes.

Paso 2: Las 6 visualizaciones mínimas

No necesitas 30 gráficos. Necesitas 6 visualizaciones que respondan preguntas concretas:

Visualización 1: Tráfico orgánico vs tiempo (línea)

Pregunta que responde: ¿estoy creciendo o cayendo en general?

Métrica: sesiones orgánicas por día (últimos 90 días)

Looker Studio: Gráfico de líneas con dimensión “Fecha” y métrica “Sesiones”

Bonus: línea de tendencia predicha por IA (Prophet) que muestra el forecast a 30 días.

Visualización 2: Top páginas por clics (tabla)

Pregunta: ¿qué páginas me están dando más tráfico?

Métrica: clics, impresiones, CTR, posición promedio

Looker Studio: Tabla con dimensión “Página” y métricas ordenable

Filtro útil: posición 4-20 (páginas que están cerca de subir a Top 3)

Visualización 3: Distribución de keywords por intención (pie)

Pregunta: ¿tengo balance entre contenido informativo, comercial y transaccional?

Métrica: % de tráfico por categoría de intención

Looker Studio: Pie chart con dimensión “Intención”

Valor: si 90% es informativo, falta contenido transaccional (que convierte mejor).

Visualización 4: CTR vs posición (scatter)

Pregunta: ¿hay páginas con CTR bajo para su posición (oportunidad de optimizar title/meta)?

Métrica: posición X CTR, con línea de “CTR esperado” según benchmarks

Looker Studio: Scatter plot

Insight: si tu CTR es 30% menor al esperado, tienes una oportunidad de optimización on-page.

Visualización 5: Anomalías detectadas (tabla con alertas)

Pregunta: ¿qué páginas/keywords tuvieron cambios inusuales en los últimos 7 días?

Métrica: cambio % en clics vs promedio 30 días

Looker Studio: Tabla con filtro “anomalía = sí”

Origen: tabla en BigQuery alimentada por Isolation Forest (ver paso 3).

Visualización 6: Top oportunidades de la semana (tabla)

Pregunta: ¿qué debería atacar esta semana?

Métrica: score combinado (volumen × competencia × relevancia × intención)

Looker Studio: Tabla ordenada por score, top 20

Origen: output del pipeline de keyword research automatizado.

Paso 3: Detección de anomalías con IA

El dashboard muestra “estado actual”. La IA detecta “qué cambió raro”.

from sklearn.ensemble import IsolationForest
import pandas as pd
import numpy as np

def detect_anomalies(df, metric_col='clicks', window=30):
    """Detecta anomalías comparando últimos 7 días vs promedio de los últimos 30 días."""
    
    # Calcular promedio móvil
    df['rolling_avg'] = df[metric_col].rolling(window=window).mean()
    df['rolling_std'] = df[metric_col].rolling(window=window).std()
    
    # Para cada keyword/página, calcular z-score
    df['z_score'] = (df[metric_col] - df['rolling_avg']) / df['rolling_std']
    
    # Marcar anomalías (z > 3 o z < -3)
    df['is_anomaly'] = np.abs(df['z_score']) > 3
    df['anomaly_type'] = df['z_score'].apply(
        lambda z: 'SPIKE' if z > 3 else 'DROP' if z < -3 else 'NORMAL'
    )
    
    return df[df['is_anomaly']]

# Aplicar a GSC data
gsc_anomalies = detect_anomalies(gsc_data)
print(f"Encontradas {len(gsc_anomalies)} anomalías en los últimos 7 días")

Output: tabla con páginas/keywords que tuvieron cambios > 3 desviaciones estándar.

Paso 4: Predicción de tendencia

El dashboard muestra “hoy”. La IA predice “mañana”.

from prophet import Prophet
import pandas as pd

def forecast_traffic(historical_data, days_ahead=30):
    """Predice tráfico orgánico para los próximos N días."""
    
    # Preparar datos para Prophet
    df = historical_data.rename(columns={'date': 'ds', 'sessions': 'y'})[['ds', 'y']]
    
    # Entrenar modelo
    model = Prophet(
        yearly_seasonality=True,
        weekly_seasonality=True,
        changepoint_prior_scale=0.05
    )
    model.fit(df)
    
    # Predecir
    future = model.make_future_dataframe(periods=days_ahead)
    forecast = model.predict(future)
    
    # Retornar solo el forecast futuro
    return forecast.tail(days_ahead)[['ds', 'yhat', 'yhat_lower', 'yhat_upper']]

Uso en Looker Studio: agregar la predicción como segunda línea en el gráfico de tráfico.

Paso 5: Recomendaciones con LLM

El dashboard muestra “qué pasa”. La IA sugiere “qué hacer”.

def generate_recommendations(anomalies, top_opportunities):
    """Genera recomendaciones semanales con LLM."""
    
    prompt = f"""Eres un experto en SEO. Analiza estos datos del último mes:

ANOMALÍAS DETECTADAS:
{anomalies.to_string()}

TOP OPORTUNIDADES DE KEYWORDS:
{top_opportunities.to_string()}

Genera 5 recomendaciones ACCIONABLES para esta semana:
- Qué hacer al respecto (específico)
- Por qué (causa probable)
- Quién debería hacerlo (escritor, dev, SEO)
- Cuándo (esta semana)

Formato: lista numerada, máximo 80 palabras por item."""

    response = openai.chat.completions.create(
        model="gpt-5-mini",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.3
    )
    
    return response.choices[0].message.content

recommendations = generate_recommendations(gsc_anomalies, top_opportunities)

Output: 5 acciones concretas para la semana.

Paso 6: Alertas automáticas a Slack

No quieres tener que mirar el dashboard. Las alertas importantes te llegan.

import requests

SLACK_WEBHOOK = 'https://hooks.slack.com/services/...'

def send_weekly_digest():
    """Cada lunes a las 9am, envía el resumen semanal."""
    
    # Recolectar datos
    anomalies = detect_anomalies(gsc_data)
    opportunities = get_top_opportunities(limit=10)
    recommendations = generate_recommendations(anomalies, opportunities)
    
    # Formatear mensaje
    message = f"""
*📊 Resumen SEO semanal*

*🚨 Anomalías ({len(anomalies)}):*
{format_anomalies(anomalies.head(5))}

*🎯 Top oportunidades:*
{format_opportunities(opportunities.head(5))}

*💡 Recomendaciones IA:*
{recommendations}
"""
    
    requests.post(SLACK_WEBHOOK, json={"text": message})

Paso 7: Looker Studio en acción

Conectar Looker Studio a BigQuery:

  1. Ve a lookerstudio.google.com
  2. Crear nuevo reporte
  3. Agregar fuente: BigQuery
  4. Selecciona el proyecto y dataset
  5. Crear visualizaciones (los 6 gráficos de arriba)

Costo: Looker Studio es gratis (la versión básica). Solo pagas por BigQuery si procesas más de 1TB/mes.

Caso real: dashboard de SEO para ecommerce

Cliente: tienda de ropa online en Colombia con 5.000 productos Stack: GSC + GA4 + DataForSEO + BigQuery + Looker Studio + Slack

Dashboard implementado:

  1. Vista ejecutiva (CEO ve esto):

    • Tráfico orgánico vs mes anterior
    • Ingresos atribuidos a SEO
    • Top 5 oportunidades de la semana
    • 3 recomendaciones con LLM
  2. Vista operativa (equipo SEO ve esto):

    • Top 100 keywords por oportunidad
    • Anomalías detectadas en las últimas 24h
    • Páginas con CTR bajo para su posición
    • Distribución de keywords por intención
  3. Alertas Slack:

    • Lunes 9am: resumen semanal
    • Diario 8am: anomalías significativas
    • Bajo demanda: top 10 oportunidades

Resultado en 6 meses:

  • Detección de caídas: de 15 días a menos de 24 horas
  • Oportunidades detectadas y atacadas: 180 (vs 12 antes)
  • Tráfico orgánico: +120%
  • Tiempo del equipo SEO en “mirar datos”: -60%

Insight: el equipo pasó de revisar reportes a tomar decisiones. El dashboard no reemplazó el análisis humano, lo aceleró.

Los 4 errores comunes

Poner demasiados gráficos — si tu dashboard tiene 30 visualizaciones, nadie lo mira. Máximo 6-8 vistas ejecutivas + 6-8 operativas.

No conectar alertas — un dashboard sin notificaciones es como una alarma sin sonido. La mitad del valor está en las alertas.

Mostrar todo en tiempo real — para SEO, datos diarios bastan. Tiempo real solo para alertas críticas.

Ignorar la acción — cada métrica debe llevar a “¿qué hago?”. Si no, es vanity metric.

Checklist: ¿está listo tu dashboard?

Marca ✅ lo que ya tienes:

  • Google Search Console conectado
  • Google Analytics 4 conectado
  • Datos de SERP/keywords de tu herramienta (Ahrefs/Semrush/DataForSEO)
  • Datos en almacén unificado (BigQuery, PostgreSQL, etc.)
  • 6 visualizaciones mínimas (tráfico, top páginas, intención, CTR vs posición, anomalías, oportunidades)
  • Detección de anomalías automatizada (diario)
  • Predicción de tendencia (semanal o mensual)
  • Alertas a Slack/email cuando hay anomalías significativas
  • Recomendaciones generadas con LLM (semanal)
  • Top oportunidades actualizadas (semanal)

Puntaje:

  • 0-3: estás empezando, está bien
  • 4-7: tienes un dashboard funcional
  • 8-10: tienes un dashboard inteligente

Cuándo NO vale la pena este dashboard

  • < 50 artículos y < 1.000 visitas/mes: Looker Studio conectado a GSC directamente, sin IA
  • Negocio nuevo sin histórico: necesitas 6 meses de datos antes de detectar patrones
  • Sin equipo técnico: Looker Studio requiere configuración inicial. Si no hay quien lo mantenga, muere

Regla práctica: empieza con Looker Studio + GSC (gratis, 30 minutos). Agrega IA cuando el volumen justifique la inversión.


Siguiente paso

¿Quieres construir un dashboard SEO con IA para tu negocio? En Codify Tech diseñamos dashboards a medida. Hacemos una auditoría + prototipo donde te mostramos:

  • Qué visualizaciones necesitas según tu tamaño
  • Qué automatizaciones tienen sentido
  • Arquitectura técnica recomendada
  • Estimación de costos y tiempo

Sin compromiso. Sin venta forzada.

👉 Solicita tu auditoría de dashboard SEO o escríbenos a [email protected].

Otros artículos del cluster MLOps para SEO que te van a servir:

Etiquetas

#dashboard seo #looker studio #monitoreo seo #ia seo #alertas seo