← 返回 Skills 市场
bin-huang

Google Search Console CLI

作者 Bin-Huang · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
87
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install google-search-console-open-cli
功能描述
Google Search Console data analysis and site management via google-search-console-cli. Use when the user wants to check search performance, analyze queries,...
使用说明 (SKILL.md)

Google Search Console CLI Skill

You have access to google-search-console-cli, a CLI for the Google Search Console API. Use it to query search analytics, inspect URL indexing, and manage sites and sitemaps.

Quick start

# Check if the CLI is available
google-search-console-cli --help

# List accessible sites
google-search-console-cli sites

If the CLI is not installed, install it:

npm install -g google-search-console-cli

Authentication

The CLI uses a Google service account. Credentials are resolved in this order:

  1. --credentials \x3Cpath> flag (per-command)
  2. GOOGLE_APPLICATION_CREDENTIALS env var
  3. ~/.config/google-search-console-cli/credentials.json (auto-detected)
  4. gcloud Application Default Credentials

Before running any command, verify credentials are configured by running google-search-console-cli sites. If it fails with a credentials error, ask the user to set up authentication.

Site URL formats

Search Console uses two property types:

  • URL-prefix property: https://www.example.com/ (must include trailing slash and protocol)
  • Domain property: sc-domain:example.com (covers all protocols and subdomains)

Always use the exact format as registered in Search Console. The site URL is a positional argument for most commands.

Output format

All commands output pretty-printed JSON by default. Use --format compact for single-line JSON (useful for piping).

Commands

Search analytics query

The query command is the primary tool for search performance data.

google-search-console-cli query \x3CsiteUrl> --start-date \x3Cdate> --end-date \x3Cdate> [options]

Required:

  • --start-date \x3Cdate> -- Start date (YYYY-MM-DD)
  • --end-date \x3Cdate> -- End date (YYYY-MM-DD)

Optional:

  • --dimensions \x3Cnames> -- Comma-separated: date, query, page, country, device, searchAppearance, hour
  • --type \x3Ctype> -- Search type: web (default), image, video, news, discover, googleNews
  • --dimension-filter \x3Cjson> -- JSON array of dimension filter groups (see below)
  • --aggregation-type \x3Ctype> -- auto, byPage, byProperty, byNewsShowcasePanel
  • --row-limit \x3Cn> -- Max rows, 1-25000 (default 1000)
  • --start-row \x3Cn> -- Starting row offset (default 0)
  • --data-state \x3Cstate> -- Data freshness: all, final, hourly_all
  • --all -- Fetch all rows with auto-pagination (mutually exclusive with --start-row)

Response fields per row:

  • keys -- Array of dimension values (in the order specified by --dimensions)
  • clicks -- Number of clicks
  • impressions -- Number of impressions
  • ctr -- Click-through rate (0.0 to 1.0)
  • position -- Average position in search results

Auto-pagination with --all

When --all is specified, the CLI automatically paginates through all results (using 25000 rows per page) and returns the complete dataset. This is useful for exporting all data without manual pagination.

# Get ALL queries (auto-paginates through all pages)
google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --all

Note: --all and --start-row cannot be used together. When --all is used, --row-limit is ignored.

Sites management

# List all sites
google-search-console-cli sites

# Get info about a specific site
google-search-console-cli site \x3CsiteUrl>

# Add a site (requires Full permission)
google-search-console-cli site-add \x3CsiteUrl>

# Remove a site (requires Full permission)
google-search-console-cli site-remove \x3CsiteUrl>

Sitemaps management

# List sitemaps for a site
google-search-console-cli sitemaps \x3CsiteUrl>

# List sitemaps under a specific sitemap index
google-search-console-cli sitemaps \x3CsiteUrl> --sitemap-index \x3Curl>

# Get info about a specific sitemap
google-search-console-cli sitemap \x3CsiteUrl> \x3Cfeedpath>

# Submit a sitemap (requires Full permission)
google-search-console-cli sitemap-submit \x3CsiteUrl> \x3Cfeedpath>

# Delete a sitemap (requires Full permission)
google-search-console-cli sitemap-delete \x3CsiteUrl> \x3Cfeedpath>

