Credential Tier Detection
Always communicate the detected tier before running commands. Claude SEO checks ~/.config/claude-seo/google-api.json on every invocation and maps configured values to the four tiers. Detection does not test every API, property permission, or remaining quota, so a command can still fail after it appears available.
Commands by Tier
| Command | What it does | Tier |
/seo google setup | Check/configure API credentials | -- |
/seo google pagespeed <url> | PSI Lighthouse + CrUX field data | 0 |
/seo google crux <url> | CrUX field data only (p75 metrics) | 0 |
/seo google crux-history <url> | CrUX History analysis using the current 25-period provider default | 0 |
/seo google youtube <query> | YouTube video search (views, likes, duration) | 0 |
/seo google youtube-video <id> | YouTube video details + top comments | 0 |
/seo google nlp <url-or-text> | NLP entity extraction + sentiment + classification | 0 |
/seo google entities <url-or-text> | Entity analysis only (for E-E-A-T) | 0 |
/seo google entity <query> | Knowledge Graph entity check | 0 |
/seo google safety <url> | Web Risk URL safety check | 0 |
/seo google gsc <property> | Search Console: clicks, impressions, CTR, position | 1 |
/seo google inspect <url> | URL Inspection: index status, canonical, crawl info | 1 |
/seo google inspect-batch <file> | Batch URL Inspection from file | 1 |
/seo google sitemaps <property> | GSC sitemap status | 1 |
/seo google index <url> | Notify Google about one eligible JobPosting or BroadcastEvent page | 1 |
/seo google index-batch <file> | Batch notifications for eligible pages, subject to quota | 1 |
/seo google ga4 [property-id] | GA4 organic traffic report | 2 |
/seo google ga4-pages [property-id] | Top organic landing pages | 2 |
/seo google keywords <seed> | Keyword ideas from Google Ads Keyword Planner | 3 |
/seo google volume <keywords> | Search volume lookup from Keyword Planner | 3 |
Indexing API restriction: Google officially supports this API only for pages with JobPosting structured data or a BroadcastEvent embedded in VideoObject. A successful notification does not guarantee crawling or indexing. Use URL Inspection for a few ordinary URLs and sitemaps for larger ordinary URL sets.
Generating Reports
After any analysis command, run /seo google report <type> to produce a styled deliverable. Report types are cwv-audit (Core Web Vitals from PSI + CrUX + history), gsc-performance (Search Console query tables and quick wins), indexation (batch inspection with coverage donut), and full (everything). PDF output uses WeasyPrint with matplotlib charts. Excel output ships with Summary, Queries, Pages, and Indexation sheets, frozen header rows, and auto-filter enabled, so pivots are one click away.
Rate Limits
Quotas apply to projects, properties, sites, or users rather than to a credential file itself. Recheck the live Google documentation and your Cloud console before a large run. Current published limits include:
- PageSpeed Insights v5: 240 QPM, 25,000 QPD (API key)
- CrUX + History: 150 QPM per project, with no API charge
- GSC Search Analytics: 1,200 QPM per site and per user, 30M QPD per project
- GSC URL Inspection: 600 QPM and 2,000 QPD per site
- Indexing API: 380 requests per minute per project, 200 publish requests per day by default
- GA4 Data API: 10 concurrent requests and 200,000 core tokens per standard property per day; 360 properties receive 2,000,000
Technical Notes
- INP replaced FID on March 12, 2024. The skill never references FID.
- CLS values from CrUX are string-encoded (e.g. "0.05"). Scripts handle parsing.
- CrUX 404 means insufficient Chrome traffic, not an auth error. PSI lab data is the fallback.
- CrUX field metrics use a rolling 28-day window, and history points are weekly and delayed. They are not real-time telemetry.
- Search Analytics data has a 2-3 day lag. Reports note data freshness.
round_trip_time replaced effectiveConnectionType in CrUX in Feb 2025.