El problema
La optimización del motor generativo (GEO) requiere saber cuándo y dónde las respuestas generadas por IA citan su contenido. Google AI Overviews, Bing Copilot y Perplexity generan citas de manera diferente. No existe un panel estándar que rastree si su dominio es citado en estas superficies de respuesta generativas. Los equipos de SEO no pueden medir el rendimiento de GEO porque no tienen datos de citas con los que trabajar.
La solucion de Scavio
Cree un canal de monitoreo que consulte a Scavio sobre sus palabras clave objetivo con la Descripción general de AI habilitada, extraiga fuentes de citas de cada respuesta de Descripción general de AI y realice un seguimiento de la tasa de citas de su dominio a lo largo del tiempo. Ejecútelo semanalmente para crear un conjunto de datos de tendencias de citas. Compare su tasa de citas con la de sus competidores. Marque las palabras clave en las que perdió o ganó citas semana tras semana.
Antes
Antes del proceso, el equipo de SEO no tenía una forma sistemática de rastrear las citas de AI Overview. Realizaron comprobaciones puntuales manualmente buscando palabras clave en un navegador, que era lento, inconsistente y no podía producir datos de tendencias.
Después
Después de implementar el proceso, el equipo rastrea 500 palabras clave semanalmente con datos de citas para su dominio y 3 competidores. Los informes semanales muestran tendencias en las tasas de citas, nuevas victorias y pérdidas. Los datos impulsan las decisiones de optimización de contenido.
Para quien es
Equipos de SEO que miden el rendimiento de la optimización generativa del motor. Comercializadores de contenidos que necesitan realizar un seguimiento de si su contenido es citado en las respuestas generadas por IA. Agencias que entregan informes GEO a los clientes.
Beneficios clave
- Seguimiento semanal automatizado de las citas de AI Overview por palabra clave
- Tendencias de la tasa de citas a lo largo del tiempo para su dominio y sus competidores
- Alerta sobre ganancias y pérdidas de citas semana tras semana
- 500 palabras clave monitoreadas semanalmente por menos de $2,50/semana
- La salida de datos estructurados se incorpora a cualquier herramienta de informes o BI
Ejemplo en Python
import requests
import json
from datetime import datetime
from pathlib import Path
API_KEY = "your_scavio_api_key"
def check_citations(keywords: list[str], target_domain: str) -> dict:
results = []
for kw in keywords:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": kw, "ai_overview": True},
timeout=15,
)
res.raise_for_status()
data = res.json()
ai = data.get("ai_overview")
cited = False
all_citations = []
if ai:
all_citations = [c.get("source", "") for c in ai.get("citations", [])]
cited = any(target_domain in c for c in all_citations)
results.append({"keyword": kw, "has_ai_overview": bool(ai), "cited": cited, "citation_sources": all_citations[:5]})
date = datetime.utcnow().strftime("%Y-%m-%d")
cited_count = sum(1 for r in results if r["cited"])
report = {"date": date, "domain": target_domain, "keywords_checked": len(keywords), "citation_count": cited_count, "citation_rate": f"{cited_count/len(keywords)*100:.1f}%", "details": results}
Path(f"geo_citations_{date}.json").write_text(json.dumps(report, indent=2))
return report
report = check_citations(["best search api", "web scraping api", "serp api pricing"], "scavio.dev")
print(f"Citation rate: {report["citation_rate"]} ({report["citation_count"]}/{report["keywords_checked"]})")Ejemplo en JavaScript
const API_KEY = "your_scavio_api_key";
async function checkCitations(keywords, targetDomain) {
const results = [];
for (const kw of keywords) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform: "google", query: kw, ai_overview: true }),
});
const data = await res.json();
const citations = (data.ai_overview?.citations ?? []).map((c) => c.source ?? "");
results.push({ keyword: kw, cited: citations.some((c) => c.includes(targetDomain)), sources: citations.slice(0, 5) });
}
const citedCount = results.filter((r) => r.cited).length;
console.log(`Citation rate: ${(citedCount / keywords.length * 100).toFixed(1)}% (${citedCount}/${keywords.length})`);
return results;
}
await checkCitations(["best search api", "web scraping api"], "scavio.dev");Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA