# Hermes Rank Loop — Always-On SEO Agency

> An SEO agency that never clocks out. Every week Hermes reads Search Console + DataForSEO, stages the exact title/meta/link fixes, and checks whether last week's changes moved rankings.

- Agent: Hermes Agent
- Plan: Starter (1 vCPU, 2 GiB RAM, 10 GiB disk)
- Forks: 0 · Stars: 0
- Creator: https://www.jurniti.com/creator-ca0ff2
- Tags: agency, dataforseo, hermes, marketing-loops, rank-loop, search-console, seo, seo-improver
- Requires config (you provide): OPENROUTER_API_KEY
- Skills: ai-seo, airtable, analytics, apple-notes, apple-reminders, architecture-diagram, arxiv, ascii-art, ascii-video, audiocraft-audio-generation, baoyu-infographic, blogwatcher, claude-design, codebase-inspection, comfyui, competitors, computer-use, content-strategy, copy-editing, design-md, dogfood, evaluating-llms-harness, excalidraw, findmy, gif-search, github-auth, github-code-review, github-issues, github-pr-workflow, github-repo-management, google-workspace, heartmula, hermes-agent-skill-authoring, himalaya, huggingface-hub, humanizer, imessage, jupyter-live-kernel, llama-cpp, llm-wiki, manim-video, maps, marketing-loops, nano-pdf, node-inspect-debugger, notion, obsidian, ocr-and-documents, openhue, p5js, petdex, plan, polymarket, popular-web-designs, powerpoint, pretext, programmatic-seo, python-debugpy, requesting-code-review, research-paper-writing, schema, segment-anything-model, seo-audit, seo-rank-loop, seo-workspace, serving-llms-vllm, simplify-code, site-architecture, sketch, songsee, songwriting-and-ai-music, spike, systematic-debugging, teams-meeting-pipeline, test-driven-development, touchdesigner-mcp, weights-and-biases, xurl, youtube-content, yuanbao

**To fork:** open https://www.jurniti.com/templates/hermes-rank-loop-always-on-seo-agency and use the Fork action — it starts a Stripe Checkout for a new VM seeded with this template's persist disk (same flat plan price, no fork fee).

## README

# Rank Loop — always-on SEO agency

You already know what "good SEO" looks like.

You don't have 90 minutes every Monday to pull Search Console, open DataForSEO, write a diagnosis, and stage the fixes.

This template is that Monday — on a loop.

## What you get

Fork it. Add your keys. Say:

> Run the weekly SEO improver loop for my property. Stage fixes only.

Hermes will:

1. **Measure** — Google Search Console (your clicks, impressions, CTR, position) + DataForSEO (who ranks above you, volume, SERP features)
2. **Prioritize** — striking-distance keywords (positions ~4–20), high-impressions/low-CTR pages, cannibalization, decay
3. **Stage** — exact titles, meta, sections, internal links — not a vague "write more content" list
4. **Learn** — next week it opens last week's report and checks what moved

Artifacts land in `~/seo/runs/YYYY-MM-DD/`:

- `rankings.csv` — week-over-week join key  
- `report.md` — one-screen agency pulse with stable IDs (`SEO-STRIKE-001`, …)

## What's inside

- **Agency SOUL** — SEO improver doctrine (measure → stage → verify)
- **12 skills** — Rank Loop OS + curated Corey Haines marketing skills (`marketing-loops`, `seo-audit`, `ai-seo`, schema, content-strategy, …) — not the whole kitchen sink
- **GSC helpers** — service-account JWT scripts (read-only)
- **DataForSEO helper** — REST (and optional MCP) for the competitive layer

## BYOK (you bring)

| Env | What |
|-----|------|
| `OPENROUTER_API_KEY` | Hermes model |
| `GSC_CREDENTIALS_JSON` | Google service-account JSON (one line) |
| `GSC_PROPERTY` | e.g. `sc-domain:yoursite.com` |
| `DATAFORSEO_LOGIN` / `DATAFORSEO_PASSWORD` | API credentials |
| `GH_TOKEN` + blog path | *Optional* — open PRs against your content repo |

Add the service-account email as a **Restricted** user in Search Console.

## What it will not do

- Guarantee #1 rankings  
- Auto-merge to your default branch  
- Invent rankings when GSC or DataForSEO is down  
- Blast thin page farms  

Most healthy runs end with **no action** and a clear reason. That's the agency you want.

## Port note

Principles match [Atom Eve SEO Improver](https://www.atomeve.dev/agents/seo-improver/) (GSC primary, DataForSEO competitive, weekly loop, rankings.csv + report.md). Runtime is **Hermes only** — no Eve install.

## First hour

1. Fork on jurniti  
2. Set env keys in `~/.hermes/.env`  
3. Fill `~/seo/client-profile.md`  
4. Run the weekly loop once  
5. Schedule Monday 09:00  

Then get out of the way and let rankings compound.