URL inspection

# Inspect a single URL's index status
google-search-console-cli inspect \x3CsiteUrl> \x3CinspectionUrl>

# With a specific language for messages
google-search-console-cli inspect \x3CsiteUrl> \x3CinspectionUrl> --language zh-CN

The --language option controls the language of the messages in the response (default: en-US).

The response includes: index status (indexing state, crawl time, robots.txt status, canonical URL), AMP analysis (if applicable), mobile usability, and rich results detection.

Batch URL inspection

Inspect multiple URLs in a single command:

# From a file (one URL per line)
google-search-console-cli inspect-batch https://www.example.com/ --file urls.txt

# From stdin
cat urls.txt | google-search-console-cli inspect-batch https://www.example.com/

# With compact format (NDJSON, streams results as they complete)
cat urls.txt | google-search-console-cli inspect-batch https://www.example.com/ --format compact

Options:

  • --file \x3Cpath> -- File with URLs (one per line); reads stdin if omitted
  • --language \x3Ccode> -- Language code for messages (default: en-US)

Progress is written to stderr: Inspecting 1/50: https://...

With --format compact, each result is streamed as NDJSON (one JSON object per line) as soon as it completes. With --format json (default), all results are collected and output as a JSON array at the end.

Per-URL errors are captured in the output (with an error field) without stopping the batch.

Dimension filter groups

The --dimension-filter option takes a JSON array of filter groups. Each filter group contains:

  • groupType -- "and" (all filters must match)
  • filters -- Array of filter objects

Each filter object:

  • dimension -- One of: query, page, country, device, searchAppearance
  • operator -- One of: equals, notEquals, contains, notContains, includingRegex, excludingRegex
  • expression -- The value to match against

Country codes use 3-letter ISO 3166-1 alpha-3 format (e.g., USA, GBR, DEU, JPN).

Device values: DESKTOP, MOBILE, TABLET.

Filter examples

Single filter:

[{"groupType":"and","filters":[{"dimension":"country","operator":"equals","expression":"USA"}]}]

Multiple filters (AND):

[{"groupType":"and","filters":[{"dimension":"country","operator":"equals","expression":"USA"},{"dimension":"device","operator":"equals","expression":"MOBILE"}]}]

Regex filter:

[{"groupType":"and","filters":[{"dimension":"query","operator":"includingRegex","expression":"buy|purchase|order"}]}]

Page filter:

[{"groupType":"and","filters":[{"dimension":"page","operator":"contains","expression":"/blog/"}]}]

Practical examples

Top search queries

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --row-limit 50

Daily performance trend

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions date

Top pages by clicks

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions page \
  --row-limit 50

Performance by country

google-search-console-cli query sc-domain:example.com \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions country

Performance by device

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions device

Query performance for a specific page

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --dimension-filter '[{"groupType":"and","filters":[{"dimension":"page","operator":"equals","expression":"https://www.example.com/product"}]}]'

Mobile performance in a specific country

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --dimension-filter '[{"groupType":"and","filters":[{"dimension":"country","operator":"equals","expression":"USA"},{"dimension":"device","operator":"equals","expression":"MOBILE"}]}]'

Brand vs non-brand queries

# Brand queries
google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --dimension-filter '[{"groupType":"and","filters":[{"dimension":"query","operator":"includingRegex","expression":"example|exmpl"}]}]'

# Non-brand queries
google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --dimension-filter '[{"groupType":"and","filters":[{"dimension":"query","operator":"excludingRegex","expression":"example|exmpl"}]}]'

Blog section performance

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions page \
  --dimension-filter '[{"groupType":"and","filters":[{"dimension":"page","operator":"contains","expression":"/blog/"}]}]'

Image search performance

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --type image \
  --row-limit 50

Which pages rank for a specific query (cannibalization check)

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions page \
  --dimension-filter '[{"groupType":"and","filters":[{"dimension":"query","operator":"equals","expression":"best running shoes"}]}]'

Cross-dimension analysis (query x page)

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query,page \
  --row-limit 100

Device trend over time

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions date,device

