Receber por email
← Voltar para o catálogo

seo-google

Direct access to Google's own SEO data via Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, GA4 organic traffic, YouTube video search, Google NLP entity/sentiment analysis, Knowledge Graph entity verification, Web Risk safety, and Google Ads Keyword Planner. Bridges crawl-based analysis (the rest of this cata

71estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add seranking/seo-skills

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/seo-google/svg)](https://www.skillteca.com.br/skills/seo-google)

Skills relacionadas

Ver todas de Pesquisa e Web →

Alerta por categoria

Receba novas skills de Pesquisa e Web toda segunda

1 email curto, só com as skills novas de Pesquisa e Web. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa
Example output: [examples/seo-google-quickstart-20260514/README.md](../../examples/seo-google-quickstart-20260514/README.md)

Google SEO APIs

Direct access to Google's own SEO data. Bridges the gap between crawl-based analysis (the rest of the catalogue) and Google's real-time field data: actual Chrome user metrics, real indexation status, search performance, and organic traffic.

All APIs are free. Setup requires a Google Cloud project with API key and/or service account — run the setup command for step-by-step instructions, or read references/auth-setup.md directly.

Adapted from AgriciDaniel/claude-seo's seo-google skill (MIT). Scripts, references, and command surface mirror the upstream implementation. Config path namespaced to ~/.config/seo-skills/ for clean coexistence with the original.

Prerequisites

  • Required: Python 3.10+ and the Google API client libraries. Install via bash extensions/google/install.sh.
  • Required: at minimum a Google API key (Tier 0). For full coverage, also a Google Cloud service account (Tier 1+) and optionally a GA4 property ID (Tier 2) and Google Ads developer token (Tier 3).
  • Config file: ~/.config/seo-skills/google-api.json.

Before executing any command, check credentials:

python scripts/google_auth.py --check --json

Config file shape (~/.config/seo-skills/google-api.json):

{
  "service_account_path": "/path/to/service_account.json",
  "api_key": "AIzaSy...",
  "default_property": "sc-domain:example.com",
  "ga4_property_id": "properties/123456789"
}

If missing, read references/auth-setup.md and walk the user through setup.

Credential Tiers

| Tier | Detection | Available Commands | |------|-----------|-------------------| | 0 (API Key) | api_key present | pagespeed, crux, crux-history, youtube, nlp, entity, safety | | 1 (OAuth/SA) | + OAuth token or service account | Tier 0 + gsc, inspect, sitemaps, index | | 2 (Full) | + ga4_property_id configured | Tier 1 + ga4, ga4-pages, ga4-referrals, ga4-channel-mix, ga4-properties | | 3 (Ads) | + ads_developer_token + ads_customer_id | Tier 2 + keywords, volume |

Always communicate the detected tier before running commands.

Quick Reference

| Command | What it does | Tier | |---------|-------------|------| | setup | Check/configure API credentials | -- | | pagespeed <url> | PSI Lighthouse + CrUX field data | 0 | | crux <url> | CrUX field data only (p75 metrics) | 0 | | crux-history <url> | 25-week CWV trend analysis | 0 | | gsc <property> | Search Console: clicks, impressions, CTR, position | 1 | | inspect <url> | URL Inspection: index status, canonical, crawl info | 1 | | inspect-batch <file> | Batch URL Inspection from file | 1 | | sitemaps <property> | GSC sitemap status | 1 | | index <url> | Submit URL to Indexing API | 1 | | index-batch <file> | Batch submit up to 200 URLs | 1 | | ga4 [property-id] | GA4 organic traffic report | 2 | | ga4-pages [property-id] | Top organic landing pages | 2 | | ga4-referrals [property-id] | Referral sessions by source — AI assistants by default | 2 | | ga4-channel-mix [property-id] | Sessions split by channel group (Direct / Organic / Referral / Paid …) | 2 | | ga4-properties | List every GA4 account + property the service account can read | 2 | | youtube <query> | YouTube video search (views, likes, duration) | 0 | | youtube-video <id> | YouTube video details + top comments | 0 | | nlp <url-or-text> | NLP entity extraction + sentiment + classification | 0 | | entities <url-or-text> | Entity analysis only (for E-E-A-T) | 0 | | keywords <seed> | Keyword ideas from Google Ads Keyword Planner | 3 | | volume <keywords> | Search volume lookup from Keyword Planner | 3 | | entity <query> | Knowledge Graph entity check | 0 | | safety <url> | Web Risk URL safety check | 0 | | quotas | Show rate limits for all APIs | -- | | report <type> | Generate a PDF/HTML/XLSX report from collected JSON | -- |

PageSpeed + CrUX

pagespeed <url>

Combined Lighthouse lab data + CrUX field data.

Script: python scripts/pagespeed_check.py <url> --json Reference: references/pagespeed-crux-api.md Default: Both mobile + desktop strategies, all Lighthouse categories.

Output merges lab scores (point-in-time Lighthouse) with field data (28-day Chrome user metrics). CrUX tries URL-level first, falls back to origin-level.

crux <url>

CrUX field data only (no Lighthouse run). Faster.

Script: python scripts/pagespeed_check.py <url> --crux-only --json

crux-history <url>

25-week CrUX History trends. Shows whether CWV metrics are improving, stable, or degrading.

Script: python scripts/crux_history.py <url> --json Reference: references/pagespeed-crux-api.md

Output includes per-metric trend direction, percentage change, and weekly p75 values.

Search Console

gsc <property>

Search Analytics: clicks, impressions, CTR, position for last 28 days.

Script: python scripts/gsc_query.py --property <property> --json Reference: references/search-console-api.md Default: 28 days, dimensions=query,page, type=web, limit=1000.

Includes quick-win detection: queries at position 4-10 with high impressions.

Filtering: --device {desktop,mobile,tablet}, --country <ISO3>, --page <url-or-substring> (defaults to contains match; pass --page-match equals for exact-URL match). Combine for per-URL query analysis: --page /blog/best-ai-seo-tools/ --dimensions query.

AI Overview / AI Mode: --ai-overview (or --ai-mode) filters results to queries where Google rendered an AI Overview / AI Mode SERP that included one of your URLs. This is Google's first-party answer to "are we cited in AI Overview?" — clicks, impressions, CTR, and avg position straight from GSC. Combine with --dimensions query,page to see which queries+pages earned AI Overview presence, or with --page /post/ to scope to one URL. For other appearance types (RICH_RESULT, REVIEW_SNIPPET, etc.) use --search-appearance <value>.

inspect <url>

URL Inspection: real indexation status from Google.

Script: python scripts/gsc_inspect.py <url> --json

Returns: verdict (PASS/FAIL), coverage state, robots.txt status, indexing state, page fetch state, canonical selection, mobile usability, rich results.

inspect-batch <file>

Batch inspection from a file (one URL per line). Rate limited to 2,000/day per site.

Script: python scripts/gsc_inspect.py --batch <file> --json

sitemaps <property>

List submitted sitemaps with status, errors, warnings.

Script: python scripts/gsc_query.py sitemaps --property <property> --json

Indexing API

index <url>

Notify Google of a URL update.

Script: python scripts/indexing_notify.py <url> --json Reference: references/indexing-api.md

The Indexing API is officially for JobPosting and BroadcastEvent/VideoObject pages. Always inform the user of this restriction. Daily quota: 200 publish requests.

index-batch <file>

Batch submit URLs from a file. Tracks quota usage.

Script: python scripts/indexing_notify.py --batch <file> --json

GA4 Traffic

All GA4 reports accept an optional --page <path-or-url> flag to scope the report to a single landing page (EXACT match against GA4's landingPage dimension; full URLs are auto-stripped to path). Use it whenever the question is "how is this post performing?" rather than site-wide.

--report organic and --report top-pages accept --channel <name|all>: defaults to organic (Organic Search), pass all to drop the channel filter (required for whole-page weekly trends across all traffic sources), or any GA4 default channel group verbatim — Direct, Referral, Paid Search, Organic Social, etc.

ga4 [property-id]

Daily

Compartilhar X LinkedIn