順位トラッカーは、作れる中で最もシンプルかつ価値の高いSEOツールです。キーワードでGoogleを検索し、自分のドメインを見つけ、順位を記録し、毎日繰り返します。serp.cheap を使った完全なものをPythonで紹介します。
1. 自分の順位を見つける
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. 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. リストを毎日追跡する
KEYWORDS = ["project management software", "best crm", "time tracking app"]
DOMAIN = "yoursite.com"
for kw in KEYWORDS:
pos = record(kw, DOMAIN)
print(f"{kw}: #{pos}")
cron(0 7 * * *)や GitHub Actions でスケジュールして、日次のスナップショットを取得しましょう。
4. コスト
各キーワードのチェックは1リクエストです。100キーワード/日 ≈ 新規で約 $0.06/日 — 繰り返しのチェックは半額でキャッシュにヒットします。月額 $20〜$100以上を請求するホスト型の順位トラッカーと比べてみてください。