Ir al contenido

Análisis de Search Console ​

Cinco informes calculados a partir de tus propios datos de Search Console: consultas en un rango de posición, candidatos a revisión del CTR, coincidencias consulta/página, grupos de consultas y cambios entre períodos. Tres usan el historial sincronizado; dos comparten una petición en directo cacheada. Cubren esos análisis concretos, no todos los datos y funciones de una plataforma externa de palabras clave.

Se apoyan en la integración Search Console de solo lectura y su sincronización histórica. Si ya ejecutas seo-pro:gsc-sync, tres de las cinco vistas funcionan sin llamadas adicionales a la API.

Requisito previo

Las tres vistas de instantáneas leen seo_gsc_metrics. Programa primero seo-pro:gsc-sync, como explica Search Console. Cuantos más días sincronices, mayor será el historial disponible para comparar tendencias.

Las cinco vistas ​

1. Palabras clave en posiciones cercanas ​

Consultas cuya posición media ponderada por impresiones está entre 5 y 20, ordenadas por impresiones. Úsalas para revisar relevancia y enlaces internos. Ese rango no demuestra que un pequeño cambio baste para llegar a la primera página.

2. Oportunidades de CTR ​

Consultas con buena posición y una tasa de clics inferior a la esperada. Se compara el CTR real con una curva de referencia de CTR por posición. Las consultas con impresiones cuyo CTR queda muy por debajo son candidatas a revisar título y descripción, ordenadas por una estimación de clics no obtenidos. Esta lista puede orientar las reescrituras con la asistencia de IA.

3. Canibalización ​

Consultas en las que aparecen dos o más URL tuyas para el mismo término. La coincidencia no es necesariamente perjudicial: revisa si las páginas responden a intenciones distintas antes de consolidarlas o diferenciarlas.

4. Grupos de consultas ​

Las consultas para las que aparece cada página, agrupadas por página. Ayudan a ver si una página se aleja del tema previsto o aparece para un término valioso que no habías considerado.

5. Tendencia respecto al período anterior ​

Los mayores cambios en clics, impresiones, posición y CTR entre la ventana actual y otra de igual duración inmediatamente anterior. La posición solo se compara si la consulta tuvo tráfico en ambos períodos: una consulta nueva o desaparecida no tiene una comparación equivalente.

Origen de las cifras: datos en directo e instantáneas ​

Cada vista utiliza la fuente que permite resolverla con menor coste. El historial guarda las dimensiones consulta y página por separado, así que no puede reconstruir sus parejas. Solo las dos vistas que necesitan esa relación acceden en directo y comparten una petición cacheada.

VistaFuenteMotivo
Posiciones cercanasInstantánea localPosición e impresiones por consulta ya están en el historial; no llama a la API
Oportunidades de CTRInstantánea localUsa los mismos datos; la curva esperada es una referencia estática
Cambios de tendenciaInstantánea localNecesita el historial diario guardado por la sincronización
CanibalizaciónEn directo, consulta × páginaEsa relación no se almacena; guardar todas las parejas multiplicaría el almacenamiento
Grupos de consultasEn directo, comparte la petición de la vista 3Los mismos pares, agrupados por página en lugar de consulta

Una visita a Insights hace como máximo una petición Search Analytics, cacheada durante search_console.cache_ttl segundos. Las dos vistas de parejas buscan una imagen del período consultado y comparten caché para limitar peticiones repetidas. Renovar el token puede requerir otra petición de autenticación, y siguen aplicándose las cuotas de Google. Las vistas de instantáneas no acceden a la red.

En el panel ​

Con el plugin Filament, Search Console Insights aparece en el grupo SEO solo si la integración está habilitada. Es estrictamente de solo lectura. Cada análisis ocupa una sección; si falta historial, las vistas locales indican que debes sincronizarlo. Un fallo de la consulta en directo muestra un aviso saneado sin bloquear toda la página.

Configuración ​

Las opciones están en search_console.insights, dentro de config/seo-pro.php. Ajusta los umbrales al tamaño de tu sitio.

php
'search_console' => [
    // ...
    'insights' => [
        // Rolling window (days) the snapshot surfaces aggregate over,
        // anchored to the latest synced day.
        'window_days' => 28,

        // Max rows a surface returns to its panel section.
        'max_rows' => 50,

        // (1) Striking distance: impression-weighted position in [min,max]
        // with at least this many impressions.
        'striking_distance' => [
            'min_position' => 5.0,
            'max_position' => 20.0,
            'min_impressions' => 30,
        ],

        // (2) CTR opportunity: queries ranking at/above max_position, with at
        // least min_impressions, whose CTR is at least min_gap_ratio below the
        // expected curve.
        'ctr_opportunity' => [
            'max_position' => 10.0,
            'min_impressions' => 50,
            'min_gap_ratio' => 0.30,
        ],

        // Optional override of the expected CTR-by-position curve
        // (position => percent). null uses the built-in blended curve.
        'ctr_curve' => null,

        // (3) Cannibalization: a query with this many URLs each drawing at
        // least min_impressions.
        'cannibalization' => [
            'min_urls' => 2,
            'min_impressions' => 10,
        ],

        // (4) Query clustering: queries per page above min_impressions.
        'clustering' => [
            'min_impressions' => 10,
            'max_queries_per_page' => 15,
        ],

        // (5) Trend deltas: surface queries with at least this many
        // impressions in either period.
        'trend' => [
            'min_impressions' => 20,
        ],

        // The shared live (query,page) fetch for surfaces 3 + 4.
        'pair_days' => 28,
        'pair_row_limit' => 5000,
    ],
],

Curva de CTR esperado

La curva es una heurística compuesta a partir de medias publicadas de CTR orgánico por posición. Es una referencia, no una afirmación sobre tu sitio. Una consulta señalada es un candidato a revisar, no un defecto demostrado. Si tienes una curva propia medida, configúrala en insights.ctr_curve como mapa posición => porcentaje.

Véase también ​

rankbeam/laravel-seo se distribuye bajo la licencia MIT.