Resumen
Before cualquier nuevo articulo goes en el writing queue, este flujo de trabajo verifica donde your dominio ya ranks for el palabra clave objetivo, si un existing pagina covers el angle, y si el SERP es AI-Overview-dominated. Outputs un Go/No-Go decision con el rationale to guardar wasted contenido spend.
Desencadenador
On nuevo palabra clave added to el contenido brief pipeline
Programación
On demand per palabra clave brief
Pasos del flujo de trabajo
Ingest palabra clave objetivo
Writer agrega un nuevo palabra clave to el contenido brief queue.
Scavio clasificar verificar
Search el palabra clave y inspect donde your dominio currently ranks (if at todos).
Existing pagina match
Si your dominio ya ranks top 10, pull ese URL y its titulo.
AI Overview presence verificar
Detectar if Google's AI Overview toma top real estate for este consulta.
Competidor density puntuacion
Count como muchos of top 10 son well-established dominios (>DR 50).
Emit decision
Salida {decision: 'go'|'update-existing'|'skip', rationale, suggested_url}.
Implementacion en Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
DOMAIN = "scavio.dev"
H = {"x-api-key": API_KEY}
def precheck(keyword):
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"query": keyword, "ai_overview": True}).json()
results = r.get("organic_results", [])
own = next((i for i, x in enumerate(results, 1) if DOMAIN in x.get("link", "")), None)
has_aio = bool(r.get("ai_overview"))
if own and own <= 10:
return {"decision": "update-existing", "url": results[own-1]["link"]}
if has_aio:
return {"decision": "skip", "reason": "ai overview dominates"}
return {"decision": "go"}
print(precheck("best serp api for python"))Implementacion en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const DOMAIN = "scavio.dev";
const H = { "x-api-key": API_KEY, "content-type": "application/json" };
async function precheck(keyword) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({ query: keyword, ai_overview: true })
}).then(r => r.json());
const results = r.organic_results || [];
const ownIdx = results.findIndex(x => (x.link || "").includes(DOMAIN));
if (ownIdx >= 0 && ownIdx < 10) return { decision: "update-existing", url: results[ownIdx].link };
if (r.ai_overview) return { decision: "skip", reason: "ai overview dominates" };
return { decision: "go" };
}
console.log(await precheck("best serp api for python"));Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA