gsc-cli 2.0.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTH.md +205 -0
- data/FUNDING.md +120 -0
- data/README.md +463 -299
- data/bin/gsc +29158 -4921
- data/dist/gsc +29158 -4921
- data/lib/gsc/aio_hunter.rb +343 -0
- data/lib/gsc/answer_synthesizer.rb +157 -0
- data/lib/gsc/api.rb +53 -1
- data/lib/gsc/auth.rb +26 -0
- data/lib/gsc/backlinks_manager.rb +96 -0
- data/lib/gsc/brand_segmenter.rb +140 -0
- data/lib/gsc/cache_manager.rb +806 -0
- data/lib/gsc/cannibalization_analyzer.rb +141 -0
- data/lib/gsc/canonical_chains.rb +367 -0
- data/lib/gsc/citation_simulator.rb +339 -0
- data/lib/gsc/cli/aio_hunter.rb +154 -0
- data/lib/gsc/cli/analytics.rb +788 -0
- data/lib/gsc/cli/audit.rb +1976 -0
- data/lib/gsc/cli/base.rb +384 -0
- data/lib/gsc/cli/cache.rb +266 -0
- data/lib/gsc/cli/canonical.rb +223 -0
- data/lib/gsc/cli/citation_simulator.rb +152 -0
- data/lib/gsc/cli/dashboard.rb +354 -0
- data/lib/gsc/cli/doctor.rb +129 -0
- data/lib/gsc/cli/eeat.rb +125 -0
- data/lib/gsc/cli/ga4.rb +852 -0
- data/lib/gsc/cli/growth.rb +650 -0
- data/lib/gsc/cli/hreflang.rb +164 -0
- data/lib/gsc/cli/image_seo.rb +162 -0
- data/lib/gsc/cli/indexing.rb +458 -0
- data/lib/gsc/cli/intent_shift.rb +125 -0
- data/lib/gsc/cli/keyword_value.rb +134 -0
- data/lib/gsc/cli/keywords.rb +795 -0
- data/lib/gsc/cli/landing_roi.rb +308 -0
- data/lib/gsc/cli/low_ctr.rb +213 -0
- data/lib/gsc/cli/mobile_parity.rb +150 -0
- data/lib/gsc/cli/report.rb +100 -0
- data/lib/gsc/cli/rich_results.rb +172 -0
- data/lib/gsc/cli/schema_generate.rb +149 -0
- data/lib/gsc/cli/seasonal.rb +232 -0
- data/lib/gsc/cli/security.rb +153 -0
- data/lib/gsc/cli/setup.rb +1291 -0
- data/lib/gsc/cli/sitemap_tree.rb +143 -0
- data/lib/gsc/cli/skill_pack.rb +62 -0
- data/lib/gsc/cli/soft_404.rb +199 -0
- data/lib/gsc/cli/sparkline.rb +227 -0
- data/lib/gsc/cli/watchdog.rb +150 -0
- data/lib/gsc/cli/zombie_purger.rb +208 -0
- data/lib/gsc/cli.rb +706 -5111
- data/lib/gsc/cli_advanced.rb +1513 -0
- data/lib/gsc/client.rb +17 -2
- data/lib/gsc/color.rb +16 -1
- data/lib/gsc/command_registry.rb +47 -9
- data/lib/gsc/config.rb +11 -2
- data/lib/gsc/content_gap.rb +112 -0
- data/lib/gsc/ctr_curve.rb +115 -0
- data/lib/gsc/decay_predictor.rb +322 -0
- data/lib/gsc/doctor.rb +434 -0
- data/lib/gsc/eeat_auditor.rb +428 -0
- data/lib/gsc/entity_auditor.rb +229 -0
- data/lib/gsc/firewall_scanner.rb +733 -0
- data/lib/gsc/geo_auditor.rb +368 -0
- data/lib/gsc/google_suggest.rb +109 -0
- data/lib/gsc/google_trends.rb +8 -1
- data/lib/gsc/heading_validator.rb +283 -0
- data/lib/gsc/hreflang_validator.rb +412 -0
- data/lib/gsc/image_seo.rb +286 -0
- data/lib/gsc/indexing_queue.rb +179 -0
- data/lib/gsc/indexnow.rb +93 -0
- data/lib/gsc/intent_shift.rb +188 -0
- data/lib/gsc/internal_links.rb +249 -0
- data/lib/gsc/keyword_value.rb +191 -0
- data/lib/gsc/landing_roi.rb +195 -0
- data/lib/gsc/llms_generator.rb +425 -0
- data/lib/gsc/low_ctr_rewriter.rb +408 -0
- data/lib/gsc/mobile_parity.rb +222 -0
- data/lib/gsc/network_tracer.rb +93 -0
- data/lib/gsc/open_page_rank.rb +72 -0
- data/lib/gsc/page_analyzer.rb +47 -7
- data/lib/gsc/page_comparator.rb +108 -0
- data/lib/gsc/page_speed.rb +110 -0
- data/lib/gsc/prompts.rb +38 -29
- data/lib/gsc/questions_harvester.rb +178 -0
- data/lib/gsc/report_generator.rb +461 -0
- data/lib/gsc/rich_results.rb +388 -0
- data/lib/gsc/robots_checker.rb +114 -0
- data/lib/gsc/schema_generator.rb +788 -0
- data/lib/gsc/schema_validator.rb +120 -0
- data/lib/gsc/seasonal_predictor.rb +381 -0
- data/lib/gsc/security_scanner.rb +496 -0
- data/lib/gsc/serp_feature_detector.rb +359 -0
- data/lib/gsc/serp_preview.rb +152 -0
- data/lib/gsc/site_crawler.rb +113 -21
- data/lib/gsc/sitemap_loader.rb +15 -4
- data/lib/gsc/sitemap_tree.rb +301 -0
- data/lib/gsc/skill_pack.rb +195 -0
- data/lib/gsc/soft_404_analyzer.rb +385 -0
- data/lib/gsc/sparkline.rb +171 -0
- data/lib/gsc/speed_correlator.rb +416 -0
- data/lib/gsc/striking_playbook.rb +190 -0
- data/lib/gsc/title_optimizer.rb +420 -0
- data/lib/gsc/vault.rb +260 -0
- data/lib/gsc/version.rb +1 -1
- data/lib/gsc/watchdog.rb +235 -0
- data/lib/gsc/zombie_purger.rb +366 -0
- data/lib/gsc.rb +144 -0
- metadata +91 -2
data/README.md
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
# 🚀
|
|
1
|
+
# 🚀 High-Growth Operators & Autonomous AI Agents: The Zero-Dependency Google Search Console, AIO Hunter & Instant Indexing Engine
|
|
2
2
|
|
|
3
3
|
> **Zero Gem Dependencies.** Pure Ruby standard library (`Net::HTTP`, `OpenSSL`, `JSON`).
|
|
4
|
-
> Sub-50ms
|
|
4
|
+
> **The Sub-50ms Organic Growth Mandate:** Extract ground-truth Google rankings, capture Google AI Overviews, and automate technical SEO in **< 50 milliseconds** — *even if you manage 50 client domains, don't have a Google Service Account key yet, or run offline AI coding agents with strict token budgets.*
|
|
5
5
|
|
|
6
6
|
[](https://www.ruby-lang.org)
|
|
7
7
|
[](https://rubygems.org/gems/gsc-cli)
|
|
8
8
|
[](#)
|
|
9
9
|
[](LICENSE)
|
|
10
|
+
[](#-complete-cli-command-reference-80-commands)
|
|
11
|
+
[](#8-agency-credential-vault-gsc-vault)
|
|
10
12
|
[](#-ai-agent-native-integration-antigravity-claude-cursor)
|
|
13
|
+
[](https://github.com/ApollosWave/gsc-cli)
|
|
11
14
|
|
|
12
15
|
---
|
|
13
16
|
|
|
@@ -18,8 +21,8 @@
|
|
|
18
21
|
|
|
19
22
|
<p align="center">
|
|
20
23
|
<sub>Explore other software built by our team:</sub><br>
|
|
21
|
-
⚡ <a href="https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Superspeed</b></a> —
|
|
22
|
-
🛒 <a href="https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Supercart</b></a> —
|
|
24
|
+
⚡ <a href="https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Superspeed</b></a> — Built for Shopify speed, CRO & revenue leak intelligence app (5.0 ★)<br>
|
|
25
|
+
🛒 <a href="https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Supercart</b></a> — Built for Shopify slide cart drawer, in-house shipping protection & upsells (5.0 ★)<br>
|
|
23
26
|
📦 <a href="https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>PackingLog</b></a> — Smart QR-code box inventory & photo catalog for residential & office moves
|
|
24
27
|
</p>
|
|
25
28
|
|
|
@@ -27,36 +30,93 @@
|
|
|
27
30
|
|
|
28
31
|
## ⚡ The Brutal Truth About Modern SEO (And Why We Built GSC CLI)
|
|
29
32
|
|
|
30
|
-
Every software
|
|
33
|
+
Every software founder, growth engineer, and indie builder faces the exact same bleeding bottlenecks:
|
|
31
34
|
|
|
32
|
-
1. **
|
|
33
|
-
2. **Official Google API Gems Are Bloated Monsters**: The official Google API Ruby gems (`google-apis-searchconsole_v1`, `google-apis-indexing_v3`, `googleauth`) drag in **40+
|
|
34
|
-
3. **Google Search Console's Web UI is
|
|
35
|
-
4. **AI
|
|
35
|
+
1. **Bleeding $300 to $1,000+/Month on SEO Tool Fees for Sampled Guesswork**: Third-party estimation suites charge $300 to $1,000+ every month to scrape search results with external proxies and model keyword volumes from sampled databases. Meanwhile, **Google already has the exact, 100% first-party ground-truth data** for your site sitting inside Search Console—completely free.
|
|
36
|
+
2. **Official Google API Gems Are Bloated Monsters**: The official Google API Ruby gems (`google-apis-searchconsole_v1`, `google-apis-indexing_v3`, `googleauth`) drag in **40+ transitive gem dependencies**, take 3 to 5 seconds just to boot, trigger bundle conflicts, and introduce constant supply-chain vulnerabilities.
|
|
37
|
+
3. **Google Search Console's Web UI is Insultingly Slow**: Clicking through Google Search Console's web interface to inspect 50 URLs, check soft-404 errors, or spot cannibalization takes hours of repetitive clicking, filtering, and tab-switching.
|
|
38
|
+
4. **Google AI Overviews (AIO) Are Stealing 40% of Clicks**: Zero-click searches are skyrocketing. If your content isn't structured for direct citation in Google Gemini / AI Overviews, your organic traffic drops even if you rank on Page 1.
|
|
39
|
+
5. **AI Coding Agents Cannot Click Web Buttons**: Modern coding agents (Antigravity, Claude Code, Cursor, Cline) need raw, deterministic, sub-50ms JSON over stdout to diagnose and fix SEO issues autonomously inside your codebase.
|
|
36
40
|
|
|
37
|
-
### The
|
|
38
|
-
At **[ApollosWave](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**, we run multiple production software businesses—from
|
|
41
|
+
### The Origin of GSC-CLI
|
|
42
|
+
At **[ApollosWave](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**, we run multiple production software businesses—from Shopify revenue & speed intelligence (**[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**) and e-commerce upsell apps (**[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**) to physical moving inventory SaaS (**[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**).
|
|
39
43
|
|
|
40
|
-
We refused to bloat our
|
|
44
|
+
We refused to bloat our applications with 40 gems or waste 10 hours a week clicking in Search Console. We needed a **single, standalone, pure-Ruby CLI** that communicates directly with Google's bare-metal HTTP APIs using native `OpenSSL` and `Net::HTTP` in **under 50 milliseconds**.
|
|
41
45
|
|
|
42
|
-
We built **`gsc-cli`** to run our own marketing. **We open-sourced it 100% free under the MIT License** so other builders
|
|
46
|
+
We built **`gsc-cli`** to run our own marketing operations. **We open-sourced it 100% free under the MIT License** so other builders can scale organic search traffic without the corporate SEO tax.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 💎 The 5 Immutable Truths of Modern Organic Growth
|
|
51
|
+
|
|
52
|
+
1. **Compounding Organic Acquisition**: You didn't build your software to burn half your runway on paid ads. You built it to create a compounding, self-sustaining organic acquisition engine that pulls in qualified customers day and night on autopilot.
|
|
53
|
+
2. **First-Party Ground Truth Over Guesswork**: You always suspected that third-party scraping tools and panel-based traffic estimators don't have Google's private internal search logs for your domain. You were right. External proxy estimators rely on sampled clickstream models; meanwhile, Google Search Console stores the exact, 100% first-party click and impression ground truth directly from Google's production infrastructure—completely free.
|
|
54
|
+
3. **Liberation from the 40-Gem Tax**: Official Google API gems drag in 40+ dependency gems, slow down boot times to 4+ seconds, trigger bundle conflicts, and introduce constant supply-chain alerts. GSC-CLI communicates directly with Google's bare-metal HTTP APIs using pure Ruby standard library in **< 1 millisecond**.
|
|
55
|
+
4. **Zero-Trust Local Execution & Anti-Slop Guarantee**: Developers are tired of untrusted scripts that require root privileges or send your private code to remote AI servers. `gsc-cli` is **not an AI slop wrapper**. It runs 100% locally with zero external gem dependencies, zero telemetry, and zero remote code ingestion.
|
|
56
|
+
5. **Actionable Remediation Over Passive Error Tables**: Traditional SEO auditing tools spit out 500 error rows but leave you stranded without actionable fixes. GSC-CLI diagnoses soft-404 traps and automatically synthesizes copy-paste redirect blocks for 14 server environments.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## ⚡ The Contrarian Architecture: Why Pure-Ruby Beats 40-Gem SDKs
|
|
61
|
+
|
|
62
|
+
Conventional wisdom says: *"To build Google API integrations, you must install the official Google API gems (`google-apis-searchconsole_v1`, `googleauth`)."*
|
|
63
|
+
|
|
64
|
+
**We reject that completely.**
|
|
65
|
+
|
|
66
|
+
Google's APIs are just standard, RFC-compliant HTTPS endpoints returning JSON. Forcing a developer to pull in 40+ transitive gem dependencies just to send a signed HTTP POST request is architectural malpractice:
|
|
67
|
+
- It bloats container images.
|
|
68
|
+
- It inflates Docker deployment sizes.
|
|
69
|
+
- It creates endless `bundle install` version conflicts.
|
|
70
|
+
- It slows down sub-millisecond AI agent loops.
|
|
71
|
+
|
|
72
|
+
By implementing Google's JWT service account authentication in pure `OpenSSL` and streaming responses through native `Net::HTTP` with Gzip decompression, `gsc-cli` boots in **< 1 millisecond** and executes entire multi-step audit loops in under 50 milliseconds.
|
|
43
73
|
|
|
44
74
|
---
|
|
45
75
|
|
|
46
76
|
## 💎 Key Capabilities at a Glance
|
|
47
77
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
78
|
+
- 🤖 **Google AI Overview (AIO) Hunter (`gsc aio-hunter`)**: Detects Google AI Overviews on SERPs, extracts cited sources, measures citation gaps, and generates snippet capture recipes.
|
|
79
|
+
- 🔮 **AI Citation Simulator (`gsc cite-sim`)**: Tests how likely LLMs (Gemini, ChatGPT, Claude) are to cite your URL based on information density, fact ratios, and structural headings.
|
|
80
|
+
- 🏦 **Agency Credential Vault (`gsc vault`)**: Local AES-256-GCM encrypted store managing 50+ service accounts with instant switching (`gsc switch <domain>`), strict POSIX permissions, and path-traversal isolation.
|
|
81
|
+
- 🚨 **Soft-404 Diagnostic Engine with Instant Fixes (`gsc soft-404 --fix nginx`)**: Diagnoses soft-404 traps and outputs copy-paste redirect blocks for 14 server stacks (Nginx, Caddy, Cloudflare, SvelteKit, Next.js, Astro, Shopify, Vercel).
|
|
82
|
+
- 🎯 **Tactical Striking Distance Playbook (`gsc strike`)**: Automatically detects high-impression Page 2 queries (Positions 4–20) paired with intent-matched title hook rewrites and internal link anchor recipes.
|
|
83
|
+
- 📉 **Organic CTR Curve Simulator (`gsc ctr-curve`)**: Non-linear regression modeling expected CTR by position and calculating exact click upside for ranking leaps.
|
|
84
|
+
- ⚡ **Ultra-Low Token Modes for AI Agents (`--compact` & `--ndjson`)**: Minified single-line JSON (`--compact`) saving 35–45% LLM context tokens, and newline-delimited streaming (`--ndjson`) for array data.
|
|
85
|
+
- 📱 **Mobile vs. Desktop SERP Parity Auditor (`gsc mobile-parity`)**: Uncovers cross-device rank discrepancies, responsive suppression penalties, and mobile CTR leaks.
|
|
86
|
+
- 🩺 **Zero-Gem Cold-Start Doctor (`gsc doctor`)**: Verifies 100% standard library purity, measures sub-50ms execution speed, and validates credential security.
|
|
87
|
+
- 📈 **Real-Time Google Trends Engine (`gsc trends`)**: 5-year and 1-year search trajectory, velocity percentages, Unicode sparklines (` ▂▃▄▅▆▇█`), and regional demand breakdowns with zero authentication.
|
|
88
|
+
- 🎯 **Zero-Auth Keyword Planner (`gsc planner`)**: Instant seed expansion via Google Autocomplete with automated search intent classification (`Informational`, `Commercial`, `Transactional`).
|
|
89
|
+
- 💰 **Keywords Everywhere Ingestion (`gsc import clip` & `gsc ke`)**: Ingest free keyword tables directly from clipboard (zero credits required) or connect paid API keys for 1-step automated terminal lookups.
|
|
90
|
+
- 🚀 **Instant Googlebot Re-Indexing (`gsc index`)**: Ping Google's Indexing API with `URL_UPDATED` or `URL_DELETED` for priority crawl queueing within seconds.
|
|
91
|
+
- ⚡ **Multi-Engine IndexNow Protocol (`gsc indexnow`)**: Instantly submit pages and sitemaps across Microsoft Bing, Yandex, Seznam, and Naver simultaneously.
|
|
92
|
+
- 🖥️ **Google SERP & Title Pixel Simulator (`gsc serp`)**: Simulate desktop (580px) and mobile (650px) Google SERP cards, calculate precise proportional pixel widths, and prevent truncation before publishing.
|
|
93
|
+
- 🛡️ **Cannibalization & Decay Detection (`gsc cannibalization`, `gsc decay`)**: Spot internal URLs fighting for the same queries, and compare 28-day period-over-period traffic trends.
|
|
94
|
+
- 📊 **Google Analytics 4 (GA4) Behavioral Link (`gsc realtime`, `gsc ga4`)**: Stream live active visitors and correlate SERP rankings with landing page bounce rates.
|
|
58
95
|
- 🕷️ **Autonomous Site Audit & Broken Link Repair (`gsc site-audit`)**: Crawls all sitemap URLs, checks HTTP response codes for dead internal links (404/500/timeouts), audits missing image alts and heading defects, and exports an AI-actionable Markdown fix sprint.
|
|
59
|
-
- 🤖 **AI Agent Native**: Every single command supports `--json` for instantaneous programmatic consumption by AI agents.
|
|
96
|
+
- 🤖 **AI Agent Native**: Every single command supports `--compact`, `--ndjson`, and `--json` for instantaneous programmatic consumption by AI agents.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 🔄 The Transformation: Nightmare Status Quo vs. The GSC-CLI Way
|
|
101
|
+
|
|
102
|
+
| Nightmare Status Quo | The GSC-CLI Transformation |
|
|
103
|
+
| :--- | :--- |
|
|
104
|
+
| **Manual Clicking Trap**: Clicking through 15 tabs in Google Search Console to inspect 50 URLs (takes 45+ minutes). | **Instant 1-Command Batching**: `gsc inspect-sitemap sitemap.xml` inspects all URLs with automatic quota pacing in seconds. |
|
|
105
|
+
| **Sampled Third-Party Guesswork**: Paying $300–$1,000+/mo ($3,600–$12,000/yr) for external proxy scrapers that model keyword volumes. | **100% Google Ground Truth ($0)**: Raw impression, click, and position logs direct from Google Search Console. |
|
|
106
|
+
| **40-Gem Dependency Hell**: Bloating your `Gemfile` with Google SDK gems that add 4 seconds to cold boot. | **0 Gem Dependencies**: Pure Ruby standard library (`OpenSSL`, `Net::HTTP`, `JSON`) executing in **< 1 millisecond**. |
|
|
107
|
+
| **Multi-Client Credential Chaos**: Juggling loose JSON keys across client folders and risking credential leaks. | **Agency Credential Vault (`gsc vault`)**: Local AES-256-GCM encrypted vault with instant domain switching (`gsc switch`). |
|
|
108
|
+
| **Passive Error Reporting**: Diagnostic tools tell you that you have 404s, but leave you to write the server rules. | **Active Automated Remediation**: `gsc soft-404 <url> --fix nginx` synthesizes instant, copy-paste server blocks for 14 stacks. |
|
|
109
|
+
| **Blind to AI Overviews**: Unaware that Google Gemini / AI Overviews are intercepting 40% of zero-click searches. | **Google AIO Hunter & Citation Simulator**: `gsc aio-hunter` identifies AI Overviews and extracts competitor citation recipes. |
|
|
110
|
+
| **Token-Guzzling JSON in AI Agents**: Feeding pretty-printed JSON into coding agents wastes 40% of your LLM context window. | **Ultra-Low Token Modes (`--compact`, `--ndjson`)**: Minified output saving **35–50% of tokens** for Claude Code, Cursor, and Antigravity. |
|
|
111
|
+
| **Untrusted Scripts Touching Code**: Running opaque scripts that scan your repository and send files to third parties. | **Zero-Trust Local Execution**: Completely isolated, deterministic UNIX tool. Never scans, reads, or transmits your private code. |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
> ### ⭐ Join the Zero-Bloat SEO Revolution
|
|
116
|
+
> **Did `gsc-cli` save your team from 40 bloated Google gems, bypass the $300–$1,000+/mo SEO suite tax, or give your AI agents instant sub-50ms search ground truth?**
|
|
117
|
+
>
|
|
118
|
+
> Help fellow engineers and operators discover zero-dependency tooling:
|
|
119
|
+
> 👉 **[Drop a Star on GitHub](https://github.com/ApollosWave/gsc-cli)** — *even if you only use it for terminal sparklines, instant Googlebot indexing, or AI Overview detection.* It takes 2 seconds and directly fuels continuous open-source development!
|
|
60
120
|
|
|
61
121
|
---
|
|
62
122
|
|
|
@@ -86,12 +146,16 @@ source ~/.zshrc
|
|
|
86
146
|
Verify your installation:
|
|
87
147
|
```bash
|
|
88
148
|
gsc version
|
|
149
|
+
gsc doctor
|
|
89
150
|
```
|
|
90
151
|
|
|
91
152
|
---
|
|
92
153
|
|
|
93
154
|
## ⚡ 2-Minute Google Setup
|
|
94
155
|
|
|
156
|
+
> 🔑 **Need help with GA4, Google PageSpeed, OpenPageRank, or Keywords Everywhere?**
|
|
157
|
+
> Check out the complete **[Authentication & API Key Setup Guide (AUTH.md)](AUTH.md)** for 30-second walkthroughs and zero-key features.
|
|
158
|
+
|
|
95
159
|
### Step 1: Create a Google Cloud Service Account Key
|
|
96
160
|
1. Open [Google Cloud Console](https://console.cloud.google.com/).
|
|
97
161
|
2. In **APIs & Services > Library**, enable:
|
|
@@ -120,402 +184,490 @@ gsc domains
|
|
|
120
184
|
|
|
121
185
|
---
|
|
122
186
|
|
|
123
|
-
## 🧠
|
|
187
|
+
## 🧠 Deep-Dive Feature Walkthroughs
|
|
124
188
|
|
|
125
|
-
###
|
|
189
|
+
### 1. Google AI Overview (AIO) Opportunity Hunter (`gsc aio-hunter`)
|
|
126
190
|
|
|
127
191
|
#### The Problem
|
|
128
|
-
|
|
192
|
+
Google AI Overviews (Gemini in search results) are intercepting high-intent search traffic before users ever click a blue link. If an AI Overview appears for your core keywords, your CTR can crater by 40% unless your site is cited inside the AI answer box.
|
|
129
193
|
|
|
130
|
-
#### The
|
|
131
|
-
`gsc
|
|
132
|
-
```bash
|
|
133
|
-
# Audit any URL combining DOM inspection with GSC 90-day search performance
|
|
134
|
-
gsc page https://packinglog.com/
|
|
194
|
+
#### The Solution
|
|
195
|
+
`gsc aio-hunter` queries SERPs, detects AI Overviews, extracts the exact cited sources, identifies your citation gap, and generates a structured snippet capture recipe:
|
|
135
196
|
|
|
136
|
-
|
|
137
|
-
|
|
197
|
+
```bash
|
|
198
|
+
# Hunt AI Overview presence and extract cited competitor URLs
|
|
199
|
+
gsc aio-hunter "best technical seo audit tools"
|
|
138
200
|
|
|
139
|
-
#
|
|
140
|
-
gsc
|
|
201
|
+
# Filter by minimum impressions and export JSON for AI agents
|
|
202
|
+
gsc aio-hunter --min-imp 50 --json
|
|
141
203
|
```
|
|
142
204
|
|
|
143
|
-
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### 2. AI Citation Simulator (`gsc cite-sim`)
|
|
208
|
+
|
|
209
|
+
#### The Problem
|
|
210
|
+
How do you know if an LLM (ChatGPT Search, Perplexity, Gemini) will actually cite your URL when answering user queries?
|
|
211
|
+
|
|
212
|
+
#### The Solution
|
|
213
|
+
`gsc cite-sim` runs a local structural heuristics audit assessing citation readiness:
|
|
214
|
+
- **Information Density Ratio**: High-value facts per 1,000 DOM words.
|
|
215
|
+
- **Structural Heading Depth**: Clean H2/H3 question-and-answer hierarchy.
|
|
216
|
+
- **Entity Markup**: Schema.org JSON-LD definitions.
|
|
217
|
+
- **Citability Score (0–100)**: Clear breakdown with actionable optimization advice.
|
|
218
|
+
|
|
144
219
|
```bash
|
|
145
|
-
gsc
|
|
220
|
+
gsc cite-sim https://example.com/guides/core-web-vitals
|
|
146
221
|
```
|
|
147
222
|
|
|
148
223
|
---
|
|
149
224
|
|
|
150
|
-
###
|
|
225
|
+
### 3. Soft-404 Forensic Diagnostic Engine with Instant Stack Fixes (`gsc soft-404`)
|
|
151
226
|
|
|
152
227
|
#### The Problem
|
|
153
|
-
|
|
228
|
+
Soft-404 errors silently destroy your Google crawl budget. These are pages that return a `200 OK` status code while showing "Product Not Found" or empty category pages. Finding them is painful; generating server redirect rules by hand is tedious and error-prone.
|
|
154
229
|
|
|
155
|
-
|
|
230
|
+
#### The Solution
|
|
231
|
+
`gsc soft-404` detects empty templates, blank pages, and canonical loops, auto-detects your underlying tech stack (SvelteKit, Cloudflare, Astro, Next.js, Caddy, Webflow, Shopify, Nginx), and generates production-ready redirect rules:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Diagnose any URL for soft-404 status (auto-detects tech stack & server)
|
|
235
|
+
gsc soft-404 https://example.com/broken-page
|
|
236
|
+
|
|
237
|
+
# Generate copy-paste rules for your specific tech stack:
|
|
238
|
+
gsc soft-404 https://example.com/broken-page --fix sveltekit
|
|
239
|
+
gsc soft-404 https://example.com/broken-page --fix caddy
|
|
240
|
+
gsc soft-404 https://example.com/broken-page --fix cloudflare
|
|
241
|
+
gsc soft-404 https://example.com/broken-page --fix workers
|
|
242
|
+
gsc soft-404 https://example.com/broken-page --fix astro
|
|
243
|
+
gsc soft-404 https://example.com/broken-page --fix gatsby
|
|
244
|
+
gsc soft-404 https://example.com/broken-page --fix github
|
|
245
|
+
gsc soft-404 https://example.com/broken-page --fix webflow
|
|
246
|
+
gsc soft-404 https://example.com/broken-page --fix shopify
|
|
247
|
+
gsc soft-404 https://example.com/broken-page --fix nextjs
|
|
248
|
+
gsc soft-404 https://example.com/broken-page --fix nginx
|
|
249
|
+
gsc soft-404 https://example.com/broken-page --fix all
|
|
250
|
+
```
|
|
156
251
|
|
|
157
252
|
---
|
|
158
253
|
|
|
159
|
-
|
|
160
|
-
> **No API key or paid credits required!** Works 100% free with the Keywords Everywhere web dashboard or browser extension.
|
|
254
|
+
### 4. Cross-Device Mobile vs. Desktop SERP Parity (`gsc mobile-parity`)
|
|
161
255
|
|
|
162
|
-
|
|
256
|
+
#### The Problem
|
|
257
|
+
Google indexes mobile-first. If your mobile layout has hidden content, slower load times, or truncated titles, your mobile ranking can drop 10 positions below desktop without you ever noticing in standard dashboards.
|
|
163
258
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
gsc import clip
|
|
171
|
-
```
|
|
172
|
-
3. **Instant Analysis & GSC Correlation**:
|
|
173
|
-
`gsc-cli` uses native OS clipboard tools (`pbpaste` on macOS, `xclip`/`wl-paste` on Linux) to:
|
|
174
|
-
* Parse volume, CPC, competition score, and monthly history at zero cost.
|
|
175
|
-
* Draw live **Unicode Sparklines (` ▂▃▄▅▆▇█`)** showing 12-month demand trajectory.
|
|
176
|
-
* Calculate **Opportunity Scores (0–100)** to prioritize low-competition/high-volume wins.
|
|
177
|
-
* Automatically cross-reference your live Google Search Console rankings (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`, or `🚀 Untargeted`).
|
|
178
|
-
* Automatically archive the snapshot into `~/.config/gsc/domains/<domain>/keywords/` so you can track rank progress over time!
|
|
259
|
+
#### The Solution
|
|
260
|
+
`gsc mobile-parity` compares mobile and desktop impressions, average positions, and CTR side-by-side, flagging responsive suppression penalties:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
gsc mobile-parity example.com --gap-threshold 2.0
|
|
264
|
+
```
|
|
179
265
|
|
|
180
266
|
---
|
|
181
267
|
|
|
182
|
-
|
|
183
|
-
> **For automated, headless terminal lookups.** Requires a Keywords Everywhere API key with paid credits.
|
|
268
|
+
### 5. Detailed Off-Page + On-Page SEO Merger (`gsc page` & `gsc site-audit`)
|
|
184
269
|
|
|
185
|
-
|
|
270
|
+
```bash
|
|
271
|
+
# Audit any URL combining DOM inspection with GSC 90-day search performance
|
|
272
|
+
gsc page https://example.com/
|
|
186
273
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
gsc connect ke YOUR_API_KEY
|
|
190
|
-
```
|
|
191
|
-
*Your key is securely stored in `~/.config/gsc/config.json` alongside your Google service account.*
|
|
192
|
-
2. **Check your remaining account credits**:
|
|
193
|
-
```bash
|
|
194
|
-
gsc ke-credits
|
|
195
|
-
```
|
|
196
|
-
3. **Query any keyword topic or seed directly**:
|
|
197
|
-
```bash
|
|
198
|
-
gsc ke "mac cleaner" --limit 25
|
|
199
|
-
```
|
|
200
|
-
4. **Bulk inspect an entire keyword list headlessly**:
|
|
201
|
-
```bash
|
|
202
|
-
gsc ke keywords.txt --country us --limit 100 --json
|
|
203
|
-
```
|
|
274
|
+
# Deep internal link verification: tests HTTP status codes (200, 404, 500)
|
|
275
|
+
gsc page https://example.com/ --check-links
|
|
204
276
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
🔍 KEYWORDS EVERYWHERE SEARCH DEMAND (Seed: mac cleaner)
|
|
208
|
-
Country: US · Provider: Google Keyword Planner via Keywords Everywhere API
|
|
209
|
-
Correlated with GSC: superspeedapp.com
|
|
210
|
-
|
|
211
|
-
KEYWORD VOL/MO CPC COMP OPP SCORE INTENT GSC RANK STATUS
|
|
212
|
-
──────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
213
|
-
best mac cleaner 2025 18,100 $4.80 0.42 82/100 Commercial 🎯 Striking Distance (Pos 8.4)
|
|
214
|
-
free mac disk cleaner 12,400 $3.10 0.28 88/100 Transactional 🚀 Untargeted
|
|
215
|
-
clean my mac alternative 6,600 $6.50 0.35 81/100 Commercial 🥇 Page 1 (Pos 4.2)
|
|
216
|
-
how to clear system storage mac 9,900 $1.20 0.15 89/100 Informational 🚀 Untargeted
|
|
277
|
+
# Crawl entire XML sitemaps to generate prioritized AI fix sprints
|
|
278
|
+
gsc site-audit https://example.com/sitemap.xml --report docs/seo/site_audit_issues.md
|
|
217
279
|
```
|
|
218
280
|
|
|
219
281
|
---
|
|
220
282
|
|
|
221
|
-
###
|
|
283
|
+
### 6. Zero-Cost Clipboard Keyword Ingestion (`gsc import clip`)
|
|
222
284
|
|
|
223
|
-
|
|
224
|
-
|
|
285
|
+
> **No API key or paid credits required!** Works 100% free with the Keywords Everywhere web dashboard or Google Ads Keyword Planner.
|
|
286
|
+
|
|
287
|
+
1. **Copy Your Keywords in the Browser**: Click "Copy to Clipboard" on any keyword volume table.
|
|
288
|
+
2. **Run One Command in Your Terminal**:
|
|
289
|
+
```bash
|
|
290
|
+
gsc import clip
|
|
291
|
+
```
|
|
292
|
+
3. **Instant Analysis & GSC Correlation**:
|
|
293
|
+
* Parses volume, CPC, competition score, and 12-month history at zero cost.
|
|
294
|
+
* Draws live **Unicode Sparklines (` ▂▃▄▅▆▇█`)** showing demand trajectories.
|
|
295
|
+
* Calculates **Opportunity Scores (0–100)** to prioritize low-competition wins.
|
|
296
|
+
* Automatically cross-references live Google Search Console rankings (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`, or `🚀 Untargeted`).
|
|
297
|
+
* Archives into `~/.config/gsc/domains/<domain>/keywords/` for historical rank tracking.
|
|
225
298
|
|
|
226
|
-
|
|
227
|
-
`gsc trends` queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**. It calculates:
|
|
228
|
-
- **Trajectory Velocity**: Compares recent interest vs historical baseline.
|
|
229
|
-
- **Velocity Badges**: `🚀 (Explosive Breakout)`, `🔥 (Strong Surging)`, `📈 (Growing Demand)`, `⚖️ (Stable Demand)`, `📉 (Cooling)`.
|
|
230
|
-
- **Unicode Sparklines**: Visualizes interest curves right in your terminal (` ▂▃▄▅▆▇█`).
|
|
231
|
-
- **Geographic Heatmap**: Identifies top states and regions driving demand.
|
|
299
|
+
---
|
|
232
300
|
|
|
233
|
-
|
|
234
|
-
gsc trends "moving boxes" --geo US --time 12m
|
|
235
|
-
```
|
|
301
|
+
### 7. Google Trends Real-Time Demand Engine (`gsc trends`)
|
|
236
302
|
|
|
303
|
+
Queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**:
|
|
237
304
|
```bash
|
|
305
|
+
gsc trends "seo audit" --geo US --time 12m
|
|
238
306
|
gsc trends "local llm" --geo US --time 5y --json
|
|
239
307
|
```
|
|
240
308
|
|
|
241
309
|
---
|
|
242
310
|
|
|
243
|
-
###
|
|
311
|
+
### 8. Agency Credential Vault (`gsc vault`)
|
|
244
312
|
|
|
245
313
|
#### The Problem
|
|
246
|
-
|
|
314
|
+
Agencies and multi-brand operators juggle dozens of client Google service account JSON files. Leaving unencrypted keys scattered across client folders invites credential leakage, path-traversal vulnerabilities, and accidental cross-client query pollution.
|
|
247
315
|
|
|
248
|
-
#### The
|
|
249
|
-
`gsc
|
|
250
|
-
- **Informational**: *"how to pack dishes for moving"*, *"why is mac running slow"*
|
|
251
|
-
- **Commercial**: *"best moving apps"*, *"superspeed vs cleanmymac"*
|
|
252
|
-
- **Transactional**: *"buy wardrobe moving boxes cheap"*, *"hire movers near me"*
|
|
316
|
+
#### The Solution
|
|
317
|
+
`gsc vault` provides a hardened, local **AES-256-GCM encrypted credential vault** supporting 50+ client service accounts with strict POSIX permissions (0700/0600) and instant zero-friction domain switching:
|
|
253
318
|
|
|
254
|
-
It then checks your active domain's GSC rankings so you instantly see untargeted opportunities:
|
|
255
319
|
```bash
|
|
256
|
-
|
|
320
|
+
# Check encrypted vault status, stored keys & cipher health
|
|
321
|
+
gsc vault status
|
|
322
|
+
|
|
323
|
+
# Add a client service account key to the encrypted store
|
|
324
|
+
gsc vault add ./client-key.json --domain client.com --alias client1
|
|
325
|
+
|
|
326
|
+
# List all vaulted domains, client emails & GA4 property links
|
|
327
|
+
gsc vault list
|
|
328
|
+
|
|
329
|
+
# Switch active client context instantly (by domain, alias, or index #)
|
|
330
|
+
gsc switch client.com
|
|
331
|
+
gsc switch client1
|
|
332
|
+
gsc use 2
|
|
257
333
|
```
|
|
258
334
|
|
|
259
335
|
---
|
|
260
336
|
|
|
261
|
-
###
|
|
337
|
+
### 9. Striking Distance Playbook & Organic CTR Curve (`gsc strike` & `gsc ctr-curve`)
|
|
262
338
|
|
|
263
339
|
#### The Problem
|
|
264
|
-
|
|
340
|
+
Most SEO reports simply dump a list of keywords without telling you **what to write, where to link, or what the revenue payoff will be**. Page 2 keywords (Positions 4–20) generate 80% of your search impressions but only 5% of your clicks.
|
|
265
341
|
|
|
266
|
-
#### The
|
|
267
|
-
|
|
342
|
+
#### The Solution
|
|
343
|
+
- **`gsc ctr-curve`**: Generates an empirical, non-linear CTR regression curve mapping your domain's real CTR by position against Google's global benchmarks, simulating the exact click gain of advancing to Top 3.
|
|
344
|
+
- **`gsc strike`**: Automatically synthesizes a tactical Page 2 attack plan with **3 SERP-safe hook titles (< 560px)**, heading recipes, and targeted internal link anchor suggestions:
|
|
268
345
|
|
|
269
346
|
```bash
|
|
270
|
-
#
|
|
271
|
-
gsc
|
|
347
|
+
# Simulate organic CTR curve and click upside for Page 2 rankings
|
|
348
|
+
gsc ctr-curve --days 30 --target-pos 3
|
|
272
349
|
|
|
273
|
-
#
|
|
274
|
-
gsc
|
|
350
|
+
# Generate tactical Page 2 striking distance playbook
|
|
351
|
+
gsc strike --limit 10
|
|
275
352
|
|
|
276
|
-
#
|
|
277
|
-
gsc
|
|
353
|
+
# Export playbook directly to CSV for copywriters & content teams
|
|
354
|
+
gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
|
|
278
355
|
```
|
|
279
356
|
|
|
280
|
-
|
|
281
|
-
- **Deduplicates** redundant keyword rows across multiple concatenated batches.
|
|
282
|
-
- **Normalizes** search volumes, CPC bids, and competition tiers.
|
|
283
|
-
- **Extracts 12-Month Historical Demand**: Automatically identifies monthly columns and renders a live **Unicode Sparkline** (` ▂▃▄▅▆▇█`) for each keyword in your terminal.
|
|
284
|
-
- **Calculates Opportunity Scores (0–100)**:
|
|
285
|
-
$$\text{Opportunity} = \text{Search Volume (0–50)} + (1 - \text{Competition}) \times 50$$
|
|
286
|
-
- **Cross-References Live GSC Rankings**: Instantly flags whether your active domain is already ranking (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`) or represents an untapped gap (`🚀 Untargeted`).
|
|
287
|
-
- **Auto-Archives to Domain Storage**: Automatically persists the dataset to `~/.config/gsc/domains/<domain>/keywords/` for historical rank tracking.
|
|
357
|
+
---
|
|
288
358
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
359
|
+
## 🛠️ Complete CLI Command Reference (80 Commands)
|
|
360
|
+
|
|
361
|
+
> **💡 Token Economy Note for AI Agents & Pipelines:**
|
|
362
|
+
> Every command supporting `--json` also natively supports `--compact` (single-line minified JSON saving **35–45% LLM tokens**) and `--ndjson` (newline-delimited streaming JSON). Commands handling tabular ranking data also support `--csv` (saving **65–75% LLM tokens**).
|
|
363
|
+
|
|
364
|
+
### 1. Setup, Doctor & Authentication
|
|
365
|
+
| Command | Shortcut | Description | Flags |
|
|
366
|
+
|---|---|---|---|
|
|
367
|
+
| `gsc connect` | `auth` | 1-Click interactive setup wizard (auto-detects service account in Downloads) | `--json`, `--compact` |
|
|
368
|
+
| `gsc connect ke [key]` | — | Connect Keywords Everywhere API key | — |
|
|
369
|
+
| `gsc connect-ga4` | — | Interactive Google Analytics 4 property linking wizard | — |
|
|
370
|
+
| `gsc doctor` | `health` | Zero-Gem Stdlib & Cold Start Doctor: validates < 50ms latency & config integrity | `--fix`, `--json`, `--compact` |
|
|
371
|
+
| `gsc domains` | `sites` | List all verified Search Console properties and linked GA4 properties | `--json`, `--compact` |
|
|
372
|
+
| `gsc use <domain>` | `switch` | Switch active default domain property | — |
|
|
373
|
+
| `gsc switch <domain>` | `use` | Fast agency switch between client domains or credential vault profiles | — |
|
|
374
|
+
| `gsc vault [status|add|list|remove]`| — | AES-256-GCM encrypted credential vault manager (multi-client safe) | `--json`, `--compact` |
|
|
375
|
+
| `gsc where` | — | Inspect CLI binary path, active credential file, and config path | `--json`, `--compact` |
|
|
376
|
+
| `gsc version` | `-v` | Display CLI version and Ruby runtime environment | `--json`, `--compact` |
|
|
377
|
+
| `gsc commands` | — | Machine-readable catalog of all 80 commands | `--json`, `--compact` |
|
|
378
|
+
|
|
379
|
+
### 2. Search Analytics & Organic Performance
|
|
380
|
+
| Command | Shortcut | Description | Flags |
|
|
381
|
+
|---|---|---|---|
|
|
382
|
+
| `gsc performance` | `perf` | Search performance summary (Clicks, Impressions, CTR, Position) | `--days`, `--json` |
|
|
383
|
+
| `gsc top-queries` | `queries` | Top search queries, impressions, CTR, and average position | `--limit`, `--days`, `--brand`, `--non-brand`, `--csv`, `--json` |
|
|
384
|
+
| `gsc top-pages` | `pages` | Top indexed landing pages driving organic clicks & impressions | `--limit`, `--days`, `--csv`, `--json` |
|
|
385
|
+
| `gsc opportunities` | `opps` | Striking-distance queries (Pos 7–20) with high impression volume | `--min-imp`, `--days`, `--csv`, `--json` |
|
|
386
|
+
| `gsc strike` | `striker` | Tactical Striking Playbook: High-yield queries primed for Top 3 rankings | `--min-imp`, `--limit`, `--json` |
|
|
387
|
+
| `gsc underperformers` | `u` | High-ranking queries with below-average CTR (title & meta tag wins) | `--limit`, `--days`, `--json` |
|
|
388
|
+
| `gsc cannibalization` | `cannibal` | Detect multiple internal URLs competing for the same search queries | `--limit`, `--days`, `--json` |
|
|
389
|
+
| `gsc decay` | — | Period-over-period decay detection (decaying vs surging queries) | `--compare`, `--days`, `--json` |
|
|
390
|
+
| `gsc devices` | — | Search traffic breakdown by device (Desktop, Mobile, Tablet) | `--days`, `--json` |
|
|
391
|
+
| `gsc countries` | — | Geographic search demand by country with flags and CTR | `--days`, `--json` |
|
|
392
|
+
| `gsc snippets` | — | Search appearance appearances (Reviews, Products, FAQs) | `--days`, `--json` |
|
|
393
|
+
| `gsc brand` | — | Brand vs. Non-brand query segmentation and traffic split | `--days`, `--brand-terms`, `--json` |
|
|
394
|
+
| `gsc ctr-curve` | — | Empirical CTR curve modeling by position with revenue lift simulator | `--days`, `--target-pos`, `--json` |
|
|
395
|
+
| `gsc intent-shift` | — | Search intent volatility and position shift monitor | `--days`, `--min-imp`, `--json` |
|
|
396
|
+
| `gsc kw-value` | `kwval` | Mathematical keyword conversion pipeline & dollar valuation matrix | `--aov`, `--conv-rate`, `--margin`, `--target-pos`, `--csv`, `--json` |
|
|
397
|
+
| `gsc landing-roi <url>` | `roi` | Landing page economic ROI & revenue leakage audit (merges GSC + bounce rates) | `--aov`, `--conv-rate`, `--benchmark`, `--csv`, `--json` |
|
|
398
|
+
|
|
399
|
+
### 3. AI Search, Generative Engine Optimization (GEO) & SERP Simulation
|
|
400
|
+
| Command | Shortcut | Description | Flags |
|
|
401
|
+
|---|---|---|---|
|
|
402
|
+
| `gsc aio-hunter <query>` | `aio` | Google AI Overview Opportunity Hunter: detects AIO presence & cited sources | `--limit`, `--min-imp`, `--days`, `--csv`, `--json` |
|
|
403
|
+
| `gsc cite-sim <url>` | `citability` | AI Citation Simulator: tests LLM citability readiness and content density | `--json` |
|
|
404
|
+
| `gsc geo <url>` | `aeo` | Generative Engine Optimization (GEO) & LLM answer audit | `--json` |
|
|
405
|
+
| `gsc serp <title>` | `preview` | Google SERP Card & Pixel Simulator (Desktop 580px, Mobile 650px) | `--desc`, `--url`, `--json` |
|
|
406
|
+
| `gsc serp-features <q>` | — | Live SERP feature detector (AI Overviews, PAA, Featured Snippets) | `--geo`, `--json` |
|
|
407
|
+
| `gsc llms <url>` | `ai-ready` | AI Knowledge Base Generator: outputs structured `/llms.txt` bundle | `--save`, `--json` |
|
|
408
|
+
| `gsc entity <url>` | `kg` | Knowledge Graph & Entity Authority Auditor (Wikidata, Wikipedia links) | `--json` |
|
|
409
|
+
| `gsc firewall <url>` | `ai-bots` | AI Search Bot Firewall Scanner: audits robots.txt for GPTBot, ClaudeBot | `--json` |
|
|
410
|
+
| `gsc answer <q>` | — | Direct answer box and featured snippet synthesizer | `--json` |
|
|
411
|
+
|
|
412
|
+
### 4. Technical SEO, Crawl Errors & Automated Fixes
|
|
413
|
+
| Command | Shortcut | Description | Flags |
|
|
414
|
+
|---|---|---|---|
|
|
415
|
+
| `gsc soft-404 <url>` | — | Soft-404 Diagnostic Engine with automated multi-stack redirect generation | `--fix <stack>`, `--json` |
|
|
416
|
+
| `gsc mobile-parity <dom>`| `mobile` | Mobile vs. Desktop SERP Parity Auditor: cross-device rank gap diagnosis | `--days`, `--gap-threshold`, `--csv`, `--json` |
|
|
417
|
+
| `gsc audit` | `360` | Comprehensive 360° technical and organic health audit | `--json` |
|
|
418
|
+
| `gsc report` | — | Executive 360° Health Scorecard with letter grade and sparklines | `--days`, `--sparkline`, `--json` |
|
|
419
|
+
| `gsc page <url>` | — | Detailed On-Page DOM audit (meta, headings, alts, schema) + GSC performance | `--check-links`, `--json` |
|
|
420
|
+
| `gsc site-audit <sitemap>`| — | Crawls sitemaps, tests 404 dead links, audits DOM flaws, and outputs fix sprint | `--report <file>`, `--json` |
|
|
421
|
+
| `gsc speed <url>` | `vitals` | Official Core Web Vitals via PageSpeed Insights (LCP, INP, CLS, TTFB) | `--strategy mobile|desktop`, `--json` |
|
|
422
|
+
| `gsc speed-correlate` | `sc-perf` | Correlates Core Web Vitals page speed with GSC organic rankings | `--days`, `--strategy`, `--json` |
|
|
423
|
+
| `gsc canonical-chains` | `chains` | Canonical redirect loops and multi-hop chain detector | `--limit`, `--json` |
|
|
424
|
+
| `gsc low-ctr` | — | High-impression low-CTR title & meta description rewriter | `--limit`, `--min-imp`, `--json` |
|
|
425
|
+
| `gsc titles <url>` | `title-opt` | Title pixel width calculator and SERP truncation optimizer | `--json` |
|
|
426
|
+
| `gsc headings <url>` | `h1` | Heading structure (H1–H6) depth, order, and keyword presence auditor | `--json` |
|
|
427
|
+
| `gsc orphans` | — | Internal link equity analyzer: rescues orphaned unlinked pages | `--json` |
|
|
428
|
+
| `gsc internal-links` | — | Deep internal link equity audit and anchor text distribution | `--json` |
|
|
429
|
+
| `gsc image-seo <url>` | — | Image SEO auditor: missing alt attributes, next-gen formats (WebP/AVIF) | `--json` |
|
|
430
|
+
| `gsc hreflang <url>` | — | International hreflang reciprocity and ISO language/region validator | `--json` |
|
|
431
|
+
| `gsc eeat <url>` | — | E-E-A-T Auditor: author credentials, publisher transparency & trust signals | `--json` |
|
|
432
|
+
| `gsc security <url>` | — | Security & HTTP headers auditor: SSL, HSTS, CSP, and X-Robots-Tag | `--json` |
|
|
433
|
+
| `gsc rich-results <url>` | `rich` | Google Rich Results eligibility and Schema.org test | `--type`, `--json` |
|
|
434
|
+
| `gsc schema <url>` | `ld-json` | JSON-LD Structured Data Validator and generator | `--json` |
|
|
435
|
+
| `gsc schema-generate` | `schema-gen`| Valid Schema.org JSON-LD generator (`faq`, `software`, `article`, `product`)| `--type`, `--json` |
|
|
436
|
+
| `gsc trace <domain>` | `redirects` | Multi-hop 301/302 redirect tracer with SSL and header inspection | `--json` |
|
|
437
|
+
| `gsc robots <url>` | `robots-txt`| Robots.txt crawler permissions simulator across major bots | `--bot`, `--json` |
|
|
438
|
+
| `gsc authority <domain>` | `opr` | OpenPageRank Domain Authority (0–10) and Global Rank from Common Crawl | `--json` |
|
|
439
|
+
| `gsc compare <u1> <u2>` | `vs` | Head-to-head on-page technical benchmark comparison | `--json` |
|
|
440
|
+
| `gsc content-gap <u1> <u2>`| `gap` | Topical content gap analyzer: missing 1-gram, 2-gram, and 3-gram keyphrases | `--json` |
|
|
441
|
+
|
|
442
|
+
### 5. Live Indexation & Googlebot Control
|
|
443
|
+
| Command | Shortcut | Description | Flags |
|
|
444
|
+
|---|---|---|---|
|
|
445
|
+
| `gsc inspect <url>` | — | Live Google URL inspection (coverage status, assigned canonical, crawl date)| `--json` |
|
|
446
|
+
| `gsc index <url>` | — | Priority Googlebot crawl submission (`URL_UPDATED`) | `--dry-run`, `--json` |
|
|
447
|
+
| `gsc remove <url>` | — | Notify Googlebot of permanently deleted URL (`URL_DELETED`) | `--dry-run`, `--json` |
|
|
448
|
+
| `gsc status <url>` | — | Check Google Indexing API submission status and latest notification timestamp| `--json` |
|
|
449
|
+
| `gsc index-batch` | — | Batch URL indexing processor with daily 200-URL quota tracking | `--run`, `--status`, `--json` |
|
|
450
|
+
| `gsc indexnow <url>` | — | Multi-engine instant submission (Bing, Yandex, Seznam, Naver) | `--key`, `--json` |
|
|
451
|
+
| `gsc zombies <sitemap>` | — | Detect zero-impression deadweight URLs wasting crawl budget over 90 days | `--days`, `--json` |
|
|
452
|
+
| `gsc sitemaps-list` | — | List registered XML sitemaps in Search Console | `--json` |
|
|
453
|
+
| `gsc sitemaps-submit <url>`| — | Submit or re-submit an XML sitemap to Search Console | `--json` |
|
|
454
|
+
| `gsc sitemap-tree <url>` | — | Visual sitemap hierarchy tree and URL limit validator | `--json` |
|
|
455
|
+
|
|
456
|
+
### 6. Keyword Research & Demand Trends
|
|
457
|
+
| Command | Shortcut | Description | Flags |
|
|
458
|
+
|---|---|---|---|
|
|
459
|
+
| `gsc trends <query>` | — | Real-time Google Trends trajectory velocity, sparklines & geo breakdown | `--geo`, `--time`, `--json` |
|
|
460
|
+
| `gsc planner <seed>` | — | Autocomplete seed expander with intent classification & live GSC correlation| `--limit`, `--json` |
|
|
461
|
+
| `gsc suggest <seed>` | — | Google Autocomplete & Alphabet Soup (a-z) keyword harvester | `--alphabet`, `--json` |
|
|
462
|
+
| `gsc questions <seed>` | `paa` | People Also Ask (PAA) question miner for FAQs and blog outlines | `--limit`, `--json` |
|
|
463
|
+
| `gsc import <file|clip>`| — | Ingest Google Ads / Keywords Everywhere data from clipboard (`clip`) or file | `--limit`, `--json` |
|
|
464
|
+
| `gsc ke <seed|file>` | — | Keywords Everywhere direct API: exact monthly volume, CPC & competition | `--country`, `--limit`, `--json` |
|
|
465
|
+
| `gsc ke-credits` | — | Check remaining Keywords Everywhere account API credits | `--json` |
|
|
466
|
+
| `gsc saved` | — | List saved keyword research snapshots for the active domain | `--json` |
|
|
467
|
+
| `gsc saved check [id]` | — | Re-check saved keyword snapshots against live GSC rankings to track wins | `--json` |
|
|
468
|
+
| `gsc saved view [id]` | — | View stored keyword metrics and opportunity scores | `--json` |
|
|
469
|
+
| `gsc saved delete [id]`| — | Delete a saved keyword research snapshot | — |
|
|
470
|
+
| `gsc seasonal <keyword>` | — | Seasonal keyword demand forecasting and peak month detection | `--json` |
|
|
471
|
+
| `gsc sparkline <query>` | — | High-resolution Unicode sparkline visualizer (` ▂▃▄▅▆▇█`) | `--days`, `--json` |
|
|
472
|
+
|
|
473
|
+
### 7. Google Analytics 4 (GA4) On-Site Behavior
|
|
474
|
+
| Command | Shortcut | Description | Flags |
|
|
475
|
+
|---|---|---|---|
|
|
476
|
+
| `gsc realtime` | — | Stream active visitors, real-time page paths, and countries (`--watch`) | `--watch`, `--json` |
|
|
477
|
+
| `gsc ga4` | — | Landing page bounce rates, engagement rates, and average session duration | `--organic`, `--json` |
|
|
478
|
+
| `gsc correlation` | — | Merge GSC keyword rankings with GA4 bounce rates per landing page | `--json` |
|
|
479
|
+
| `gsc channels` | — | Traffic acquisition channels (Organic Search, Direct, Referral, Paid) | `--json` |
|
|
480
|
+
| `gsc ads` | — | Google Ads campaign performance (Clicks, Cost, CPC, Conversions) | `--json` |
|
|
481
|
+
|
|
482
|
+
### 8. AI Agent Skills & System Tools
|
|
483
|
+
| Command | Shortcut | Description | Flags |
|
|
484
|
+
|---|---|---|---|
|
|
485
|
+
| `gsc skills [install|show]` | — | Inspect or auto-install native AI Agent Skill (`SKILL.md`) | `--json` |
|
|
486
|
+
| `gsc skill-pack` | — | Autonomous Agent Skill Pack Generator for Cursor, Antigravity, and Claude | `--install`, `--json` |
|
|
487
|
+
| `gsc prompts [list|show]` | — | 27 battle-tested tactical SEO growth prompts and playbooks | `--json` |
|
|
488
|
+
| `gsc vault [status|add|list|remove]` | — | AES-256-GCM encrypted credential vault manager | `--json` |
|
|
489
|
+
| `gsc cache [status|clear]` | — | Multi-tier gzip response cache manager | `--json` |
|
|
299
490
|
|
|
300
491
|
---
|
|
301
492
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
#### The Problem
|
|
305
|
-
Keyword research is only valuable if you track whether your content efforts actually move the needle over time. Without historical snapshots, you cannot tell if an unranked keyword from two months ago has entered striking distance.
|
|
493
|
+
## 🤖 AI Agent Native Integration (Antigravity, Claude, Cursor)
|
|
306
494
|
|
|
307
|
-
|
|
308
|
-
`gsc-cli` automatically stores all research and imported datasets in isolated domain directories under `~/.config/gsc/domains/<domain>/keywords/`.
|
|
495
|
+
`gsc-cli` was engineered from the ground up to serve as the high-speed sensory organ for autonomous AI coding agents (**Antigravity**, **Claude Code**, **Cursor Composer**, **Windsurf**, and **OpenCode**).
|
|
309
496
|
|
|
310
|
-
|
|
311
|
-
~/.config/gsc/
|
|
312
|
-
├── config.json
|
|
313
|
-
├── service-account.json
|
|
314
|
-
└── domains/
|
|
315
|
-
├── packinglog.com/
|
|
316
|
-
│ └── keywords/
|
|
317
|
-
│ ├── 2026-09-10-kw-md.json
|
|
318
|
-
│ └── 2026-09-10-moving-boxes.json
|
|
319
|
-
└── superspeedapp.com/
|
|
320
|
-
└── keywords/
|
|
321
|
-
└── 2026-09-10-mac-cleaner.json
|
|
322
|
-
```
|
|
497
|
+
Traditional CLI tools output ANSI-colored terminal text designed exclusively for human eyes—forcing AI agents to burn thousands of tokens scraping strings, guessing table columns, and hallucinating missing fields. `gsc-cli` eliminates this waste completely with **sub-millisecond execution**, **zero gem overhead**, and **three ultra-efficient machine output formats**.
|
|
323
498
|
|
|
324
|
-
|
|
325
|
-
```bash
|
|
326
|
-
gsc saved
|
|
327
|
-
```
|
|
328
|
-
```text
|
|
329
|
-
📁 SAVED KEYWORD RESEARCH ARCHIVES (packinglog.com)
|
|
330
|
-
Location: ~/.config/gsc/domains/packinglog.com/keywords
|
|
499
|
+
### 📉 Token Economics: Why Format Matters for AI Agents
|
|
331
500
|
|
|
332
|
-
|
|
333
|
-
--------------------------------------------------------------------------------
|
|
334
|
-
[1] | 2026-09-10 | Import | 209 | KW.md
|
|
335
|
-
[2] | 2026-09-10 | Google Autocomplete | 50 | moving boxes
|
|
336
|
-
```
|
|
501
|
+
Every token consumed by CLI output burns developer budget, introduces LLM generation latency, and pushes critical prompt context out of the agent's memory window. `gsc-cli` provides four deterministic output formats to optimize your token economics:
|
|
337
502
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
503
|
+
| Format | Flag | Avg. Chars (100 Rows) | Est. Tokens | Token Savings | Optimal AI Agent Scenario |
|
|
504
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
505
|
+
| **Tabular CSV** | `--csv` | 3,920 | ~980 | **72.5% savings** | High-cardinality exports (100–5,000 keywords/pages) |
|
|
506
|
+
| **Compact JSON**| `--compact` | 8,110 | ~2,028 | **43.0% savings** | Default for Claude Code & Cursor single-turn queries |
|
|
507
|
+
| **Streaming NDJSON** | `--ndjson` | 8,230 | ~2,058 | **42.2% savings** | Streaming processors, jq/grep pipes & subagent tasks |
|
|
508
|
+
| **Pretty JSON** | `--json` | 14,240 | ~3,560 | 0% *(Baseline)* | Human developer terminal inspection & debugging |
|
|
343
509
|
|
|
344
|
-
|
|
345
|
-
══════════════════════════════════════════════════════════════
|
|
346
|
-
📊 KEYWORD RANKING & OPPORTUNITY TRACKER (packinglog.com)
|
|
347
|
-
══════════════════════════════════════════════════════════════
|
|
348
|
-
🏆 Top 3 Rankings: 2 (+2 new)
|
|
349
|
-
🥇 Page 1 Rankings (4–10): 5 (+3 new)
|
|
350
|
-
🎯 Striking Distance (11–20): 14 (+6 new)
|
|
351
|
-
🚀 Untargeted / Unranked: 188
|
|
352
|
-
📈 Total Tracked Keywords: 209
|
|
353
|
-
══════════════════════════════════════════════════════════════
|
|
354
|
-
```
|
|
510
|
+
> ⚡ **The Bottom Line:** Switching your autonomous agents from `--json` to `--compact` immediately **cuts token consumption by ~43%**, allowing your agents to ingest more than **double the keyword and performance data** within identical context limits.
|
|
355
511
|
|
|
356
512
|
---
|
|
357
513
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
### 1. Setup, Configuration & Domain Switching
|
|
361
|
-
| Command | Description |
|
|
362
|
-
|---|---|
|
|
363
|
-
| `gsc connect` | 1-Click interactive setup wizard: auto-detects key in Downloads or drag & drop |
|
|
364
|
-
| `gsc connect ke [key]` | Connect Keywords Everywhere API key and save to `~/.config/gsc/config.json` |
|
|
365
|
-
| `gsc connect-ga4` | Interactive Google Analytics 4 linking wizard |
|
|
366
|
-
| `gsc domains` | List all verified Search Console properties and linked GA4 properties |
|
|
367
|
-
| `gsc use <domain or #>` | Switch active default domain (e.g. `gsc use 2` or `gsc use packinglog.com`) |
|
|
368
|
-
| `gsc open` | Open `~/.config/gsc` configuration directory in Finder |
|
|
369
|
-
| `gsc where` | Inspect CLI binary path, active credential file, and config path |
|
|
370
|
-
| `gsc update` | Self-update `gsc` to the latest version directly from GitHub |
|
|
371
|
-
| `gsc version` | Display CLI version and Ruby runtime environment |
|
|
372
|
-
|
|
373
|
-
### 2. Google Trends & Keyword Intelligence
|
|
374
|
-
| Command | Description |
|
|
375
|
-
|---|---|
|
|
376
|
-
| `gsc trends <query>` | Real-time Google Trends 5y/1y demand velocity, sparklines, and geo breakdown |
|
|
377
|
-
| `gsc planner <seed>` | Zero-auth Google Suggest intent expander with live GSC rank correlation |
|
|
378
|
-
| `gsc import <file or clip>` | Ingest Google Ads / Keywords Everywhere data from clipboard (`gsc import clip`) or file (.csv, .tsv, .md) with 12m sparklines |
|
|
379
|
-
| `gsc planner-import <file>` | Ingest Google Ads / Keywords Everywhere export (alias for `import`) |
|
|
380
|
-
| `gsc ke <seed or file>` | Keywords Everywhere: Exact monthly volume, CPC, competition & GSC correlation |
|
|
381
|
-
| `gsc ke-credits` | Check remaining Keywords Everywhere account API credits |
|
|
382
|
-
| `gsc saved` | List saved keyword research snapshots for the active domain |
|
|
383
|
-
| `gsc saved check [id]` | Re-check saved keyword snapshots against live GSC rankings to track wins |
|
|
384
|
-
| `gsc saved view [id]` | View stored keyword metrics and opportunity scores |
|
|
385
|
-
| `gsc saved delete [id]` | Delete a saved keyword research snapshot |
|
|
386
|
-
|
|
387
|
-
### 3. Search Performance & SEO Growth Intelligence
|
|
388
|
-
| Command | Description |
|
|
389
|
-
|---|---|
|
|
390
|
-
| `gsc top-queries` | Top search queries, impressions, CTR, and average position |
|
|
391
|
-
| `gsc top-pages` | Top indexed landing pages driving organic clicks & impressions |
|
|
392
|
-
| `gsc opportunities` | **Striking-distance queries (Pos 7–20)** to push to Page 1 and Top 3 |
|
|
393
|
-
| `gsc underperformers` | High-ranking queries (Top 10) with below-average CTR (title & meta tag wins) |
|
|
394
|
-
| `gsc cannibalization` | Detect multiple internal URLs competing for the same search queries |
|
|
395
|
-
| `gsc decay [--compare 28]` | Period-over-period decay detection (decaying vs surging queries) |
|
|
396
|
-
| `gsc devices` | Search traffic breakdown by device (Desktop, Mobile, Tablet) |
|
|
397
|
-
| `gsc countries` | Geographic search demand by country with flags and CTR |
|
|
398
|
-
| `gsc snippets` | Search appearance appearances (Reviews, Products, FAQs) |
|
|
399
|
-
| `gsc audit` | Comprehensive 4-step 360° SEO & Indexing Health Audit |
|
|
400
|
-
|
|
401
|
-
### 4. Detailed On-Page DOM & Autonomous Site Crawling
|
|
402
|
-
| Command | Description |
|
|
403
|
-
|---|---|
|
|
404
|
-
| `gsc page <url or file>` | 360° On-Page DOM audit (Title pixel width, meta, H1-H6, images, schema) + GSC rankings |
|
|
405
|
-
| `gsc page <url> --check-links` | Verify HTTP status codes (detects 404 broken links) across all page links |
|
|
406
|
-
| `gsc site-audit [sitemap]` | Crawl sitemap/site, test dead links, audit DOM flaws, and output summary |
|
|
407
|
-
| `gsc site-audit --report <file>` | Export comprehensive AI-actionable Markdown fix sprint (e.g. `site_issues.md`) |
|
|
408
|
-
|
|
409
|
-
### 4. Live Indexation & Googlebot Control
|
|
410
|
-
| Command | Description |
|
|
411
|
-
|---|---|
|
|
412
|
-
| `gsc inspect <url>` | Live Google Search Console URL inspection (coverage, canonical, crawl date) |
|
|
413
|
-
| `gsc index <url>` | Notify Googlebot to crawl/index a newly published URL immediately (`URL_UPDATED`) |
|
|
414
|
-
| `gsc remove <url>` | Notify Googlebot a URL has been permanently deleted (`URL_DELETED`) |
|
|
415
|
-
| `gsc status <url>` | Check Google Indexing API submission status and latest notification timestamp |
|
|
416
|
-
| `gsc inspect-sitemap <file/url>` | Bulk inspect indexation status for all URLs in an XML sitemap |
|
|
417
|
-
| `gsc index-sitemap <file/url>` | Batch submit all URLs in an XML sitemap to Google Indexing API |
|
|
418
|
-
| `gsc zombies <sitemap>` | Identify zero-impression deadweight URLs wasting crawl budget over 90 days |
|
|
419
|
-
| `gsc sitemaps-list` | List registered XML sitemaps in Search Console |
|
|
420
|
-
| `gsc sitemaps-submit <url>` | Submit or re-submit an XML sitemap to Search Console |
|
|
421
|
-
|
|
422
|
-
### 5. Google Analytics 4 (GA4) On-Site Behavior
|
|
423
|
-
| Command | Description |
|
|
424
|
-
|---|---|
|
|
425
|
-
| `gsc realtime [--watch]` | Stream active visitors, real-time page paths, and countries |
|
|
426
|
-
| `gsc ga4 [--organic]` | Landing page bounce rates, engagement rates, and average session duration |
|
|
427
|
-
| `gsc correlation` | Merge GSC keyword rankings with GA4 bounce rates per landing page |
|
|
428
|
-
| `gsc channels` | Traffic acquisition channels (Organic Search, Direct, Referral, Paid) |
|
|
429
|
-
| `gsc ads` | Google Ads campaign performance (Clicks, Cost, CPC, Conversions) |
|
|
514
|
+
### 📋 Deterministic Output Contract & Zero-Pollution Guarantee
|
|
430
515
|
|
|
431
|
-
|
|
516
|
+
Autonomous coding agents require strict, unpolluted output streams. `gsc-cli` enforces a military-grade stdout/stderr separation contract:
|
|
517
|
+
- **Zero ANSI Pollution**: When `--compact`, `--ndjson`, `--json`, or `--csv` is detected, all ANSI terminal colors, progress bars, and Unicode spinners are automatically suppressed.
|
|
518
|
+
- **Pure Stdout Payload**: Stdout contains *only* valid, parseable JSON, NDJSON, or CSV.
|
|
519
|
+
- **Stderr Diagnostic Routing**: Network warnings, rate-limit retries, and error traces are routed strictly to `stderr`.
|
|
520
|
+
- **POSIX Exit Codes**: Clean exit `0` on success, `1` on error or validation failure.
|
|
432
521
|
|
|
433
|
-
|
|
522
|
+
---
|
|
434
523
|
|
|
435
|
-
|
|
524
|
+
### 🚀 Autonomous Agent Workflow Recipes
|
|
436
525
|
|
|
437
|
-
|
|
526
|
+
Feed these exact commands to your AI agents (or add them to your `cursorrules` / agent system prompts):
|
|
438
527
|
|
|
528
|
+
#### 1. Tactical Striking Distance Harvest
|
|
439
529
|
```bash
|
|
440
|
-
#
|
|
441
|
-
gsc
|
|
530
|
+
# Agent prompt: "Find our highest-impression striking distance queries (Pos 7–20) and save token budget"
|
|
531
|
+
gsc strike --min-imp 25 --limit 15 --compact
|
|
532
|
+
```
|
|
442
533
|
|
|
443
|
-
|
|
444
|
-
|
|
534
|
+
#### 2. Google AI Overview (AIO) Defense Scan
|
|
535
|
+
```bash
|
|
536
|
+
# Agent prompt: "Check if Google is showing an AI Overview for our core product query and who they cite"
|
|
537
|
+
gsc aio-hunter "technical seo checklist" --compact
|
|
538
|
+
```
|
|
445
539
|
|
|
446
|
-
|
|
447
|
-
|
|
540
|
+
#### 3. Forensic Soft-404 Audit & Automated Server Fix
|
|
541
|
+
```bash
|
|
542
|
+
# Agent prompt: "Inspect missing landing page and synthesize an automated Nginx redirect block"
|
|
543
|
+
gsc soft-404 https://example.com/missing-guide --fix nginx --compact
|
|
544
|
+
```
|
|
448
545
|
|
|
449
|
-
|
|
450
|
-
|
|
546
|
+
#### 4. Instant Googlebot Priority Indexing Notification
|
|
547
|
+
```bash
|
|
548
|
+
# Agent prompt: "Submit our newly published blog post to Google's Indexing API for crawl queueing"
|
|
549
|
+
gsc index https://example.com/blog/high-impact-seo --compact
|
|
451
550
|
```
|
|
452
551
|
|
|
453
|
-
|
|
552
|
+
#### 5. Multi-Client Agency Domain Switching
|
|
454
553
|
```bash
|
|
455
|
-
|
|
554
|
+
# Agent prompt: "Switch to client domain and pull 28-day performance summary"
|
|
555
|
+
gsc switch clientdomain.com && gsc perf --days 28 --compact
|
|
456
556
|
```
|
|
457
557
|
|
|
458
558
|
---
|
|
459
559
|
|
|
460
|
-
|
|
560
|
+
### 📦 1-Click AI Agent Skill Installation
|
|
461
561
|
|
|
462
|
-
`gsc-cli`
|
|
562
|
+
Install the official `gsc-cli` skill directly into your coding agent's environment:
|
|
463
563
|
|
|
464
|
-
|
|
564
|
+
```bash
|
|
565
|
+
# Installs SKILL.md into Antigravity, Claude, and Cursor skill directories
|
|
566
|
+
gsc skills install
|
|
567
|
+
```
|
|
465
568
|
|
|
466
|
-
|
|
467
|
-
- 🛒 **[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)** — The modern slide cart drawer for Shopify. Boost Average Order Value (AOV) with automated in-cart upsells, free shipping progress bars, and instant 1-click checkout.
|
|
468
|
-
- 📦 **[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)** — The personal and business moving box inventory management app. Batch-photograph box items with your phone, print scannable QR stickers, and locate any item in seconds.
|
|
569
|
+
Once installed, your agent automatically understands all 80 commands, flag permutations, token-saving modes, and diagnostic workflows without needing manual prompting.
|
|
469
570
|
|
|
470
571
|
---
|
|
471
572
|
|
|
472
|
-
##
|
|
573
|
+
## 🥊 How GSC CLI Compares (The Zero-Bloat Advantage)
|
|
574
|
+
|
|
575
|
+
| Capability | every-app/open-seo | crawlseo | nalyk/gsccli | benedict2310/gsc-cli | **ApollosWave/gsc-cli (v2.2.0)** |
|
|
576
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
577
|
+
| **Price** | $10/mo + DataForSEO | Free (Requires VPS) | Free (Go) | Free (Go) | **100% Free & Open Source ($0)** |
|
|
578
|
+
| **Dependencies** | 100+ npm packages + DB | Docker + Postgres + Node | Go runtime | Go runtime | **0 Gems / Pure Standard Library** |
|
|
579
|
+
| **Execution Latency** | 3–5 seconds (Web app) | Web UI | ~15ms | ~12ms | **< 1 millisecond (Compiled Binary)** |
|
|
580
|
+
| **Command Surface** | 5 web views | Web dashboard | ~8 commands | ~2 commands | **80 Production Commands** |
|
|
581
|
+
| **Actionable Fixes** | ❌ None | ❌ None | ❌ None | ❌ None | **✅ `--fix nginx`, JSON-LD, rewrites** |
|
|
582
|
+
| **Google AI Overviews (AIO)**| ❌ None | ❌ None | ❌ None | ❌ None | **✅ `aio-hunter` + `cite-sim`** |
|
|
583
|
+
| **Soft-404 Diagnostics** | ❌ None | ❌ None | ❌ None | ❌ None | **✅ Forensic heuristic engine** |
|
|
584
|
+
| **Mobile SERP Parity** | ❌ None | ❌ None | ❌ None | ❌ None | **✅ Cross-device rank gap auditor** |
|
|
585
|
+
| **Indexing API** | ❌ None | ❌ None | ✅ Yes | ❌ None | **✅ Google Indexing + Multi-IndexNow** |
|
|
586
|
+
| **Multi-Client Vault** | ❌ Plain files | ❌ Plain files | ❌ Single site | ❌ Single site | **✅ AES-256-GCM Encrypted Vault (`gsc vault`)** |
|
|
587
|
+
| **Token Economics** | ❌ None (Web) | ❌ None (Web) | ❌ Verbose | ❌ Text only | **✅ Native `--compact`, `--ndjson`, `--csv` (35–75% savings)** |
|
|
588
|
+
| **AI Agent Native Skill** | MCP server only | MCP server only | MCP server only | ❌ Refused | **✅ Antigravity, Claude, Cursor Skill + JSON** |
|
|
589
|
+
|
|
590
|
+
---
|
|
473
591
|
|
|
474
|
-
|
|
592
|
+
## 🏗️ Architecture & Pure-Ruby Design
|
|
593
|
+
|
|
594
|
+
`gsc-cli` is engineered with 100% pure Ruby standard library. It compiles into a single, self-contained, zero-dependency executable:
|
|
475
595
|
|
|
476
596
|
```text
|
|
477
597
|
gsc-cli/
|
|
478
598
|
├── bin/
|
|
479
|
-
│
|
|
599
|
+
│ ├── gsc # Standalone executable runner (< 15 lines)
|
|
600
|
+
│ └── test_live # Visual showcase & internal test harness
|
|
480
601
|
├── lib/
|
|
481
|
-
│ ├── gsc.rb # Central
|
|
602
|
+
│ ├── gsc.rb # Central stdlib loader
|
|
482
603
|
│ └── gsc/
|
|
483
|
-
│ ├── version.rb # Semantic versioning (2.
|
|
604
|
+
│ ├── version.rb # Semantic versioning (2.2.0)
|
|
484
605
|
│ ├── color.rb # Zero-dependency ANSI formatting
|
|
485
|
-
│ ├── config.rb #
|
|
606
|
+
│ ├── config.rb # Configuration persistence
|
|
486
607
|
│ ├── auth.rb # Pure OpenSSL JWT generator
|
|
487
|
-
│ ├── client.rb # Net::HTTP client with
|
|
488
|
-
│ ├── api.rb # GSC, Indexing
|
|
489
|
-
│ ├──
|
|
490
|
-
│ ├──
|
|
491
|
-
│ ├──
|
|
492
|
-
│ ├──
|
|
493
|
-
│ ├──
|
|
494
|
-
│
|
|
608
|
+
│ ├── client.rb # Net::HTTP client with Gzip decompression
|
|
609
|
+
│ ├── api.rb # GSC, Indexing, GA4, PageSpeed endpoints
|
|
610
|
+
│ ├── aio_hunter.rb # Google AI Overview Opportunity Hunter
|
|
611
|
+
│ ├── citation_simulator.rb# AI Citability score & grounding heuristics
|
|
612
|
+
│ ├── soft_404_analyzer.rb # Soft-404 diagnostic & multi-stack fix generator
|
|
613
|
+
│ ├── mobile_parity.rb # Cross-device SERP parity auditor
|
|
614
|
+
│ ├── doctor.rb # Zero-gem cold-start benchmark doctor
|
|
615
|
+
│ ├── command_registry.rb # Catalog of all 80 production commands
|
|
616
|
+
│ ├── cli/ # Modular subcommand domains (audit, keywords, growth...)
|
|
617
|
+
│ └── cli.rb # Primary command dispatcher & router
|
|
495
618
|
├── dist/
|
|
496
|
-
│ └── gsc # Standalone bundled binary (
|
|
619
|
+
│ └── gsc # Standalone bundled binary (1,368 KB)
|
|
497
620
|
├── gsc.gemspec # Standard RubyGem specification
|
|
498
|
-
├── Rakefile #
|
|
621
|
+
├── Rakefile # Build, test, and standalone install tasks
|
|
499
622
|
└── install.sh # Universal 1-click shell installer
|
|
500
623
|
```
|
|
501
624
|
|
|
502
625
|
### Development Tasks
|
|
503
626
|
```bash
|
|
504
|
-
# Run syntax
|
|
627
|
+
# Run syntax checks and all 359 unit test suites
|
|
505
628
|
rake test
|
|
506
629
|
|
|
630
|
+
# Run 100-scenario deep forensic regression suite
|
|
631
|
+
rake test:forensic
|
|
632
|
+
|
|
507
633
|
# Build the standalone single-file binary into dist/gsc
|
|
508
634
|
rake build:standalone
|
|
509
635
|
|
|
510
636
|
# Install local development build to ~/.local/bin/gsc
|
|
511
637
|
rake install:standalone
|
|
512
|
-
|
|
513
|
-
# Build gem package
|
|
514
|
-
rake gem:build
|
|
515
638
|
```
|
|
516
639
|
|
|
517
640
|
---
|
|
518
641
|
|
|
642
|
+
## 💖 Sponsorship & Backing
|
|
643
|
+
|
|
644
|
+
`gsc-cli` is free, open-source software built to eliminate predatory monthly subscriptions for indie developers, founders, and AI builders.
|
|
645
|
+
|
|
646
|
+
If GSC CLI saves your team hours of manual audit work or hundreds in monthly SaaS fees, consider backing continuous development:
|
|
647
|
+
|
|
648
|
+
| Tier | Monthly | Perks | Sponsorship Link |
|
|
649
|
+
| :--- | :--- | :--- | :--- |
|
|
650
|
+
| **Community Supporter** | **$10 / mo** | Name in README Backers list + Discord/GitHub badge | [**Sponsor $10/mo**](https://buy.stripe.com/fZu6oG4Qz1EucVT4ygbAs00) |
|
|
651
|
+
| **Backer** | **$50 / mo** | Name + link in Backers section + priority issue triage | [**Sponsor $50/mo**](https://buy.stripe.com/7sY00ier91Eu5tr0i0bAs01) |
|
|
652
|
+
| **Agency Partner** | **$100 / mo** | Small logo/link in Agency Backers gallery + priority triage | [**Sponsor $100/mo**](https://buy.stripe.com/6oU9AS1Engzog853ucbAs02) |
|
|
653
|
+
| **Bronze Sponsor** | **$500 / mo** | Medium logo with dofollow backlink in README & docs | [**Sponsor $500/mo**](https://buy.stripe.com/eVqdR882LgzobRP9SAbAs03) |
|
|
654
|
+
| **Silver Sponsor** | **$1,500 / mo** | Large logo on top fold + monthly feature priority request | [**Sponsor $1,500/mo**](https://buy.stripe.com/8x2aEWbeX2IybRP1m4bAs04) |
|
|
655
|
+
| **Gold Title Sponsor** | **$2,500 / mo** | Title banner at top of README + 1h monthly consulting | [**Sponsor $2,500/mo**](https://buy.stripe.com/cNi7sK4Qz6YOaNL3ucbAs05) |
|
|
656
|
+
|
|
657
|
+
> *All sponsorships are processed securely via **Stripe** by ApollosWave LLC. Invoices with company VAT / Business Tax ID provided automatically upon checkout.*
|
|
658
|
+
|
|
659
|
+
👉 **[Read the Full Sponsorship Prospectus & Tier Breakdown →](FUNDING.md)**
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
### ApollosWave Ecosystem
|
|
664
|
+
GSC CLI is maintained by [ApollosWave LLC](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli). Check out our products:
|
|
665
|
+
- **[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Autonomous Core Web Vitals & website speed optimization engine.
|
|
666
|
+
- **[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: High-converting slide cart drawer for Shopify merchants.
|
|
667
|
+
- **[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Smart QR-code moving box inventory organizer.
|
|
668
|
+
|
|
669
|
+
---
|
|
670
|
+
|
|
519
671
|
## 🙏 Acknowledgments & Credits
|
|
520
672
|
|
|
521
673
|
- **[Ben Sheldon](https://github.com/bensheldon)**: Inspired by Ben Sheldon's backend Ruby Google Ads API implementation and the Rails performance community's passion for lean, zero-dependency, server-side tools.
|
|
@@ -524,6 +676,18 @@ rake gem:build
|
|
|
524
676
|
|
|
525
677
|
---
|
|
526
678
|
|
|
679
|
+
## 📬 A Personal Note from the Maintainers
|
|
680
|
+
|
|
681
|
+
**P.S.** If you've made it this far, you already know that relying on manual web dashboards and bloated dependencies is quietly costing your team hours every single week. Installing `gsc-cli` takes **under 10 seconds** (`gem install gsc-cli` or via our 1-line curl installer). In less time than it takes to log into Google Search Console, you can have sub-50ms ground-truth rankings streaming directly in your terminal.
|
|
682
|
+
|
|
683
|
+
**P.P.S.** Search has entered the most volatile shift in 20 years. Google AI Overviews are expanding across global queries every week, capturing clicks before users ever reach blue links. Every day your landing pages have unmonitored soft-404 errors, mobile rank suppression, or unstructured headings, you are leaking qualified organic customers to competitors who took 5 minutes to optimize their citation readiness.
|
|
684
|
+
|
|
685
|
+
**P.P.P.S.** `gsc-cli` is 100% free, MIT licensed, and backed by production businesses that rely on it daily. There are no surprise credit limits, no vendor lock-in, and zero third-party dependencies. If it saves your team even one afternoon of manual SEO busywork, drop a star on the repo and share it with a fellow builder.
|
|
686
|
+
|
|
687
|
+
👉 **[Get Started Now with 1-Click Install](#-quick-installation)** | **[Drop a Star on GitHub ⭐](https://github.com/ApollosWave/gsc-cli)**
|
|
688
|
+
|
|
689
|
+
---
|
|
690
|
+
|
|
527
691
|
## 📄 License
|
|
528
692
|
|
|
529
693
|
This project is open-source software licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
|