Guide · about 8 minutes
Build a weekly SEO health report with Claude
By the GSC PAP team · Updated
GSC PAP exposes tools across Search Console, GA4, PageSpeed Insights and live Google results. Stitching 6 of them together inside one Claude conversation gives you a complete weekly report without a separate reporting tool. Once the prompt works, save it as a Claude project or Cursor command and re-run it weekly.
This guide walks one prompt that produces a report covering: weekly performance vs the prior week, quick wins to act on this week, content decay alerts, ranking shifts on top queries, GA4 conversions from organic search, and Core Web Vitals on top pages.
What should a weekly SEO report include?
A weekly report has one job: tell you whether anything changed that needs action this week. Compare the last 7 days with the 7 days before, and end the window about 3 days before today, because recent Search Console data is still settling and an incomplete day looks like a drop. Leave slow trends to a monthly report; a week is too short to judge them.
Keep every section to a one-line summary plus a small table with the exact queries, pages and numbers, so whoever reads it can act without opening Search Console. A useful weekly report covers:
- ·Headline numbers: clicks, impressions, CTR and average position against the previous week.
- ·Biggest movers: the queries and pages that gained or lost the most clicks or positions.
- ·Quick wins: queries with high impressions on page one or two that earn few clicks, the cheapest ones to improve.
- ·Content decay: pages whose clicks keep falling, flagged for a refresh.
- ·Conversions from organic search in GA4, so traffic changes are tied to results.
- ·Technical checks: Core Web Vitals on your top pages, plus indexing status for anything new or important.