Google News performance

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions page \
  --type googleNews

Discover feed performance

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions page \
  --type discover

Hourly performance trend (with fresh data)

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-03-17 \
  --end-date 2026-03-17 \
  --dimensions hour \
  --data-state hourly_all

Per-page aggregation (deduplicate by page)

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions page \
  --aggregation-type byPage

Fetch all rows (auto-pagination)

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --all

Paginate through large result sets (manual)

# First 1000 rows
google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --row-limit 1000

# Next 1000 rows
google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions query \
  --row-limit 1000 \
  --start-row 1000

Search appearance breakdown

google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 \
  --end-date 2026-03-17 \
  --dimensions searchAppearance

Inspect a URL's index status

google-search-console-cli inspect https://www.example.com/ https://www.example.com/important-page

Batch inspect multiple URLs

# Create a file with URLs to inspect
echo "https://www.example.com/page1
https://www.example.com/page2
https://www.example.com/page3" > urls.txt

# Batch inspect
google-search-console-cli inspect-batch https://www.example.com/ --file urls.txt

# Or pipe from another command
google-search-console-cli query https://www.example.com/ \
  --start-date 2026-02-16 --end-date 2026-03-17 \
  --dimensions page --format compact \
  | jq -r '.rows[].keys[0]' \
  | google-search-console-cli inspect-batch https://www.example.com/ --format compact

Audit sitemaps

# List all sitemaps
google-search-console-cli sitemaps https://www.example.com/

# Check a specific sitemap
google-search-console-cli sitemap https://www.example.com/ https://www.example.com/sitemap.xml

Workflow guidance

When the user asks for a search performance overview

  1. Run google-search-console-cli sites to find accessible sites
  2. Run a query with --dimensions date for the daily trend
  3. Run a query with --dimensions query for top queries
  4. Present key metrics: total clicks, impressions, average CTR, average position

When the user asks about a specific page's SEO

  1. Use query with --dimensions query and a --dimension-filter for the page URL
  2. Use inspect to check the page's index status
  3. Cross-reference query rankings (position) with indexing health

When the user asks about mobile vs desktop performance

  1. Run query with --dimensions device for the overview
  2. Optionally drill down with --dimensions query,device to find queries that perform differently across devices

When the user asks about international performance

  1. Run query with --dimensions country for country breakdown
  2. Drill down with --dimension-filter for specific countries

When the user asks about indexing issues

  1. Use inspect for specific URLs, or inspect-batch for bulk checking
  2. Check sitemaps with sitemaps and sitemap commands
  3. Look at the inspection response for crawl errors, indexing blocks, or mobile usability issues

When the user wants to export all search data

  1. Use query with --all to auto-paginate through all results
  2. Use --format compact for NDJSON output suitable for piping to jq or other tools

Permission levels

  • Read-only (Restricted): sites, site, query, sitemaps, sitemap, inspect, inspect-batch
  • Write (Full): site-add, site-remove, sitemap-submit, sitemap-delete

Most analysis workflows only need read-only permission.

Error handling

  • Authentication errors -- ask the user to verify their service account credentials
  • 403 Permission denied -- the service account lacks access to the site; it must be added per-site in Search Console settings
  • Empty results -- check date range (data is typically available 2-3 days after the date), verify the site URL format matches the registered property
  • 400 Bad request -- check dimension filter JSON syntax and field compatibility

API documentation references

