SOP: Google Search Console para SEO — ADMP‑20260610‑001

Workflow semanal de 75 minutos para transformar datos de GSC en rankings, tráfico y contenido. Con comandos API reales.

2026-06-10

Índice

  1. [Setup Inicial](#1-setup-inicial)
  2. [Workflow Semanal — Checklist](#2-workflow-semanal--checklist)
  3. [Performance Report — Análisis en Profundidad](#3-performance-report--análisis-en-profundidad)
  4. [Monitoreo de AI Overviews (SGE)](#4-monitoreo-de-ai-overviews-sge)
  5. [Auditoría de Contenido con Datos de GSC](#5-auditoría-de-contenido-con-datos-de-gsc)
  6. [Estrategias de Segmentación](#6-estrategias-de-segmentación)
  7. [Core Web Vitals](#7-core-web-vitals)
  8. [Problemas de Indexación](#8-problemas-de-indexación)
  9. [Troubleshooting — Casos Frecuentes](#9-troubleshooting--casos-frecuentes)
  10. [Comandos CLI — API de GSC con curl](#10-comandos-cli--api-de-gsc-con-curl)
  11. [Anexos](#11-anexos)

1. Setup Inicial

### 1.1 Propiedad de Dominio vs Prefijo URL

Google Search Console ofrece dos tipos de propiedad. La elección es crítica y determina qué datos vas a ver.

CaracterísticaPropiedad de DominioPrefijo URL
CoberturaTodo el dominio, subdominios y protocolos (http/https/www/no‑www)Solo la URL exacta y protocolo especificado
Ejemplomdp.com.ar cubre https://www.mdp.com.ar, https://blog.mdp.com.ar, http://mdp.com.arhttps://www.mdp.com.ar/ solo cubre esa combinación
VerificaciónSolo DNSMúltiples métodos (DNS, HTML file, meta tag, GA, GTM)
Recomendación MDPUsar propiedad de dominio❌ Solo si hay restricción técnica
Recomendación ShoppingDigitalUsar propiedad de dominio❌ Solo si hay restricción técnica

Regla para MDP (30M views/mes): - Crear siempre propiedad de dominio para mdp.com.ar. - Si hay submarcas o properties separadas que necesitan datos aislados, crear prefijo URL adicional para cada una. - ShoppingDigital idem: propiedad de dominio para shoppingdigital.com.ar y prefijos URL para /tienda/ o /catalogo/ si se quiere granularidad.

### 1.2 Verificación DNS

La verificación por DNS es obligatoria para propiedades de dominio. Es la más robusta porque no se pierde si cambiás el CMS o borrás un archivo HTML.

Procedimiento:

  1. Entrá a [Google Search Console](https://search.google.com/search-console).
  2. Hacé clic en "Agregar propiedad" > "Dominio".
  3. Ingresá el dominio sin protocolo: mdp.com.ar.
  4. Google te va a dar un registro TXT con este formato:
  5. Agregá ese registro en el DNS de tu dominio. Dependiendo de tu proveedor:

Cloudflare (recomendado para MDP): - Dashboard > DNS > Records > Add record - Type: TXT - Name: @ (o el dominio raíz) - Value: google-site-verification=XXXXXXXXXXXXXXX - TTL: Auto

Route 53 (AWS): `bash aws route53 change-resource-record-sets \ --hosted-zone-id ZXXXXXXXXXXXXX \ --change-batch '{ "Changes": [{ "Action": "CREATE", "ResourceRecordSet": { "Name": "mdp.com.ar", "Type": "TXT", "TTL": 300, "ResourceRecords": [{"Value": "\"google-site-verification=XXXXXXXXXXXXXXX\""}] } }] }' `

Hosting local (cPanel / Plesk / NIC Argentina): - Ir a la sección de DNS Zone Editor o Administración de Zona DNS. - Agregar registro TXT con nombre @ o el dominio y el valor provisto.

  1. Esperá a que propague el DNS (puede tardar de 1 minuto a 48 horas, normalmente 5–15 minutos).
  2. Volvé a GSC y hacé clic en "Verificar".

Verificación rápida de propagación DNS desde CLI:

`bash dig TXT mdp.com.ar +short

dig TXT mdp.com.ar @8.8.8.8 +short

nslookup -type=TXT mdp.com.ar 8.8.8.8 `

### 1.3 Asociar GSC con Google Analytics y Looker Studio

Google Analytics (GA4): 1. GA4 > Admin > Property Settings > Product Links > Search Console Links. 2. Vincular la propiedad GSC correspondiente. 3. Los datos de GSC aparecerán en los reportes de GA4 bajo "Search Console" en la sección Acquisition.

Looker Studio (Data Studio): 1. Crear un nuevo reporte o abrir uno existente. 2. Data Source > Google Search Console. 3. Elegir la propiedad y las tablas (site impression, URL impression). 4. Conectar con GA4 para cruzar datos de tráfico orgánico + conversiones.

Recomendación MDP/ShoppingDigital: Tener un dashboard en Looker Studio actualizado semanalmente con las queries top 100, páginas top 100, CTR promedio y evolución de clicks.

### 1.4 Configuración de usuarios y permisos

En GSC, los permisos son a nivel propiedad:

  • Propietario (Owner): Control total, puede agregar/quitar usuarios.
  • Propietario verificado: Tiene acceso completo y puede gestionar usuarios.
  • Usuario completo: Acceso total pero no puede gestionar usuarios.
  • Usuario restringido: Solo lectura, no puede ver acciones manuales ni mensajes.

Quién debería tener qué en MDP:

RolPermisoQuién
Owner verificadoFullCTO / Tech Lead
Usuario completoFullSEO Lead, Head de Contenido
Usuario restringidoRead‑onlyAnalistas, Content Managers, Devs

Agregar usuario desde CLI (vía API — ver sección 10 para setup):

`bash curl -X PUT \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/userPermissions" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "permissionLevel": "siteRestrictedUser", "emailAddress": "analista@mdp.com.ar" }' `

### 1.5 Sitemaps y robots.txt

Sitemaps: - GSC > Índice > Sitemaps. - Enviar el sitemap XML principal (sitemap.xml o sitemap_index.xml). - Para MDP, usar sitemaps particionados por sección (ej.: sitemap-noticias.xml, sitemap-entretenimiento.xml, sitemap-shoppingdigital.xml). - Verificar que el sitemap esté referenciado en el robots.txt.

Validación de sitemap desde CLI:

`bash curl -sI https://www.mdp.com.ar/sitemap.xml | head -5

curl -s https://www.mdp.com.ar/sitemap.xml | xmllint --format - > /dev/null && echo "OK" || echo "ERROR"

curl -s https://www.mdp.com.ar/sitemap.xml | grep -c '' `

robots.txt: - Debe estar en la raíz: https://www.mdp.com.ar/robots.txt. - Verificar con el probador de robots.txt de GSC (Configuración > robots.txt). - Asegurarse de no bloquear recursos críticos (CSS, JS) que Google necesita para renderizar.

`bash curl -s https://www.mdp.com.ar/robots.txt

curl -s https://www.mdp.com.ar/robots.txt | grep -E "Disallow:.*" `

2. Workflow Semanal — Checklist

Este es el checklist semanal que todo el equipo SEO de MDP debe ejecutar. Día recomendado: lunes a las 10 AM (hora ARG). Los datos de GSC tienen un lag de 2–3 días, así que el lunes ya tenés los datos del jueves/viernes anterior.

### 🔁 Lunes AM — Revisión Rápida (15 min)

  • [ ] Revisar tendencia de clicks semanal (últimos 7 días vs período anterior).
  • [ ] Revisar alertas de indexación: Coverage > páginas con error.
  • [ ] Revisar tráfico de Discover (MDP depende fuerte de Discover).
  • [ ] Revisar AI Overviews (si ya tenés datos en la UI o API, ver sección 4).

### 🔁 Lunes AM — Análisis Detallado (45 min)

  • [ ] Performance Report:
  • [ ] Content Audit (ver sección 5):
  • [ ] Mobile vs Desktop: ¿El CTR en mobile bajó? Puede indicar problemas de AI Overviews o Featured Snippets.
  • [ ] Core Web Vitals: ¿Hay URLs en rojo? Priorizar las de alto tráfico.
  • [ ] Index Coverage: Nuevas páginas sin indexar, errores 404, soft 404, redirecciones.

### 🔁 Miércoles AM — Seguimiento (15 min)

  • [ ] Verificar que las correcciones implementadas el lunes/martes ya se reflejen.
  • [ ] Revisar sitemaps: ¿Se procesaron correctamente?
  • [ ] Validar URLs nuevas indexadas: ¿Subió el conteo de "páginas válidas"?

### 🔁 Viernes PM — Cierre de Semana (15 min)

  • [ ] Actualizar dashboard de Looker Studio.
  • [ ] Documentar cambios importantes en el log semanal.
  • [ ] Si hubo deploy grande, validar que no rompió nada (robots.txt, sitemap, canonical, noindex).
  • [ ] Preparar temas para la planning de la semana siguiente.

### 📋 Log Semanal (template)

`markdown

Semana: [fecha lunes] — SEO GSC

### Métricas Clave (vs semana anterior) - Clicks: X (↑/↓ Y%) - Impresiones: X (↑/↓ Y%) - CTR: X% (↑/↓ Y pp) - Posición media: X.X (↑/↓ Y)

### Top 5 Queries Ganadoras 1. ... 2. ...

### Top 5 Queries Perdedoras 1. ... 2. ...

### Páginas en Declive (>20%) - URL — caída de X clicks

### Páginas a Punto de Rankear (pos 4-10) - URL — query objetivo — posición actual X.X

### Incidentes Abiertos - [ ] ...

### Acciones Tomadas - [ ] ... `

3. Performance Report — Análisis en Profundidad

El Performance Report es el corazón de GSC. Te da datos de búsqueda orgánica para los últimos 16 meses.

### 3.1 Métricas Clave

MétricaDefiniciónCómo leerla en MDP
ClicksCantidad de clics desde Google a tu sitio. No incluye Discover.Medida de tráfico real. Prioridad #1.
ImpressionsVeces que una URL tuya apareció en SERP, aunque no haya recibido clic. Incluye scroll infinito.Mide visibilidad. Si bajan impresiones sin bajar clicks, es bueno (mejor CTR). Si bajan ambas, hay pérdida de ranking.
CTRClicks / Impressions × 100.Mide atractividad del snippet. CTR bajo con buena posición = problema de título/meta description.
Average PositionPosición promedio en SERP. Se redondea al entero más cercano (pos 1.0 = top 1).Trackear a nivel query/página. Posición 1–3 = alto tráfico. 4–10 = oportunidades. 11+ = necesita trabajo.

Benchmarks MDP (últimos 6 meses, referencia interna):

MétricaBuenoRegularMalo
CTR pos 1>25%15–25%<15%
CTR pos 2–3>10%5–10%<5%
CTR mobile>3%1.5–3%<1.5%
CTR desktop>4%2–4%<2%
Crecimiento mensual de clicks>3%0–3%<0%

### 3.2 Filtros y Segmentación

GSC permite 5 tipos de filtros combinables. Para MDP, estos son los escenarios clave:

Filtro 1: Search Type (Tipo de búsqueda) - Web: Tráfico orgánico tradicional. - Image: Búsqueda de imágenes (importante si tienen galerías). - Video: Búsqueda de video. - News: Google News. Crítico para MDP si producen contenido noticioso.

Filtro 2: Date Range - Últimos 28 días como default para comparativas. - Comparar con período anterior (built‑in en GSC). - Para análisis estacional, comparar con mismo período del año anterior (exportar y hacer en Sheets/Looker).

Filtro 3: Query - Contiene / no contiene palabras clave. - Para ShoppingDigital: filtrar queries que contengan "comprar", "precio", "oferta". - Para MDP: filtrar por marca o temas editoriales.

Filtro 4: Page (URL) - Segmentar por sección: /noticias/, /shoppingdigital/, /entretenimiento/. - Identificar canibalización: dos URLs compitiendo por la misma query.

Filtro 5: Country y Device - Argentina como default. - Mobile vs Desktop vs Tablet.

### 3.3 Comparación de Fechas

GSC tiene comparación nativa: "Comparar últimos 28 días con 28 días anteriores".

Procedimiento: 1. Performance > Date > Últimos 28 días. 2. Habilitar "Comparar". 3. Analizar la diferencia absoluta (Δ) y porcentual en cada métrica. 4. Identificar patrones: ¿la caída es en una query específica, un grupo de queries, o es transversal?

Script en Google Sheets para automatizar comparación (usando API — ver sección 10):

`javascript // Google Apps Script para exportar comparativa de 28d vs período anterior function exportGSCComparison() { var siteUrl = 'https://www.mdp.com.ar/'; var today = new Date(); var endDate = Utilities.formatDate(today, 'GMT', 'yyyy-MM-dd'); var startDate = Utilities.formatDate(new Date(today.getTime() - 282460601000), 'GMT', 'yyyy-MM-dd'); var prevEndDate = Utilities.formatDate(new Date(today.getTime() - 292460601000), 'GMT', 'yyyy-MM-dd'); var prevStartDate = Utilities.formatDate(new Date(today.getTime() - 562460601000), 'GMT', 'yyyy-MM-dd');

// Período actual var current = SearchConsole.query({startDate: startDate, endDate: endDate, dimensions: ['query'], rowLimit: 1000, startRow: 0}); // Período anterior var previous = SearchConsole.query({startDate: prevStartDate, endDate: prevEndDate, dimensions: ['query'], rowLimit: 1000, startRow: 0});

// Merge y calcular diferencias // ... (implementación completa según necesidades de MDP) } `

### 3.4 Exportación y Automatización vía API

Para MDP, con 30M de views/mes, la UI de GSC se queda corta (máximo 1000 filas por consulta, aunque se está expandiendo). La API de Search Console permite extraer hasta 50.000 filas por consulta (paginando de a 25.000).

Ver sección 10 para comandos curl completos.

4. Monitoreo de AI Overviews (SGE)

Google está desplegando AI Overviews (antes SGE — Search Generative Experience) en cada vez más países y verticales. Esto impacta directamente el CTR orgánico porque el usuario obtiene la respuesta sin hacer clic.

### 4.1 Disponibilidad en GSC

A partir de 2025/2026, GSC empezó a reportar datos de AI Overviews en el Performance Report:

  • Filtro "Search Appearance" > "AI Overview": Muestra impresiones y clicks que provienen del snippet de AI Overview.
  • Aparece como fuente de tráfico separada en algunos reportes.

Si el filtro no está disponible todavía en tu propiedad, significa que aún no tiene suficiente volumen de AI Overviews.

### 4.2 Monitoreo Manual

  1. Identificar queries informacionales (alto volumen, baja intención transaccional) que son las más afectadas.
  2. Buscar en Google manualmente las top 20 queries de MDP con site:mdp.com.ar y ver si hay AI Overview en la SERP.
  3. Si hay AI Overview que cita a MDP → oportunidad: pueden aparecer como fuente y recibir clics si el usuario quiere más detalle.
  4. Si hay AI Overview que responde completamente la query sin citar → amenaza: el CTR va a bajar.

### 4.3 Estrategia para MDP

  • Contenido informacional de profundidad: Para queries que disparan AI Overviews, crear contenido más detallado que lo que la AI puede resumir. Que el usuario necesite hacer clic para profundizar.
  • Contenido transaccional: Las AI Overviews afectan menos las queries transaccionales (comprar, precio, oferta). ShoppingDigital está más protegido.
  • Datos estructurados: Implementar HowTo, FAQ, Article schema. Google los usa como fuente para AI Overviews.
  • EEAT extremo: Autoría clara, biografías de autores, fuentes citadas. La AI prioriza fuentes con alta autoridad.

### 4.4 Monitoreo vía API (cuando esté disponible)

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-01", "endDate": "2026-06-01", "dimensions": ["query","date"], "searchType": "web", "searchAppearance": "AI_OVERVIEW", "rowLimit": 5000 }' `

### 4.5 Checklist de AI Overviews (mensual)

  • [ ] Revisar top 50 queries informacionales: ¿cuántas disparan AI Overview?
  • [ ] ¿MDP es citado como fuente en AI Overviews? Si no, ¿por qué? (autoridad, estructura de contenido, canibalización).
  • [ ] Comparar CTR de queries con AI Overview vs queries sin AI Overview (misma posición).
  • [ ] Evaluar si conviene pivotar queries muy afectadas a formatos que la AI no puede replicar fácil (video, herramientas interactivas, datos propios).

5. Auditoría de Contenido con Datos de GSC

### 5.1 Páginas a punto de rankear (posición 4–15)

Llamadas también "low‑hanging fruit" o "striking distance". Son las páginas que están cerca del top 3 y con poco esfuerzo pueden subir.

Procedimiento:

  1. Performance > Filtro de posición > 4 a 15.
  2. Ordenar por impresiones descendentes (priorizar las de mayor volumen).
  3. Para cada URL candidata:
  1. Priorización MDP (Matriz Esfuerzo × Impacto):
EsfuerzoBajoAlto
Alto Impacto🟢 HACER YA: corregir título, mejorar H1, interlinking🟡 PLANIFICAR: rewrite completo, sumar expertos
Bajo Impacto🔵 BACKLOG: SEO on‑page menor⚪ DESCARTAR

Query para extraer striking distance vía API:

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["page","query"], "dimensionFilterGroups": [{ "filters": [{ "dimension": "position", "operator": "between", "expression": 4, "notExpression": 10 }] }], "rowLimit": 5000, "aggregationType": "byPage" }' `

### 5.2 Páginas en declive

Son las páginas que vienen perdiendo tráfico consistentemente. Hay que detectarlas antes de que se desplomen.

Procedimiento:

  1. Performance > Comparar últimos 28 días con 28 días anteriores.
  2. Filtrar por diferencia de clicks negativa (sort descendente por Δ).
  3. Validar con períodos más largos: ¿es una tendencia de 3 meses?
  4. Clasificar la causa:
CausaDiagnósticoAcción
Caída de posiciónPosición subió 2+ puntos (ej: de 3 a 5)Revisar competidores, actualizar contenido, backlinks
Caída de CTRPosición igual pero CTR bajóGoogle cambió la SERP (Featured Snippet, AI Overview, imágenes, People Also Ask). Mejorar snippet.
Caída de impresionesMenos búsquedas de esa queryEstacionalidad o pérdida de interés. Evaluar si vale la pena mantener.
CanibalizaciónOtra URL tuya rankea ahora para esa queryConsolidar contenido en una URL canónica.
Penalización / AlgoritmoCaída abrupta en fecha de update de GoogleRevisar Search Engine Roundtable / SEMrush Sensor.
  1. Documentar en el log semanal y asignar responsable.

### 5.3 Freshness & Content Decay

Para MDP, el contenido noticioso tiene una ventana de vida corta. Pero el contenido evergreen (guías, tutoriales, definiciones) debe mantenerse actualizado.

Señales de Content Decay en GSC:

  • CTR bajando mes a mes (Google muestra otras fuentes más frescas).
  • Impresiones bajando sin cambio de posición (menos gente busca ese tema).
  • Posición cayendo 0.5–1 punto por mes.

Acción: - Actualizar fecha de publicación (si es relevante). - Agregar datos/estadísticas del año actual. - Mejorar interlinking desde contenido nuevo. - Agregar schema dateModified.

6. Estrategias de Segmentación

### 6.1 Por Query

Objetivo: Entender qué tipo de queries están funcionando y cuáles no.

Segmentos clave para MDP:

Segmento de QueryEjemploMétrica a trackear
Marca"mdp", "marcos di palma", "mdp noticias"CTR (debería ser >30% en pos 1)
Informacional"cómo hacer X", "qué es Y", "cuándo sale Z"Posición media, impresiones
Navegacional"mdp login", "mdp contacto"CTR, clicks
Transaccional (ShoppingDigital)"comprar X online argentina", "precio Y"Clicks, posición, conversiones
Noticioso (News)queries con intención de noticiaClicks, velocidad de indexación

Automatización de clasificación de queries:

`bash

grep -iE "mdp|marcos di palma|shoppingdigital" queries.csv > marca_queries.csv

grep -iE "comprar|precio|oferta|barato|descuento|tienda|online" queries.csv > transaccional_queries.csv

grep -iE "cómo|que es|por qué|cuándo|dónde|guía|tutorial|mejores|tips" queries.csv > informacional_queries.csv `

### 6.2 Por Página/URL

Objetivo: Identificar qué secciones del sitio están performando.

Segmentos para MDP:

` /seccion/noticias/ → Rendimiento del contenido noticioso /seccion/entretenimiento/ → Tráfico de entretenimiento /seccion/deportes/ → Cobertura deportiva /seccion/shoppingdigital/ → Tráfico e-commerce /seccion/guia/ → Contenido evergreen /tag/* → Páginas de tags (cuidado con thin content) `

Análisis de canibalización: Cuando dos o más URLs de MDP rankean para la misma query:

  1. Performance > Query > Filtrar por query específica.
  2. Ver qué URLs aparecen y en qué posición.
  3. Si hay 2+ URLs en top 20, hay canibalización.
  4. Decidir cuál es la URL canónica correcta y redirigir/consolidar.

### 6.3 Por País

MDP tráfico principal: Argentina (~85–90% del tráfico). Pero según la audiencia, pueden tener tráfico de:

País% Tráfico EstimadoFoco
Argentina85–90%Principal
España3–5%Contenido en español, sin argentinismos fuertes
México2–3%Idem
Estados Unidos1–2%Comunidad argentina en el exterior
Resto LATAM3–5%Uruguay, Chile, Paraguay

Análisis por país: 1. Performance > Country > seleccionar país. 2. Comparar CTR y posición entre países. 3. Si un país tiene buen volumen pero CTR bajo, puede ser por contenido no adaptado (modismos argentinos).

Exportación por país desde API:

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["country","query"], "rowLimit": 10000 }' `

### 6.4 Por Dispositivo

Mobile first indexing es el default de Google. MDP probablemente tenga mayoría mobile.

Segmentación:

  1. Performance > Device > Mobile / Desktop / Tablet.
  2. Comparar:
MétricaMobileDesktopInterpretación
CTR promedioGeneralmente más bajoGeneralmente más altoMobile tiene más elementos SERP
Posición mediaPuede ser peorPuede ser mejorGoogle puede rankear distinto
Clics totales~70–80% en MDP~15–25%Depende de la audiencia
  1. Si mobile tiene CTR significativamente peor a igual posición:

7. Core Web Vitals

Google Search Console tiene un reporte dedicado de Core Web Vitals que muestra URLs agrupadas por:

  • Poor (rojo): No cumple los umbrales.
  • Needs improvement (naranja): Está cerca pero no llega.
  • Good (verde): Cumple todos los umbrales.

Métricas:

MétricaUmbral "Good"Qué mide
LCP (Largest Contentful Paint)≤ 2.5 segundosVelocidad de carga percibida
INP (Interaction to Next Paint)≤ 200 msResponsividad (reemplazó a FID en 2024)
CLS (Cumulative Layout Shift)≤ 0.1Estabilidad visual

Procedimiento semanal de monitoreo:

  1. GSC > Experiencia > Core Web Vitals.
  2. Abrir reporte Mobile (más estricto y más importante).
  3. Identificar grupos de URLs en rojo/naranja.
  4. Priorizar por tráfico (cruzar con Performance Report).
  5. Usar PageSpeed Insights o Lighthouse para diagnóstico por URL.

Diagnóstico rápido desde CLI:

`bash npx lighthouse https://www.mdp.com.ar/seccion/noticias/ --output json --output-path /tmp/lighthouse.json --chrome-flags="--headless"

cat /tmp/lighthouse.json | jq '{lcp: .audits["largest-contentful-paint"].displayValue, cls: .audits["cumulative-layout-shift"].displayValue, inp: .audits["interaction-to-next-paint"].displayValue, performance: .categories.performance.score}' `

CrUX API (Chrome User Experience Report) para datos reales de campo:

`bash curl -X POST \ "https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=TU_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "origin": "https://www.mdp.com.ar", "metrics": ["largest_contentful_paint", "interaction_to_next_paint", "cumulative_layout_shift"], "formFactor": "PHONE" }' `

Workflow de optimización:

  1. Identificar URLs de alto tráfico con CWV malos.
  2. Auditar con Lighthouse + WebPageTest.
  3. Priorizar quick wins (optimizar imágenes, lazy loading, eliminar JS bloqueante, reducir layout shifts con dimensiones explícitas).
  4. Implementar y medir nuevamente en 28 días (tiempo de actualización de datos de campo en GSC).
  5. Documentar mejora en log semanal.

8. Problemas de Indexación

GSC > Índice > Cobertura muestra el estado de indexación de todas las URLs que Google conoce.

### 8.1 Estados de Indexación

EstadoSignificadoAcción
Válida (indexada)Está en el índice de Google✅ OK
Válida con advertenciasIndexada pero con problemas (ej: mobile usability)Revisar y corregir
Rastreada pero no indexadaGoogle la vio pero decidió no indexarlaRevisar calidad del contenido
Descubierta pero no rastreadaGoogle sabe que existe pero no la rastreóPriorizar sitemap + interlinking
Error 404 (Not found)URL no encontradaRedireccionar 301 si es relevante
Soft 404Página devuelve 200 pero parece no tener contenido realAgregar contenido o redireccionar
RedirecciónURL redirige a otraVerificar que la redirección sea correcta
Bloqueada por robots.txtNo se rastreó por restricciónRevisar si fue intencional
NoindexTiene meta tag noindexRevisar si fue intencional
Canonical diferenteGoogle eligió otra URL como canónicaRevisar etiquetas canonical
Página duplicada sin canonicalContenido duplicado sin canonicalAgregar canonical o consolidar

### 8.2 Pipeline de Indexación para Contenido Nuevo

Para MDP que publica muchas notas por día, es crítico que el contenido se indexe rápido.

Checklist para cada nota nueva:

  1. ✅ Incluida en el sitemap de noticias (sitemap-news.xml).
  2. ✅ Interlinking desde al menos 2–3 páginas ya indexadas (home, categoría, notas relacionadas).
  3. ✅ Datos estructurados NewsArticle con fechas correctas.
  4. ✅ Compartir en redes sociales (Google descubre URLs desde Twitter/X, Facebook).
  5. ✅ URL limpia y canónica absoluta ().

Monitoreo de indexación de contenido nuevo:

`bash curl -s "https://www.google.com/search?q=site:mdp.com.ar/nota-especifica-2026" \ -H "User-Agent: Mozilla/5.0" \ | grep -c "resultStats\|No results found" `

Verificación de indexación vía API:

`bash curl -X POST \ "https://searchconsole.googleapis.com/v1/urlInspection/index:inspect" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "inspectionUrl": "https://www.mdp.com.ar/noticias/politica/ejemplo-nota", "siteUrl": "https://www.mdp.com.ar/" }' `

### 8.3 Solicitud de Indexación (Request Indexing)

Cuando una URL importante no está indexada o fue modificada:

  1. GSC > Inspección de URL.
  2. Ingresar URL.
  3. Ver el estado: ¿está en Google? ¿fue rastreada?
  4. Hacer clic en "Solicitar indexación".

Límite: ~200 URLs por día (cuota de inspección). Para MDP con alto volumen de publicaciones, priorizar: - URLs de alto valor estratégico. - URLs con cambios importantes (rewrite, nueva canónica).

Vía API:

`bash curl -X POST \ "https://searchconsole.googleapis.com/v1/urlInspection/index:inspect" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "inspectionUrl": "https://www.mdp.com.ar/noticias/politica/ejemplo-nota", "siteUrl": "https://www.mdp.com.ar/" }'

`

9. Troubleshooting — Casos Frecuentes

### 9.1 Caída repentina de tráfico orgánico (>20%)

Diagnóstico:

`bash curl -sI https://www.mdp.com.ar | head -1

curl -s https://www.mdp.com.ar/robots.txt

curl -sI https://www.mdp.com.ar/sitemap.xml | head -1

curl -s https://www.mdp.com.ar/seccion/noticias/ | grep -i "noindex" `

Checklist: - [ ] ¿Coincide con un algoritmo update de Google? Buscar en [Search Engine Roundtable](https://www.seroundtable.com/) o [Google Search Status Dashboard](https://status.search.google.com/). - [ ] ¿El sitio está online y responde 200 en páginas clave? - [ ] ¿El robots.txt cambió inesperadamente? - [ ] ¿El sitemap es accesible? - [ ] ¿Hay páginas con noindex que no deberían tenerlo? - [ ] ¿Hay una penalización manual? GSC > Seguridad y acciones manuales. - [ ] ¿Perdimos backlinks importantes? Verificar con Ahrefs/SEMrush. - [ ] ¿El contenido fue desactualizado? Ver fecha de última modificación.

### 9.2 Páginas no indexadas por "Descubierto pero no rastreado"

Causa: Google sabe que la página existe pero no la considera lo suficientemente importante para rastrearla.

Solución: 1. Aumentar el interlinking interno (que más páginas importantes linkeen a esta). 2. Verificar que esté en el sitemap. 3. Mejorar la calidad/uniqueza del contenido (si es muy similar a otras páginas, Google no la prioriza). 4. Solicitar indexación manual (si es una URL prioritaria).

### 9.3 CTR bajo en posiciones 1–3

Posibles causas: - AI Overviews / Featured Snippets: Google responde la query sin que el usuario necesite hacer clic. Revisar si la query tiene AI Overview. - Title tag y meta description poco atractivos: Reescribir con copy persuasivo. - SERP Features: Knowledge Panel, People Also Ask, imágenes, videos que roban clics. - Canonical incorrecto: Google muestra otra URL como principal. - Competidor con marca más fuerte: Si el competidor tiene más brand awareness, roba el clic aunque esté en posición 2.

### 9.4 Canibalización de keywords

Síntomas: - Dos o más URLs de MDP en top 20 para la misma query. - Las posiciones fluctúan: un día rankea la URL A, otro día la URL B. - Ninguna llega a posición 1–2 de forma estable.

Solución: 1. Decidir cuál es la URL más autoritativa para esa query. 2. Configurar canonical de las secundarias apuntando a la principal. 3. O consolidar en una sola página (merge de contenido + redirección 301). 4. Actualizar interlinking interno (que todas las menciones apunten a la canónica).

### 9.5 Soft 404

Google considera que una página devuelve HTTP 200 pero no tiene contenido real (thin content, páginas de tags con pocos artículos, páginas de búsqueda vacías).

Solución: - Agregar contenido sustancial a la página. - O redireccionar (301) a una página relevante. - O implementar noindex si es una página que no debe indexarse (tags, author archives vacíos).

### 9.6 Problemas de Discover

MDP probablemente recibe tráfico importante de Google Discover. Si baja:

  • Revisar calidad del contenido (Discover prioriza contenido fresco, de alta calidad y con buenas imágenes).
  • Imágenes de al menos 1200px de ancho (requisito de Discover).
  • Verificar en GSC > Discover si hay cambios en impresiones/clics.
  • Revisar si se activó max-image-preview:large en robots.txt/HTML.

10. Comandos CLI — API de GSC con curl

### 10.1 Autenticación (OAuth 2.0)

Setup inicial (se hace una sola vez):

`bash

python3 -m venv /tmp/gsc_auth source /tmp/gsc_auth/bin/activate pip install google-auth-oauthlib google-auth-httplib2 googleapiclient

python3 << 'EOF' from google_auth_oauthlib.flow import InstalledAppFlow import os, json

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly'] CRED_FILE = os.path.expanduser('~/.gsc/credentials.json') TOKEN_FILE = os.path.expanduser('~/.gsc/token.json')

flow = InstalledAppFlow.from_client_secrets_file(CRED_FILE, SCOPES) creds = flow.run_local_server(port=8080)

with open(TOKEN_FILE, 'w') as f: json.dump({ 'token': creds.token, 'refresh_token': creds.refresh_token, 'client_id': creds.client_id, 'client_secret': creds.client_secret, 'token_uri': creds.token_uri }, f)

print("✅ Token guardado en ~/.gsc/token.json") EOF `

Refrescar el token (script reusable):

Guardar como ~/.gsc/refresh_token.py:

`python #!/usr/bin/env python3 import json, os from google.oauth2.credentials import Credentials

TOKEN_FILE = os.path.expanduser('~/.gsc/token.json')

def get_token(): with open(TOKEN_FILE) as f: data = json.load(f) creds = Credentials.from_authorized_user_info(data) if creds.expired: creds.refresh(Request()) with open(TOKEN_FILE, 'w') as f: json.dump({ 'token': creds.token, 'refresh_token': creds.refresh_token, 'client_id': creds.client_id, 'client_secret': creds.client_secret, 'token_uri': creds.token_uri }, f) return creds.token

if __name__ == '__main__': print(get_token()) `

Generar token para usar con curl:

`bash python3 ~/.gsc/refresh_token.py > /tmp/gsc_token.txt

curl -s \ "https://www.googleapis.com/webmasters/v3/sites" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ | jq '.siteEntry[].siteUrl' `

### 10.2 Queries Más Útiles

#### 10.2.1 Listar todas las propiedades GSC del usuario

`bash curl -s \ "https://www.googleapis.com/webmasters/v3/sites" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ | jq '.' `

#### 10.2.2 Performance — Top 100 queries de los últimos 28 días

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["query"], "rowLimit": 100, "orderBy": [{"field": "clicks", "order": "descending"}] }' | jq '.rows[] | {query: .keys[0], clicks: .clicks, impressions: .impressions, ctr: .ctr, position: .position}' `

#### 10.2.3 Performance — Top 100 páginas de los últimos 28 días

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["page"], "rowLimit": 100, "orderBy": [{"field": "clicks", "order": "descending"}] }' | jq '.rows[] | {page: .keys[0], clicks: .clicks, impressions: .impressions, ctr: .ctr, position: .position}' `

#### 10.2.4 Performance por query + página (detectar canibalización)

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["query","page"], "rowLimit": 5000, "orderBy": [{"field": "clicks", "order": "descending"}] }' `

#### 10.2.5 Performance por fecha (tendencia diaria)

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["date"], "rowLimit": 100 }' | jq '.rows[] | {date: .keys[0], clicks: .clicks, impressions: .impressions}' `

#### 10.2.6 Performance por país

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["country"], "rowLimit": 50, "orderBy": [{"field": "clicks", "order": "descending"}] }' | jq '.rows[] | {country: .keys[0], clicks: .clicks, impressions: .impressions, ctr: .ctr}' `

#### 10.2.7 Performance por dispositivo

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["device"], "rowLimit": 10 }' | jq '.rows[] | {device: .keys[0], clicks: .clicks, impressions: .impressions, ctr: .ctr, position: .position}' `

#### 10.2.8 Performance por query + país (para ShoppingDigital Argentina)

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.shoppingdigital.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["query","country"], "dimensionFilterGroups": [{ "filters": [{"dimension": "country", "operator": "equals", "expression": "ARG"}] }], "rowLimit": 500, "orderBy": [{"field": "clicks", "order": "descending"}] }' | jq '.rows[] | {query: .keys[0], clicks: .clicks, impressions: .impressions, ctr: .ctr, position: .position}' `

#### 10.2.9 Páginas con posición entre 4 y 10 (striking distance)

`bash curl -X POST \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/searchAnalytics/query" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" \ -d '{ "startDate": "2026-05-13", "endDate": "2026-06-10", "dimensions": ["page","query"], "dimensionFilterGroups": [{ "filters": [ {"dimension": "position", "operator": "greaterThanOrEqualTo", "expression": 4}, {"dimension": "position", "operator": "lessThanOrEqualTo", "expression": 10} ], "groupType": "and" }], "rowLimit": 5000, "orderBy": [{"field": "impressions", "order": "descending"}] }' | jq '.rows[] | {page: .keys[0], query: .keys[1], position: .position, impressions: .impressions}' `

#### 10.2.10 Sitemaps — listar sitemaps enviados

`bash curl -s \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/sitemaps" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ | jq '.sitemap[] | {path: .path, lastSubmitted: .lastSubmitted, isPending: .isPending, warnings: .warnings, errors: .errors}' `

#### 10.2.11 Enviar un sitemap nuevo

`bash curl -X PUT \ "https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.mdp.com.ar%2F/sitemaps/https%3A%2F%2Fwww.mdp.com.ar%2Fsitemap-noticias.xml" \ -H "Authorization: Bearer $(cat /tmp/gsc_token.txt)" \ -H "Content-Type: application/json" `

#### 10.2.12 Script Bash completo — export semanal automatizado

Guardar como ~/.gsc/weekly_export.sh:

`bash #!/bin/bash

set -euo pipefail

DOMAIN="${1:-mdp.com.ar}" DAYS="${2:-28}" SITE_URL="https%3A%2F%2F${DOMAIN}%2F"

TOKEN=$(python3 ~/.gsc/refresh_token.py) AUTH="Authorization: Bearer ${TOKEN}" CT="Content-Type: application/json"

END_DATE=$(date -u +%Y-%m-%d) START_DATE=$(date -u -v-${DAYS}d +%Y-%m-%d) OUTDIR="${HOME}/gsc-exports/$(date +%Y-%m-%d)" mkdir -p "${OUTDIR}"

echo "📊 Exportando GSC para ${DOMAIN} (${START_DATE} → ${END_DATE})" echo "📁 Directorio: ${OUTDIR}"

echo "→ Exportando queries..." curl -s -X POST \ "https://www.googleapis.com/webmasters/v3/sites/${SITE_URL}/searchAnalytics/query" \ -H "${AUTH}" -H "${CT}" \ -d "{ \"startDate\": \"${START_DATE}\", \"endDate\": \"${END_DATE}\", \"dimensions\": [\"query\"], \"rowLimit\": 500, \"orderBy\": [{\"field\": \"clicks\", \"order\": \"descending\"}] }" > "${OUTDIR}/queries.json"

echo "→ Exportando páginas..." curl -s -X POST \ "https://www.googleapis.com/webmasters/v3/sites/${SITE_URL}/searchAnalytics/query" \ -H "${AUTH}" -H "${CT}" \ -d "{ \"startDate\": \"${START_DATE}\", \"endDate\": \"${END_DATE}\", \"dimensions\": [\"page\"], \"rowLimit\": 500, \"orderBy\": [{\"field\": \"clicks\", \"order\": \"descending\"}] }" > "${OUTDIR}/pages.json"

echo "→ Exportando tendencia diaria..." curl -s -X POST \ "https://www.googleapis.com/webmasters/v3/sites/${SITE_URL}/searchAnalytics/query" \ -H "${AUTH}" -H "${CT}" \ -d "{ \"startDate\": \"${START_DATE}\", \"endDate\": \"${END_DATE}\", \"dimensions\": [\"date\"], \"rowLimit\": 100 }" > "${OUTDIR}/daily.json"

echo "→ Exportando por país..." curl -s -X POST \ "https://www.googleapis.com/webmasters/v3/sites/${SITE_URL}/searchAnalytics/query" \ -H "${AUTH}" -H "${CT}" \ -d "{ \"startDate\": \"${START_DATE}\", \"endDate\": \"${END_DATE}\", \"dimensions\": [\"country\"], \"rowLimit\": 50 }" > "${OUTDIR}/countries.json"

echo "→ Exportando por dispositivo..." curl -s -X POST \ "https://www.googleapis.com/webmasters/v3/sites/${SITE_URL}/searchAnalytics/query" \ -H "${AUTH}" -H "${CT}" \ -d "{ \"startDate\": \"${START_DATE}\", \"endDate\": \"${END_DATE}\", \"dimensions\": [\"device\"], \"rowLimit\": 10 }" > "${OUTDIR}/devices.json"

echo "→ Exportando striking distance..." curl -s -X POST \ "https://www.googleapis.com/webmasters/v3/sites/${SITE_URL}/searchAnalytics/query" \ -H "${AUTH}" -H "${CT}" \ -d "{ \"startDate\": \"${START_DATE}\", \"endDate\": \"${END_DATE}\", \"dimensions\": [\"page\",\"query\"], \"dimensionFilterGroups\": [{ \"filters\": [ {\"dimension\": \"position\", \"operator\": \"greaterThanOrEqualTo\", \"expression\": 4}, {\"dimension\": \"position\", \"operator\": \"lessThanOrEqualTo\", \"expression\": 10} ], \"groupType\": \"and\" }], \"rowLimit\": 5000, \"orderBy\": [{\"field\": \"impressions\", \"order\": \"descending\"}] }" > "${OUTDIR}/striking_distance.json"

echo "→ Generando CSVs..." for f in "${OUTDIR}"/*.json; do base=$(basename "$f" .json) jq -r '.rows[]? | [.keys[], .clicks, .impressions, .ctr, .position] | @csv' "$f" > "${OUTDIR}/${base}.csv" 2>/dev/null || true done

echo "✅ Exportación completa: ${OUTDIR}" ls -la "${OUTDIR}" `

Hacer ejecutable y correr:

`bash chmod +x ~/.gsc/weekly_export.sh ~/.gsc/weekly_export.sh mdp.com.ar 28 `

11. Anexos

### Anexo A — Glosario de Términos GSC

TérminoDefinición
SERPSearch Engine Results Page. La página de resultados de Google.
CTRClick‑Through Rate. Clics / Impresiones × 100.
SGE / AI OverviewSearch Generative Experience. Bloque de respuesta generado por IA en la SERP.
CanonicalURL canónica. La que Google considera "oficial" cuando hay contenido duplicado.
SitemapArchivo XML que lista las URLs del sitio para facilitar el rastreo.
robots.txtArchivo en la raíz del sitio que indica a los crawlers qué URLs rastrear o no.
INPInteraction to Next Paint. Métrica de Core Web Vitals que mide la responsividad.
LCPLargest Contentful Paint. Mide la velocidad de carga del contenido principal.
CLSCumulative Layout Shift. Mide la estabilidad visual de la página.
Soft 404Página que devuelve HTTP 200 pero Google considera que no tiene contenido útil.
Striking DistancePáginas en posición 4–15 que están cerca del top 3.
CanibalizaciónCuando múltiples URLs de un mismo dominio compiten por la misma query.
Content DecayDecaimiento gradual del rendimiento de contenido que envejece.
DiscoverGoogle Discover. Feed de contenido personalizado en móviles.
EEATExperience, Expertise, Authoritativeness, Trustworthiness. Principios de calidad de Google.
ImpresiónAparición en SERP (no necesariamente vista si está debajo del scroll).

### Anexo B — Herramientas Complementarias

HerramientaUsoURL
PageSpeed InsightsAudit de performance por URLhttps://pagespeed.web.dev/
LighthouseAudit local de performance, SEO, a11ynpx lighthouse URL
Google Search Status DashboardEstado de rastreo/indexación de Googlehttps://status.search.google.com/
Rich Results TestValidar datos estructuradoshttps://search.google.com/test/rich-results
Schema Markup ValidatorValidar schema.orghttps://validator.schema.org/
Ahrefs / SEMrushAnálisis de backlinks y keywords (pagos)ahrefs.com / semrush.com
Google TrendsEstacionalidad de querieshttps://trends.google.com/
CrUX DashboardCore Web Vitals con datos de campohttps://developer.chrome.com/docs/crux/dashboard
Looker StudioDashboards SEO automatizadoshttps://lookerstudio.google.com/

### Anexo C — Diagrama de Flujo: ¿Por qué bajó el tráfico?

` ¿Bajaron los clics totales? ├── ¿Bajaron las impresiones totales? │ ├── SÍ → ¿El sitio está online? ¿robots.txt bloquea algo? ¿perdiste backlinks masivos? │ │ ¿Hubo un update de Google? → Revisar SERoundtable / Google Status Dashboard. │ └── NO → Las impresiones están bien, pero bajó el CTR. │ ├── ¿Hay AI Overview en las queries principales? → Sección 4. │ ├── ¿Hay nuevos SERP features? (imágenes, videos, People Also Ask). │ ├── ¿El snippet (title/meta) es menos atractivo que la competencia? │ └── ¿Perdiste snippets destacados (Featured Snippets)? ├── ¿Solo bajaron queries específicas? │ ├── ¿Es estacional? → Verificar Google Trends para esas queries. │ ├── ¿La página específica perdió posición? → Competidores, content decay, backlinks. │ └── ¿Hubo canibalización? → Dos URLs tuyas rankeando para lo mismo. └── ¿Bajó el tráfico de Discover? ├── ¿Las imágenes cumplen el mínimo de 1200px? ├── ¿Bajó la frecuencia de publicación de contenido fresco? └── ¿Cambió la temática/demografía de Discover para MDP? `

### Anexo D — Calendario Editorial + SEO (Integración GSC)

Para MDP, integrar los datos de GSC con el calendario editorial es clave:

  1. Queries en crecimiento (últimos 28 días con Δ clics >30%) → Asignar a la redacción para producir más contenido sobre ese tema.
  2. Queries nuevas (que no aparecían en el período anterior) → Validar si es una tendencia y cubrir en profundidad.
  3. Queries de temporada (según Google Trends + GSC histórico) → Preparar contenido con 2–3 semanas de anticipación.
  4. Brechas de contenido → Queries donde MDP rankea posición 7–15 pero no tiene una landing page específica. Crear contenido dedicado.

### Anexo E — ShoppingDigital: Estrategia GSC Específica

ShoppingDigital, como vertical de e‑commerce dentro de MDP, requiere un approach específico:

  1. Propiedad GSC separada (prefijo URL): https://www.mdp.com.ar/seccion/shoppingdigital/ o dominio propio si corresponde.
  2. Queries transaccionales como prioridad: "comprar", "precio", "oferta", "barato", "mejor", "review".
  3. Product Snippets: Implementar schema Product con offers, review, aggregateRating.
  4. Merchant Center: Verificar integración con Google Merchant Center si hay fichas de producto.
  5. CTR como KPI principal: En e‑commerce, un CTR alto con buena posición se traduce en ventas.
  6. Product pages vs category pages: Analizar en GSC qué tipo de página performa mejor para cada query. Las categorías suelen rankear para queries genéricas ("zapatillas running") y las páginas de producto para queries específicas ("Nike Air Max 270 precio").
  7. Temporalidad: Planificar contenido transaccional para fechas clave (Hot Sale, Cyber Monday, Navidad) con 4–6 semanas de anticipación.

Resumen de Responsabilidades

RolResponsabilidad GSCFrecuencia
SEO LeadRevisión completa de performance, estrategia, decisiones de contenidoSemanal
Content ManagerAuditoría de contenido (striking distance, declive), calendario editorialSemanal
Analista SEOExport de datos, actualización de dashboards, reportesSemanal
Tech Lead / DevOpsCore Web Vitals, indexación, sitemaps, verificación DNSSegún necesidad (mínimo quincenal)
DevsImplementación de schema, corrección de errores de indexaciónSegún tickets
Product Owner (ShoppingDigital)Revisión de queries transaccionales, CTR, conversionesSemanal

Documento generado para ADMP triage ADMP-20260610-001. Próxima revisión: julio 2026. Para consultas sobre este SOP, contactar al equipo SEO de MDP.

— Ariel Di Stefano