Automating the weekly SEO report with Claude
The scenario
Your Monday SEO check is currently: open Search Console, scroll through the last 7 days; open GA4, scroll through landing pages; open PageSpeed Insights, plug in a URL; copy-paste into a Notion page; tag the team. It is slow, and you do it because nobody else will. You want one prompt that does it for you.
The prompt
Use the gsc-pap MCP. Build my weekly SEO health report for https://example.com (GA4 property properties/123456789). Cover the last 7 complete days (ending 3 days ago) vs the prior 7 days. Sections: (1) Headline numbers, clicks/impressions/avg-pos delta via compare_periods. (2) Quick wins this week via find_quick_wins, top 5. (3) Content decay alerts via find_content_decay, anything down >25% WoW. (4) Top 5 queries with biggest position shift via historical_position_trend. (5) GA4 conversions by source for the same window via ga4_conversions_by_source, focus on Organic Search. (6) Core Web Vitals for the top 5 organic pages via pagespeed_field_data mobile, flag any metric outside Google's good range. Format as a Notion-friendly markdown report with H2 sections and tables.What happens
- 1
AI fans out the tool calls in parallel where possible
Claude and Cursor recognize this is a multi-tool prompt and can run the GSC, GA4 and PSI calls in parallel: compare_periods, find_quick_wins, find_content_decay and ga4_conversions_by_source can all start at the same time. PSI calls are sequential because each one is slow, but cached for 24 hours after the first run.
- 2
AI assembles the report markdown
Each section becomes an H2 with a summary sentence + a markdown table. The AI captures dates, delta percentages, and exact URLs / queries so the report is actionable without flipping back to a tool.
- 3
Save the prompt as a reusable command
In Claude Code, save it as a custom slash command (a Markdown file in `.claude/commands/`). In Cursor, save it as a custom slash command. In Claude Desktop, keep it in a project. Next Monday you run the same prompt with no edits.
What the answer looks like
Build my weekly SEO health report: the last 7 complete days against the 7 days before.
compare_periodsthen find_quick_wins, find_content_decay, ga4_conversions_by_source and pagespeed_field_data| Headline | This week | Week before | Change |
|---|---|---|---|
| Clicks | 3,420 | 3,610 | -5.3% |
| Impressions | 98,200 | 101,500 | -3.3% |
| CTR | 3.48% | 3.56% | -0.08 pt |
| Average position | 11.8 | 11.6 | +0.2 (worse) |
Clicks fell 5% along with impressions, so most of the drop is demand, not rankings. One page needs attention: /blog/onboarding-checklist lost 31% of its clicks as its position slipped from 4 to 7. The quick wins section lists two page-two queries with over 1,000 impressions each, and every top page passes Core Web Vitals on mobile.
Outcome
The tab-by-tab Monday check becomes one prompt. Because every section names exact queries, pages and numbers, the output can go straight into Slack or Notion as the team's weekly digest, and a quietly decaying page or a slow top page shows up while it is still a small problem.
Where to take it next
- ·Make a monthly variant with 28 days vs the prior 28: same prompt, different windows.
- ·If your AI client supports scheduled runs, schedule the saved prompt for Monday morning.
- ·Add an indexing check with `batch_inspect_urls` for the pages you published that week.
- ·Add a brand-monitoring section if you have specific brand queries to track.
Frequently asked questions
How do I automate a weekly SEO report from Google Search Console?
Connect Search Console to an AI client such as Claude through an MCP server like GSC PAP, save one prompt that lists the sections you want, and run it each week. The AI calls the Search Console, GA4 and PageSpeed tools itself and writes the report in the chat, ready to paste into Slack or Notion.
Why does the latest week of Search Console data look low?
Search Console data takes about 3 days to settle, so the newest days can be incomplete and look like a drop. End the reporting week about 3 days before today and compare it with the 7 days before that.
Is a weekly SEO report too frequent?
Weekly is the right pace for catching sudden problems, such as a page dropping out of the index or a traffic loss after a deploy. Clicks and rankings are noisy day to day, so judge slow trends on monthly or longer comparisons. The same prompt with 28-day windows gives you the monthly version.
Other guides
All guidesAI queries in Google Search Console: how to tell people, AI Mode and agents apart
Search Console mixes AI Mode follow-ups, AI agent searches and scripts into your query report. How to spot each one, with regex filters and real data.
Good position, no clicks: find the SERP features eating your CTR
Ranking third and getting no clicks usually means something sits above you: an AI Overview, a featured snippet or a map pack. How to check which, query by query.
Find the pages quietly losing organic traffic, before the rankings go
Content decay is slow enough to miss on a dashboard. How to find the pages whose clicks keep sliding, tell decay from seasonality, and decide what to refresh.
Traffic changed: how to compare two Search Console periods and find out why
Clicks are down 18% and nobody knows why. How to compare two periods properly, avoid the three traps that fake a drop, and find the queries and pages behind it.
Google Search Console anonymized queries: measure the traffic you can't see
Search Console hides anonymized queries from query rows but counts them in totals. Learn what they are, why no tool reveals them, and how to measure them.
GSC clicks vs GA4 sessions: why they differ and how to tie clicks to conversions
A Search Console click and a GA4 session measure different things. Why the numbers never match, what gap is normal, and how to compare and combine them page by page.
Audit Core Web Vitals across your site with AI
Audit Core Web Vitals with Claude through a hosted PageSpeed Insights MCP server: Lighthouse lab data and real-user CrUX field data for your top pages.
Google Search Console historical data: how to keep it past 16 months
Google Search Console keeps 16 months of historical data, then deletes it. Here is what it includes and how to keep it longer, from BigQuery to an archive.
Bulk URL inspection in Google Search Console: diagnose indexing issues at scale
Search Console inspects one URL at a time. The URL Inspection API allows 2,000 checks a day per property. How to inspect in bulk and find indexing issues.
Track keyword rankings in Google Search Console, past the 16-month limit
See a keyword's position history in Google Search Console, what that average really measures, and how to keep ranking history past the 16-month limit.
How to find striking distance keywords in Google Search Console
Striking distance keywords rank just off page one of Google. Find them in Search Console, pick the ones worth fixing, and learn what to change on the page.
How to find keyword cannibalization in Google Search Console
Check for keyword cannibalization in Google Search Console: find queries where your pages compete, judge whether it hurts, and fix the cases that do.