Reference When to Use
google-search-console-cli documentation Full README, setup guide, installation
Search Analytics API Query method, dimensions, filters, response format
URL Inspection API Inspect method, request/response fields
Sites API Site management methods and permission levels
Sitemaps API Sitemap management methods and resource fields
安全使用建议
This SKILL.md documents a legitimate Google Search Console CLI, but the registry metadata fails to declare the credential/env requirements the tool needs (GOOGLE_APPLICATION_CREDENTIALS, gcloud ADC, or a credentials file). Before installing or invoking the skill: - Be aware the agent may attempt to read your Google credentials (env var or ~/.config path) to call the Search Console API. Only use a service account with minimal required permissions (prefer read-only where possible) and avoid re-using high-privilege credentials. - The tool can add/remove sites and submit/delete sitemaps (actions requiring Full permission). Don’t grant Full access unless you trust the caller and understand the impact. - Batch inspection reads a file/stdin you provide — ensure you don’t accidentally point it at sensitive files. - The skill suggests installing an npm package; verify the npm package source (owner, repository, and recent activity) before running `npm install -g`. The main issue here is metadata transparency (credentials/config paths are used but not declared). If you need higher assurance, ask the publisher to update metadata to list required env vars/config paths and provide a link to the CLI’s official homepage/repository before proceeding.
功能分析
Type: OpenClaw Skill Name: google-search-console-open-cli Version: 1.0.0 The skill bundle provides a legitimate interface for the 'google-search-console-cli' tool (a public NPM package) to manage and analyze Google Search Console data. It includes standard instructions for installation, authentication via Google service accounts, and various SEO analysis workflows. No evidence of data exfiltration, malicious execution, or prompt injection was found; the capabilities described (including site and sitemap management) are consistent with the tool's stated purpose.
能力标签
cryptocan-make-purchases
能力评估
Purpose & Capability
The name/description and the SKILL.md are coherent: they describe a CLI to query Search Console, manage sites/sitemaps, and run URL inspections. However, the registry metadata lists no required environment variables or config paths while the documentation explicitly depends on Google service account credentials and possible ADC via gcloud or a default credentials file. This mismatch is unexpected.
Instruction Scope
SKILL.md instructs the agent to run `google-search-console-cli` commands, possibly install the npm package, and use credentials resolved from --credentials, GOOGLE_APPLICATION_CREDENTIALS, ~/.config/google-search-console-cli/credentials.json, or gcloud ADC. It also documents batch inspection that reads a user-supplied file or stdin. These instructions are within the skill's purpose but they reference reading credentials and local files (e.g., ~/.config and user-provided URLs file), which are not declared in the metadata.
Install Mechanism
No install spec is embedded in the skill (instruction-only). The SKILL.md suggests installing via `npm install -g google-search-console-cli` if the CLI is missing. This is a standard, low-risk installation recommendation — no arbitrary downloads or embedded installers are present in the skill bundle itself.
Credentials
Although the skill metadata lists no required env vars or config paths, the runtime instructions require Google credentials (service account JSON or Application Default Credentials) and reference the GOOGLE_APPLICATION_CREDENTIALS env var and a default credentials file path. Not declaring these required credentials in metadata is a proportionality/information mismatch and reduces transparency about what secrets the agent will need access to.
Persistence & Privilege
The skill does not request persistent/always-on privileges and is user-invocable only. It does not declare any behavior that would modify other skills or system-wide agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install google-search-console-open-cli
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /google-search-console-open-cli 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
**Major breaking change: CLI has been reworked for a new interface, authentication method, output, and workflow.** - Switches from `gsc` to `google-search-console-cli` command, with a new command structure and argument format. - Changes authentication: now uses Google service account credentials (preferred via env var, supports ADC and per-command flag). - Updates all subcommands (`query`, `sites`, `site`, `sitemaps`, `inspect`, batching, etc.) and parameters to the new CLI interface. - Simplifies output: JSON by default, with optional compact NDJSON for batch/pipe use. - Adds auto-pagination support for large query exports using the `--all` flag. - Introduces richer documentation for filters (dimension filter groups), country/device codes, and practical CLI examples. This release is **not backward-compatible** with the previous version (`gsc`). Please follow the new setup, authentication, and usage guidelines.
元数据
Slug google-search-console-open-cli
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Google Search Console CLI 是什么?

Google Search Console data analysis and site management via google-search-console-cli. Use when the user wants to check search performance, analyze queries,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 87 次。

如何安装 Google Search Console CLI?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install google-search-console-open-cli」即可一键安装,无需额外配置。

Google Search Console CLI 是免费的吗?

是的,Google Search Console CLI 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Google Search Console CLI 支持哪些平台?

Google Search Console CLI 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Google Search Console CLI?

由 Bin-Huang(@bin-huang)开发并维护,当前版本 v1.0.0。

💬 留言讨论