Hermes es un agente de escritorio que puede interactuar con su computadora y ejecutar flujos de trabajo de varios pasos. Combinarlo con una API de búsqueda crea un sistema de automatización de SEO que verifica clasificaciones, audita el contenido e investiga palabras clave sin comprobaciones SERP manuales. La API de Scavio proporciona datos de búsqueda estructurados que Hermes puede procesar y actuar. Este tutorial muestra cómo configurar Hermes con acceso a búsqueda web, crear flujos de trabajo de automatización de SEO y ejecutar comprobaciones de clasificación recurrentes. Dispondrá de un asistente de SEO de escritorio que se encarga de las tareas de investigación repetitivas de forma automática.
Requisitos previos
- Agente de escritorio Hermes instalado
- Una clave API de Scavio de scavio.dev
- Python 3.8+ para probar llamadas API
Guia paso a paso
Paso 1: Configurar el acceso de búsqueda para Hermes
Configure la conexión API de Scavio para que Hermes pueda consultar los datos de búsqueda.
# Hermes tool configuration:
# Add a web search tool that calls the Scavio API
# The agent will use this tool for all SEO tasks
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def search_serp(query, search_type="search"):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": query, "type": search_type})
return resp.json()Paso 2: Cree un flujo de trabajo de verificación de rango
Cree un flujo de trabajo que verifique la clasificación de su dominio para las palabras clave objetivo.
def check_rank(domain, keyword):
data = search_serp(keyword)
results = data.get("organic_results", [])
for i, r in enumerate(results):
if domain in r.get("link", ""):
return {"keyword": keyword, "position": i + 1, "url": r["link"]}
return {"keyword": keyword, "position": None, "url": None}
keywords = ["search api", "serp api", "web search api"]
for kw in keywords:
rank = check_rank("scavio.dev", kw)
pos = rank["position"] or "not found"
print(f"{kw}: position {pos}")Paso 3: Agregar capacidad de auditoría de contenido
Cree una auditoría de contenido que verifique las páginas mejor clasificadas en busca de una palabra clave e identifique lagunas.
def audit_content(keyword):
data = search_serp(keyword)
results = data.get("organic_results", [])[:5]
paa = data.get("people_also_ask", [])
return {
"keyword": keyword,
"top_titles": [r["title"] for r in results],
"content_gaps": [q.get("question", "") for q in paa],
"aio_present": bool(data.get("ai_overview")),
}
audit = audit_content("best project management tool")
for gap in audit["content_gaps"]:
print(f" Gap: {gap}")Paso 4: Programar controles recurrentes
Configure Hermes para ejecutar comprobaciones de SEO según un cronograma.
# Hermes scheduling:
# Tell Hermes to run the rank check daily:
# "Every morning at 9am, check rankings for these keywords
# and save results to seo_report.json"
import json
from datetime import date
def daily_report(domain, keywords):
report = {"date": date.today().isoformat(), "rankings": []}
for kw in keywords:
report["rankings"].append(check_rank(domain, kw))
with open("seo_report.json", "w") as f:
json.dump(report, f, indent=2)
return report
print(daily_report("example.com", ["crm software", "project management"]))Ejemplo en Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def rank(domain, kw):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": kw})
for i, r in enumerate(resp.json().get("organic_results", [])):
if domain in r.get("link", ""):
return i + 1
return None
for kw in ["search api", "serp api"]:
print(f"{kw}: position {rank('scavio.dev', kw) or 'N/A'}")Ejemplo en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function rank(domain, kw) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: kw})
});
const results = (await r.json()).organic_results || [];
const idx = results.findIndex(r => (r.link||"").includes(domain));
return idx >= 0 ? idx + 1 : null;
}
rank("scavio.dev", "search api").then(p => console.log("Position:", p));Salida esperada
A Hermes desktop agent configured with SEO automation workflows that check rankings, audit content gaps, and generate daily reports using live SERP data.