Un rastreador de posiciones es la herramienta SEO de alto valor más sencilla que puedes construir: consulta Google por una palabra clave, encuentra tu dominio, registra la posición y repite a diario. Aquí tienes uno completo en Python usando serp.cheap.
1. Encuentra tu posición
import requests
def get_rank(keyword, domain, gl="us"):
r = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": keyword, "gl": gl},
timeout=30,
)
r.raise_for_status()
for result in r.json()["organic"]:
if domain.lower() in result["link"].lower():
return result["position"]
return None # not in the results
print(get_rank("project management software", "asana.com"))
2. Guarda el historial en SQLite
import sqlite3, datetime
db = sqlite3.connect("ranks.db")
db.execute("""CREATE TABLE IF NOT EXISTS ranks
(date TEXT, keyword TEXT, domain TEXT, position INTEGER)""")
def record(keyword, domain, gl="us"):
pos = get_rank(keyword, domain, gl)
db.execute("INSERT INTO ranks VALUES (?,?,?,?)",
(datetime.date.today().isoformat(), keyword, domain, pos))
db.commit()
return pos
3. Rastrea una lista a diario
KEYWORDS = ["project management software", "best crm", "time tracking app"]
DOMAIN = "yoursite.com"
for kw in KEYWORDS:
pos = record(kw, DOMAIN)
print(f"{kw}: #{pos}")
Prográmalo con cron (0 7 * * *) o GitHub Actions para una instantánea diaria.
4. El coste
Cada chequeo de palabra clave es una solicitud. 100 palabras clave/día ≈ $0.06/día en fresco, y los chequeos repetidos aciertan en la caché a mitad de precio. Compáralo con los rastreadores de posiciones alojados que cobran $20–$100+/mes.