Resumen
Google Personalizado Search Engine es siendo deprecated y teams necesita to migrate hundreds o thousands of consultas to un replacement API antes de el shutdown deadline. Este flujo de trabajo exporta todos your CSE consultas y configurations, maps CSE parametros to Scavio equivalents, ejecuta parallel prueba to validar resultado calidad, switches produccion trafico once parity es confirmed, y decommissions el old CSE project. Scavio charges $0.005 per credit versus CSE's $5 per 1,000 consultas ($0.005 cada) pero con multi-platform soporta included at no extra cost.
Desencadenador
Manual activar antes de CSE sunset deadline
Programación
One-time migration batch
Pasos del flujo de trabajo
Exportar CSE consultas y config
Pull todos consultas de your CSE usage registros y exportar el motor de busqueda configuracion (sitio restrictions, refinements, esquema).
Mapear CSE campos to Scavio
Convert CSE parametros (cx, exactTerms, siteSearch) to Scavio equivalents (plataforma, consulta filtra). Generar un mapeo tabla.
Parallel probar consultas
Ejecutar cada consulta a traves de ambos CSE y Scavio in parallel. Comparar top 10 resultados for URL overlap y fragmento relevance.
Switch produccion trafico
Actualizar your application endpoints de CSE to Scavio. Desplegar con caracteristica marcar so you puede roll back instantly.
Decommission CSE project
After 48 horas of stable Scavio trafico, disable el CSE project in Google Cloud Console y revoke claves API.
Implementacion en Python
import requests, os, json, time
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
# Exported CSE queries from usage logs
CSE_QUERIES = [
{"query": "best project management tools 2026", "site_restrict": None},
{"query": "CRM software comparison", "site_restrict": "g2.com"},
{"query": "cloud hosting pricing", "site_restrict": None},
]
def migrate_query(cse_entry):
"""Test a CSE query against Scavio and return parity report."""
payload = {"platform": "google", "query": cse_entry["query"]}
if cse_entry.get("site_restrict"):
payload["query"] = f"site:{cse_entry['site_restrict']} {cse_entry['query']}"
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json=payload, timeout=10).json()
scavio_urls = [o.get("link", "") for o in r.get("organic", [])[:10]]
return {
"query": cse_entry["query"],
"scavio_results": len(r.get("organic", [])),
"top_urls": scavio_urls[:5],
"has_ai_overview": bool(r.get("ai_overview")),
"migration_status": "ready" if len(scavio_urls) >= 3 else "review"
}
results = []
for entry in CSE_QUERIES:
result = migrate_query(entry)
results.append(result)
print(f"[{result['migration_status'].upper()}] {result['query']} -> {result['scavio_results']} results")
time.sleep(0.5)
ready = sum(1 for r in results if r["migration_status"] == "ready")
print(f"\nMigration ready: {ready}/{len(results)} queries passed parity check")Implementacion en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
const CSE_QUERIES = [
{query: "best project management tools 2026", siteRestrict: null},
{query: "CRM software comparison", siteRestrict: "g2.com"},
{query: "cloud hosting pricing", siteRestrict: null},
];
async function migrateQuery(cseEntry) {
const q = cseEntry.siteRestrict
? `site:${cseEntry.siteRestrict} ${cseEntry.query}`
: cseEntry.query;
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: q})
}).then(r => r.json());
const urls = (r.organic || []).slice(0, 10).map(o => o.link || "");
return {
query: cseEntry.query,
scavioResults: (r.organic || []).length,
topUrls: urls.slice(0, 5),
hasAiOverview: !!r.ai_overview,
status: urls.length >= 3 ? "ready" : "review"
};
}
(async () => {
const results = [];
for (const entry of CSE_QUERIES) {
const result = await migrateQuery(entry);
results.push(result);
console.log(`[${result.status.toUpperCase()}] ${result.query} -> ${result.scavioResults} results`);
}
const ready = results.filter(r => r.status === "ready").length;
console.log(`\nMigration ready: ${ready}/${results.length} queries passed parity check`);
})();Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA