DEV Community

Emma Watson
Emma Watson

Posted on

Tracking Keyword Rankings with Python + CSV: A Lightweight SEO Experiment

I've been experimenting with a lightweight approach to track keyword ranking changes using Python and a simple CSV file. Here's the gist:

python
import csv
import requests
from datetime import datetime

def check_ranking(keyword, url):
# Simplified ranking check - actual implementation would use search API
# This is just a placeholder
return {'keyword': keyword, 'url': url, 'rank': 5, 'date': datetime.now().isoformat()}

def update_tracker(csv_path, keywords):
with open(csv_path, 'a', newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=['keyword', 'url', 'rank', 'date'])
if csvfile.tell() == 0:
writer.writeheader()
for keyword in keywords:
data = check_ranking(keyword['url'], keyword['url'])
writer.writerow(data)

keywords = [
{'keyword': 'python tutorial', 'url': 'https://example.com/python'},
{'keyword': 'web scraping', 'url': 'https://example.com/scraping'}
]
update_tracker('rankings.csv', keywords)

For serious rank tracking, I rely on SERPSpur's API which handles search result parsing and historical data. But this simple approach works for hobby projects. How do you track your keyword rankings?

Top comments (0)