← All posts
Guide

Automate weekly SEO reports with Claude Code (no human effort)

Claude Code Routines is the native scheduler — no cron, no third-party tools. Connect your GenieSeo MCP URL once, set a Routine, and a weekly SEO briefing lands in your inbox or Slack on autopilot.

·7 min read

Automate weekly SEO reports with Claude Code (no human effort)

Claude Code ships with a native scheduler called Routines. No cron, no GitHub Actions, no third-party tools — just Claude Code and your GenieSeo MCP URL. Set up a Routine once and a full weekly SEO briefing lands in your inbox or Slack every Monday morning, on autopilot. This guide walks through the whole setup. Total time: about 10 minutes the first time, then nothing.

What you'll end up with

  • A Cloud Routine that runs every Monday at 08:00 (or whatever you pick).
  • It runs on Anthropic's infrastructure, so your laptop doesn't need to be awake.
  • It calls your GenieSeo MCP URL, pulls live Search Console data, and produces the report.
  • The report is delivered to your inbox, your Slack, or wherever you tell the prompt to send it.

No machine of your own. No cron line. No SaaS subscription for "scheduled reports". Cancel by deleting the Routine.

The three flavours of Routine — pick the right one

Claude Code has three native ways to run something on a schedule. They are not interchangeable; pick the one that matches your need:

| Flavour | Where it runs | Survives machine off? | Min interval | Use it for | |---|---|---|---|---| | Cloud Routine | Anthropic infrastructure | Yes | 1 hour | Weekly / daily reports — the right answer for this guide | | Desktop Routine | Your machine (Claude Code Desktop) | No (machine must be on) | 1 minute | Routines that need access to local files / secrets | | /loop | The current session only | No (dies when session closes) | 1 minute | Quick ad-hoc testing — never for unattended work |

For a weekly SEO report, Cloud Routine is the canonical choice. The rest of this guide focuses there. Desktop Routine is covered in a short "if you need local access" note at the end.

Prerequisites

Two things:

1. A GenieSeo MCP URL. Sign up and click Create URL on the dashboard. Treat the URL like a password. 2. Claude Code installed and signed in. Get it from claude.com/code. Verify with claude --version. Sign in once with claude so the Routine inherits your account.

Step 1 — Add your GenieSeo MCP URL to Claude Code

Register the MCP server at user scope so every Claude Code session — including Routines — can see it:

claude mcp add --transport http --scope user genieseo \
  https://mcp.genieseo.app/u/YOUR_TOKEN_HERE

A few things to know:

  • --transport http is correct for GenieSeo (we use Streamable HTTP, MCP spec 2025-03-26 — not the deprecated SSE transport).
  • --scope user writes the config to ~/.claude.json so every project and every Routine inherits it.
  • genieseo is the local name you'll see when Claude lists tools. Pick anything memorable.

Verify the connection works before scheduling anything:

claude mcp list
claude -p "List my Search Console properties"

If the second command returns your verified properties, you're ready to schedule.

Step 2 — Pick the prompt

We've published tested prompts in the recipe library. For a weekly stakeholder briefing, use:

Stakeholder weekly summary in 5 bullets

Copy the prompt body. You'll paste it into the Routine in the next step. If you want to add delivery (Slack / email), append one of these instructions to the bottom of the prompt:

Then post the final report to my Slack channel #seo using the Slack MCP tools.
Then send the final report to me@example.com with the subject "Weekly SEO report".

The Routine has access to the same MCP connectors you've configured, so it can post to Slack or send mail without any extra wiring.

Step 3 — Create the Routine

There are two equivalent ways. Use whichever you prefer.

Option A — Slash command (fastest)

In any Claude Code session:

/schedule

Claude will prompt you for:

  • NameWeekly SEO report
  • Trigger — choose Schedule
  • FrequencyWeekly · Monday · 08:00 in your timezone
  • Where it runs — choose Cloud (this is what makes it survive your machine being off)
  • MCP connectors — tick genieseo (and Slack / email if you used those in Step 2)
  • Instructions — paste your prompt from Step 2

Hit save. The Routine is live.

Option B — Web UI

Open claude.ai/code/routinesNew routine. Same fields as Option A. Same result.

Either way, the next Monday at 08:00 your local time, the Routine fires on Anthropic's infrastructure, calls GenieSeo, builds the report, and delivers it.

Step 4 — Verify it actually fires

Two confidence-building steps before you walk away:

1. **Open the Routine and click Run now. This fires the Routine immediately on the same infrastructure it'll run on at 08:00. Check that the report shows up where you told it to go. 2. Read the output.** Did Claude actually pull from GenieSeo, or did it answer generically? If generic, the MCP connector wasn't ticked on the Routine — go fix that.

Once Run now produces a real report delivered the right way, you're done. The Routine continues firing on its schedule with no further action.

Variations worth setting up

The Routine model makes adding more reports almost free. Same UI, different prompt, different schedule:

  • Daily anomaly check — Daily at 07:00, with the Daily anomaly scan prompt. Cloud Routine. Slack delivery.
  • Monthly executive review — Monthly on the 1st, with the Month-over-month delta prompt. Email delivery to leadership.
  • Sitemap health check — Mondays at 07:30, with the Sitemap health report prompt. File-only is fine; check it during your weekly review.

Three Routines, ten minutes to set up. After that, you stop manually checking Search Console and start reading what's worth acting on.

When to use a Desktop Routine instead

A Desktop Routine runs on your machine (so the machine has to be on at the scheduled time) and gets access to local files, environment variables, and secrets that aren't in the cloud. Use it when you need any of:

  • A prompt that reads or writes a local file.
  • A secret that lives only on your laptop.
  • Sub-hour granularity (Cloud Routines minimum interval is 1 hour).

Setup is identical to a Cloud Routine, but choose Local instead of Cloud in the Where it runs field. For a weekly SEO report, you almost certainly want Cloud — fewer moving parts.

Common gotchas

  • The report is generic / no real data. The MCP connector isn't ticked on the Routine. Open the Routine, edit it, tick genieseo, save, run again.
  • /schedule doesn't exist. Update Claude Code (claude --version, then update via your installer). Routines is a relatively recent feature; older versions don't ship it.
  • Wrong timezone. Cloud Routines fire in the timezone you set when creating them, not UTC. Double-check during setup.
  • API costs creep up. A weekly report is cheap; a daily report on Opus is not. Pick a smaller model for the lighter prompts (Haiku 4.5 is fast and cheap for summaries).
  • Don't share your GenieSeo URL. It's a password. Use the dashboard's Rotate URL button if it ever leaks.

The point

The hard part of SEO ops isn't finding insights — it's seeing them in time to act. Most teams open Search Console once a week, miss things in between, and explain regressions in retrospect. A scheduled Routine flips that: the data comes to you, on schedule, in the format your stakeholders already read.

If you don't have a GenieSeo URL yet, grab one in 60 seconds, then come back and run the four steps above. You'll have your first automated report on the next Monday.

Plug Search Console into Claude in 60 seconds.

One MCP URL, every AI client. No local setup, no API keys.