gsc-cli 2.1.0 → 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/README.md +410 -414
- data/bin/gsc +28067 -5661
- data/dist/gsc +29121 -5046
- 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/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 +707 -5265
- data/lib/gsc/cli_advanced.rb +987 -44
- 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 +2 -2
- 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_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 +153 -36
- data/lib/gsc/keyword_value.rb +191 -0
- data/lib/gsc/landing_roi.rb +195 -0
- data/lib/gsc/llms_generator.rb +343 -22
- data/lib/gsc/low_ctr_rewriter.rb +408 -0
- data/lib/gsc/mobile_parity.rb +222 -0
- data/lib/gsc/network_tracer.rb +8 -1
- data/lib/gsc/page_analyzer.rb +47 -7
- 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 +46 -15
- data/lib/gsc/schema_generator.rb +788 -0
- data/lib/gsc/schema_validator.rb +36 -38
- 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 +108 -22
- 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 +118 -0
- metadata +75 -1
data/README.md
CHANGED
|
@@ -1,14 +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)
|
|
11
12
|
[](#-ai-agent-native-integration-antigravity-claude-cursor)
|
|
13
|
+
[](https://github.com/ApollosWave/gsc-cli)
|
|
12
14
|
|
|
13
15
|
---
|
|
14
16
|
|
|
@@ -19,8 +21,8 @@
|
|
|
19
21
|
|
|
20
22
|
<p align="center">
|
|
21
23
|
<sub>Explore other software built by our team:</sub><br>
|
|
22
|
-
⚡ <a href="https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Superspeed</b></a> — Shopify speed, CRO & revenue leak intelligence app (5.0 ★)<br>
|
|
23
|
-
🛒 <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>
|
|
24
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
|
|
25
27
|
</p>
|
|
26
28
|
|
|
@@ -28,36 +30,93 @@
|
|
|
28
30
|
|
|
29
31
|
## ⚡ The Brutal Truth About Modern SEO (And Why We Built GSC CLI)
|
|
30
32
|
|
|
31
|
-
Every software
|
|
33
|
+
Every software founder, growth engineer, and indie builder faces the exact same bleeding bottlenecks:
|
|
32
34
|
|
|
33
|
-
1. **
|
|
34
|
-
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+
|
|
35
|
-
3. **Google Search Console's Web UI is
|
|
36
|
-
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.
|
|
37
40
|
|
|
38
|
-
### The
|
|
41
|
+
### The Origin of GSC-CLI
|
|
39
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)**).
|
|
40
43
|
|
|
41
|
-
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**.
|
|
42
45
|
|
|
43
|
-
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.
|
|
44
73
|
|
|
45
74
|
---
|
|
46
75
|
|
|
47
76
|
## 💎 Key Capabilities at a Glance
|
|
48
77
|
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
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.
|
|
59
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.
|
|
60
|
-
- 🤖 **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!
|
|
61
120
|
|
|
62
121
|
---
|
|
63
122
|
|
|
@@ -87,6 +146,7 @@ source ~/.zshrc
|
|
|
87
146
|
Verify your installation:
|
|
88
147
|
```bash
|
|
89
148
|
gsc version
|
|
149
|
+
gsc doctor
|
|
90
150
|
```
|
|
91
151
|
|
|
92
152
|
---
|
|
@@ -124,534 +184,457 @@ gsc domains
|
|
|
124
184
|
|
|
125
185
|
---
|
|
126
186
|
|
|
127
|
-
## 🧠
|
|
187
|
+
## 🧠 Deep-Dive Feature Walkthroughs
|
|
128
188
|
|
|
129
|
-
###
|
|
189
|
+
### 1. Google AI Overview (AIO) Opportunity Hunter (`gsc aio-hunter`)
|
|
130
190
|
|
|
131
191
|
#### The Problem
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
#### The Magic
|
|
135
|
-
`gsc page` merges both worlds into a single, cohesive 360° audit:
|
|
136
|
-
```bash
|
|
137
|
-
# Audit any URL combining DOM inspection with GSC 90-day search performance
|
|
138
|
-
gsc page https://packinglog.com/
|
|
139
|
-
|
|
140
|
-
# Deep internal link verification: tests HTTP status codes (200, 404, 500)
|
|
141
|
-
gsc page https://packinglog.com/ --check-links
|
|
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.
|
|
142
193
|
|
|
143
|
-
|
|
144
|
-
gsc
|
|
145
|
-
```
|
|
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:
|
|
146
196
|
|
|
147
|
-
And `gsc site-audit` crawls entire XML sitemaps to generate prioritized AI fix sprints:
|
|
148
197
|
```bash
|
|
149
|
-
|
|
198
|
+
# Hunt AI Overview presence and extract cited competitor URLs
|
|
199
|
+
gsc aio-hunter "best technical seo audit tools"
|
|
200
|
+
|
|
201
|
+
# Filter by minimum impressions and export JSON for AI agents
|
|
202
|
+
gsc aio-hunter --min-imp 50 --json
|
|
150
203
|
```
|
|
151
204
|
|
|
152
205
|
---
|
|
153
206
|
|
|
154
|
-
###
|
|
207
|
+
### 2. AI Citation Simulator (`gsc cite-sim`)
|
|
155
208
|
|
|
156
209
|
#### The Problem
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
`gsc-cli` provides **two flexible workflows** tailored to how you work:
|
|
160
|
-
|
|
161
|
-
---
|
|
210
|
+
How do you know if an LLM (ChatGPT Search, Perplexity, Gemini) will actually cite your URL when answering user queries?
|
|
162
211
|
|
|
163
|
-
####
|
|
164
|
-
|
|
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.
|
|
165
218
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
* Open [Keywords Everywhere](https://keywordseverywhere.com/) (or use their Chrome/Firefox extension or bulk keyword tool).
|
|
170
|
-
* View any table of search volumes, CPCs, and competition metrics.
|
|
171
|
-
* Click **"Copy"** / **"Copy to Clipboard"** (or select the rows and press `Cmd+C` / `Ctrl+C`).
|
|
172
|
-
2. **Run One Command in Your Terminal**:
|
|
173
|
-
```bash
|
|
174
|
-
gsc import clip
|
|
175
|
-
```
|
|
176
|
-
3. **Instant Analysis & GSC Correlation**:
|
|
177
|
-
`gsc-cli` uses native OS clipboard tools (`pbpaste` on macOS, `xclip`/`wl-paste` on Linux) to:
|
|
178
|
-
* Parse volume, CPC, competition score, and monthly history at zero cost.
|
|
179
|
-
* Draw live **Unicode Sparklines (` ▂▃▄▅▆▇█`)** showing 12-month demand trajectory.
|
|
180
|
-
* Calculate **Opportunity Scores (0–100)** to prioritize low-competition/high-volume wins.
|
|
181
|
-
* Automatically cross-reference your live Google Search Console rankings (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`, or `🚀 Untargeted`).
|
|
182
|
-
* Automatically archive the snapshot into `~/.config/gsc/domains/<domain>/keywords/` so you can track rank progress over time!
|
|
219
|
+
```bash
|
|
220
|
+
gsc cite-sim https://example.com/guides/core-web-vitals
|
|
221
|
+
```
|
|
183
222
|
|
|
184
223
|
---
|
|
185
224
|
|
|
186
|
-
|
|
187
|
-
> **For automated, headless terminal lookups.** Requires a Keywords Everywhere API key with paid credits.
|
|
225
|
+
### 3. Soft-404 Forensic Diagnostic Engine with Instant Stack Fixes (`gsc soft-404`)
|
|
188
226
|
|
|
189
|
-
|
|
227
|
+
#### The Problem
|
|
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.
|
|
190
229
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
gsc connect ke YOUR_API_KEY
|
|
194
|
-
```
|
|
195
|
-
*Your key is securely stored in `~/.config/gsc/config.json` alongside your Google service account.*
|
|
196
|
-
2. **Check your remaining account credits**:
|
|
197
|
-
```bash
|
|
198
|
-
gsc ke-credits
|
|
199
|
-
```
|
|
200
|
-
3. **Query any keyword topic or seed directly**:
|
|
201
|
-
```bash
|
|
202
|
-
gsc ke "mac cleaner" --limit 25
|
|
203
|
-
```
|
|
204
|
-
4. **Bulk inspect an entire keyword list headlessly**:
|
|
205
|
-
```bash
|
|
206
|
-
gsc ke keywords.txt --country us --limit 100 --json
|
|
207
|
-
```
|
|
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:
|
|
208
232
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
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
|
|
221
250
|
```
|
|
222
251
|
|
|
223
252
|
---
|
|
224
253
|
|
|
225
|
-
###
|
|
254
|
+
### 4. Cross-Device Mobile vs. Desktop SERP Parity (`gsc mobile-parity`)
|
|
226
255
|
|
|
227
256
|
#### The Problem
|
|
228
|
-
|
|
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.
|
|
229
258
|
|
|
230
|
-
#### The
|
|
231
|
-
`gsc
|
|
232
|
-
- **Trajectory Velocity**: Compares recent interest vs historical baseline.
|
|
233
|
-
- **Velocity Badges**: `🚀 (Explosive Breakout)`, `🔥 (Strong Surging)`, `📈 (Growing Demand)`, `⚖️ (Stable Demand)`, `📉 (Cooling)`.
|
|
234
|
-
- **Unicode Sparklines**: Visualizes interest curves right in your terminal (` ▂▃▄▅▆▇█`).
|
|
235
|
-
- **Geographic Heatmap**: Identifies top states and regions driving demand.
|
|
259
|
+
#### The Solution
|
|
260
|
+
`gsc mobile-parity` compares mobile and desktop impressions, average positions, and CTR side-by-side, flagging responsive suppression penalties:
|
|
236
261
|
|
|
237
262
|
```bash
|
|
238
|
-
gsc
|
|
263
|
+
gsc mobile-parity example.com --gap-threshold 2.0
|
|
239
264
|
```
|
|
240
265
|
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
### 5. Detailed Off-Page + On-Page SEO Merger (`gsc page` & `gsc site-audit`)
|
|
269
|
+
|
|
241
270
|
```bash
|
|
242
|
-
|
|
271
|
+
# Audit any URL combining DOM inspection with GSC 90-day search performance
|
|
272
|
+
gsc page https://example.com/
|
|
273
|
+
|
|
274
|
+
# Deep internal link verification: tests HTTP status codes (200, 404, 500)
|
|
275
|
+
gsc page https://example.com/ --check-links
|
|
276
|
+
|
|
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
|
|
243
279
|
```
|
|
244
280
|
|
|
245
281
|
---
|
|
246
282
|
|
|
247
|
-
###
|
|
283
|
+
### 6. Zero-Cost Clipboard Keyword Ingestion (`gsc import clip`)
|
|
248
284
|
|
|
249
|
-
|
|
250
|
-
|
|
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.
|
|
251
298
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
- **Commercial**: *"best moving apps"*, *"superspeed vs cleanmymac"*
|
|
256
|
-
- **Transactional**: *"buy wardrobe moving boxes cheap"*, *"hire movers near me"*
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
### 7. Google Trends Real-Time Demand Engine (`gsc trends`)
|
|
257
302
|
|
|
258
|
-
|
|
303
|
+
Queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**:
|
|
259
304
|
```bash
|
|
260
|
-
gsc
|
|
305
|
+
gsc trends "seo audit" --geo US --time 12m
|
|
306
|
+
gsc trends "local llm" --geo US --time 5y --json
|
|
261
307
|
```
|
|
262
308
|
|
|
263
309
|
---
|
|
264
310
|
|
|
265
|
-
###
|
|
311
|
+
### 8. Agency Credential Vault (`gsc vault`)
|
|
266
312
|
|
|
267
313
|
#### The Problem
|
|
268
|
-
|
|
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.
|
|
269
315
|
|
|
270
|
-
#### The
|
|
271
|
-
`gsc
|
|
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:
|
|
272
318
|
|
|
273
319
|
```bash
|
|
274
|
-
#
|
|
275
|
-
gsc
|
|
276
|
-
|
|
277
|
-
# Import a Keywords Everywhere markdown or CSV export:
|
|
278
|
-
gsc import path/to/KW.md --limit 30
|
|
320
|
+
# Check encrypted vault status, stored keys & cipher health
|
|
321
|
+
gsc vault status
|
|
279
322
|
|
|
280
|
-
#
|
|
281
|
-
gsc
|
|
282
|
-
```
|
|
323
|
+
# Add a client service account key to the encrypted store
|
|
324
|
+
gsc vault add ./client-key.json --domain client.com --alias client1
|
|
283
325
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
- **Normalizes** search volumes, CPC bids, and competition tiers.
|
|
287
|
-
- **Extracts 12-Month Historical Demand**: Automatically identifies monthly columns and renders a live **Unicode Sparkline** (` ▂▃▄▅▆▇█`) for each keyword in your terminal.
|
|
288
|
-
- **Calculates Opportunity Scores (0–100)**:
|
|
289
|
-
$$\text{Opportunity} = \text{Search Volume (0–50)} + (1 - \text{Competition}) \times 50$$
|
|
290
|
-
- **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`).
|
|
291
|
-
- **Auto-Archives to Domain Storage**: Automatically persists the dataset to `~/.config/gsc/domains/<domain>/keywords/` for historical rank tracking.
|
|
326
|
+
# List all vaulted domains, client emails & GA4 property links
|
|
327
|
+
gsc vault list
|
|
292
328
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
75 | 1,000 | $11.04 | 0.10 | Low | -69% ▄▅▅█▅▁ | 🚀 Untargeted | Navigational | moving from san francisco to new york
|
|
298
|
-
69 | 77 | $0.00 | 0.00 | Low | +0% ▄▄▄▄▄▄ | 🚀 Untargeted | Navigational | moving from dallas to orlando
|
|
299
|
-
68 | 390 | $1.99 | 0.17 | Low | +25% ▁▄▄▄██ | 🚀 Untargeted | Navigational | storage unit size calculator
|
|
300
|
-
68 | 110 | $1.74 | 0.05 | Low | -65% ▂██▁▄▁ | 🚀 Untargeted | Navigational | moving checklist app
|
|
301
|
-
64 | 30 | $2.19 | 0.05 | Low | +83% ▃▁▁▆██ | 🚀 Untargeted | Navigational | moving volume calculator
|
|
329
|
+
# Switch active client context instantly (by domain, alias, or index #)
|
|
330
|
+
gsc switch client.com
|
|
331
|
+
gsc switch client1
|
|
332
|
+
gsc use 2
|
|
302
333
|
```
|
|
303
334
|
|
|
304
335
|
---
|
|
305
336
|
|
|
306
|
-
###
|
|
337
|
+
### 9. Striking Distance Playbook & Organic CTR Curve (`gsc strike` & `gsc ctr-curve`)
|
|
307
338
|
|
|
308
339
|
#### The Problem
|
|
309
|
-
|
|
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.
|
|
310
341
|
|
|
311
|
-
#### The
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
```text
|
|
315
|
-
~/.config/gsc/
|
|
316
|
-
├── config.json
|
|
317
|
-
├── service-account.json
|
|
318
|
-
└── domains/
|
|
319
|
-
├── packinglog.com/
|
|
320
|
-
│ └── keywords/
|
|
321
|
-
│ ├── 2026-09-10-kw-md.json
|
|
322
|
-
│ └── 2026-09-10-moving-boxes.json
|
|
323
|
-
└── superspeedapp.com/
|
|
324
|
-
└── keywords/
|
|
325
|
-
└── 2026-09-10-mac-cleaner.json
|
|
326
|
-
```
|
|
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:
|
|
327
345
|
|
|
328
|
-
#### List Saved Snapshots
|
|
329
346
|
```bash
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
```text
|
|
333
|
-
📁 SAVED KEYWORD RESEARCH ARCHIVES (packinglog.com)
|
|
334
|
-
Location: ~/.config/gsc/domains/packinglog.com/keywords
|
|
335
|
-
|
|
336
|
-
# | Date | Source | Keywords | Seed / File
|
|
337
|
-
--------------------------------------------------------------------------------
|
|
338
|
-
[1] | 2026-09-10 | Import | 209 | KW.md
|
|
339
|
-
[2] | 2026-09-10 | Google Autocomplete | 50 | moving boxes
|
|
340
|
-
```
|
|
347
|
+
# Simulate organic CTR curve and click upside for Page 2 rankings
|
|
348
|
+
gsc ctr-curve --days 30 --target-pos 3
|
|
341
349
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
gsc saved check 1
|
|
346
|
-
```
|
|
350
|
+
# Generate tactical Page 2 striking distance playbook
|
|
351
|
+
gsc strike --limit 10
|
|
347
352
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
📊 KEYWORD RANKING & OPPORTUNITY TRACKER (packinglog.com)
|
|
351
|
-
══════════════════════════════════════════════════════════════
|
|
352
|
-
🏆 Top 3 Rankings: 2 (+2 new)
|
|
353
|
-
🥇 Page 1 Rankings (4–10): 5 (+3 new)
|
|
354
|
-
🎯 Striking Distance (11–20): 14 (+6 new)
|
|
355
|
-
🚀 Untargeted / Unranked: 188
|
|
356
|
-
📈 Total Tracked Keywords: 209
|
|
357
|
-
══════════════════════════════════════════════════════════════
|
|
353
|
+
# Export playbook directly to CSV for copywriters & content teams
|
|
354
|
+
gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
|
|
358
355
|
```
|
|
359
356
|
|
|
360
357
|
---
|
|
361
358
|
|
|
362
|
-
## 🛠️ Complete CLI Command Reference
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
|
369
|
-
|
|
370
|
-
| `gsc
|
|
371
|
-
| `gsc
|
|
372
|
-
| `gsc
|
|
373
|
-
| `gsc
|
|
374
|
-
| `gsc
|
|
375
|
-
| `gsc
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
|
379
|
-
|
|
380
|
-
| `gsc
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
|
384
|
-
|
|
385
|
-
| `gsc
|
|
386
|
-
| `gsc
|
|
387
|
-
| `gsc
|
|
388
|
-
| `gsc
|
|
389
|
-
| `gsc
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
|
393
|
-
|
|
394
|
-
| `gsc
|
|
395
|
-
| `gsc
|
|
396
|
-
| `gsc
|
|
397
|
-
| `gsc
|
|
398
|
-
| `gsc
|
|
399
|
-
| `gsc
|
|
400
|
-
| `gsc
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
|
407
|
-
|
|
408
|
-
| `gsc
|
|
409
|
-
| `gsc
|
|
410
|
-
| `gsc
|
|
411
|
-
| `gsc
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
|
417
|
-
|
|
418
|
-
| `gsc
|
|
419
|
-
| `gsc
|
|
420
|
-
| `gsc
|
|
421
|
-
| `gsc
|
|
422
|
-
| `gsc
|
|
423
|
-
| `gsc
|
|
424
|
-
| `gsc
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
|
428
|
-
|
|
429
|
-
| `gsc
|
|
430
|
-
| `gsc
|
|
431
|
-
| `gsc
|
|
432
|
-
| `gsc
|
|
433
|
-
| `gsc
|
|
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` |
|
|
434
490
|
|
|
435
491
|
---
|
|
436
492
|
|
|
437
493
|
## 🤖 AI Agent Native Integration (Antigravity, Claude, Cursor)
|
|
438
494
|
|
|
439
|
-
`gsc-cli` was
|
|
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**).
|
|
440
496
|
|
|
441
|
-
|
|
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**.
|
|
442
498
|
|
|
443
|
-
|
|
444
|
-
# 1. Ask your agent to inspect striking-distance keywords:
|
|
445
|
-
gsc opportunities --min-imp 20 --json
|
|
446
|
-
|
|
447
|
-
# 2. Ask your agent to audit indexation before shipping a release:
|
|
448
|
-
gsc audit --json
|
|
499
|
+
### 📉 Token Economics: Why Format Matters for AI Agents
|
|
449
500
|
|
|
450
|
-
|
|
451
|
-
gsc ke "moving boxes" --limit 50 --json
|
|
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:
|
|
452
502
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
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 |
|
|
456
509
|
|
|
457
|
-
|
|
458
|
-
```bash
|
|
459
|
-
gsc skills install
|
|
460
|
-
```
|
|
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.
|
|
461
511
|
|
|
462
512
|
---
|
|
463
513
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
`gsc-cli` is free and open-source software under the [MIT License](LICENSE). It is actively developed and maintained by the engineering team at **[ApollosWave LLC](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**.
|
|
467
|
-
|
|
468
|
-
We build tools for high-performance software, e-commerce, and everyday logistics. Check out our commercial products:
|
|
514
|
+
### 📋 Deterministic Output Contract & Zero-Pollution Guarantee
|
|
469
515
|
|
|
470
|
-
|
|
471
|
-
-
|
|
472
|
-
-
|
|
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.
|
|
473
521
|
|
|
474
522
|
---
|
|
475
523
|
|
|
476
|
-
|
|
524
|
+
### 🚀 Autonomous Agent Workflow Recipes
|
|
477
525
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
### 1. Google Autocomplete & Alphabet Soup (`gsc suggest`)
|
|
481
|
-
Harvest 100+ high-intent search suggestions across the full alphabet in seconds without paying for KeywordTool.io:
|
|
482
|
-
```bash
|
|
483
|
-
# Standard Google search suggestions
|
|
484
|
-
gsc suggest "moving boxes"
|
|
485
|
-
|
|
486
|
-
# Alphabet soup harvester (a-z permutations)
|
|
487
|
-
gsc suggest "storage units" --alphabet
|
|
488
|
-
|
|
489
|
-
# Machine-readable JSON output for AI pipelines
|
|
490
|
-
gsc suggest "commercial packaging" --alphabet --json
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
### 2. People Also Ask (PAA) Question Miner (`gsc questions`)
|
|
494
|
-
Mine real user questions directly from Google search intent modules to build instant FAQ sections and blog content outlines:
|
|
495
|
-
```bash
|
|
496
|
-
gsc questions "packing dishes"
|
|
497
|
-
```
|
|
526
|
+
Feed these exact commands to your AI agents (or add them to your `cursorrules` / agent system prompts):
|
|
498
527
|
|
|
499
|
-
|
|
500
|
-
Directly measure Google's official Core Web Vitals (LCP, INP, CLS, FCP, TTFB) and Lighthouse scores with 25,000 free queries/day:
|
|
528
|
+
#### 1. Tactical Striking Distance Harvest
|
|
501
529
|
```bash
|
|
502
|
-
#
|
|
503
|
-
gsc
|
|
504
|
-
|
|
505
|
-
# Audit desktop performance with machine-readable diagnostics
|
|
506
|
-
gsc speed https://packinglog.com/features --strategy desktop --json
|
|
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
|
|
507
532
|
```
|
|
508
533
|
|
|
509
|
-
|
|
510
|
-
Compare your page against any top-ranking competitor to uncover missing 1-gram, 2-gram, and 3-gram keyphrases and omitted headings:
|
|
534
|
+
#### 2. Google AI Overview (AIO) Defense Scan
|
|
511
535
|
```bash
|
|
512
|
-
|
|
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
|
|
513
538
|
```
|
|
514
539
|
|
|
515
|
-
|
|
516
|
-
Run an instant side-by-side comparison of titles, meta descriptions, H1 counts, image alt tags, JSON-LD schemas, and server response times:
|
|
540
|
+
#### 3. Forensic Soft-404 Audit & Automated Server Fix
|
|
517
541
|
```bash
|
|
518
|
-
|
|
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
|
|
519
544
|
```
|
|
520
545
|
|
|
521
|
-
|
|
522
|
-
Perplexity, ChatGPT, and Claude prioritize sites with clean markdown knowledge bases and structured layouts:
|
|
546
|
+
#### 4. Instant Googlebot Priority Indexing Notification
|
|
523
547
|
```bash
|
|
524
|
-
#
|
|
525
|
-
gsc
|
|
526
|
-
|
|
527
|
-
# Audit a page's citation readiness score for AI answer engines
|
|
528
|
-
gsc llms https://packinglog.com/ audit
|
|
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
|
|
529
550
|
```
|
|
530
551
|
|
|
531
|
-
|
|
532
|
-
Validate JSON-LD structured data against Google's Rich Result guidelines or generate copy-paste snippets:
|
|
552
|
+
#### 5. Multi-Client Agency Domain Switching
|
|
533
553
|
```bash
|
|
534
|
-
#
|
|
535
|
-
gsc
|
|
536
|
-
|
|
537
|
-
# Generate valid FAQPage JSON-LD snippet
|
|
538
|
-
gsc schema generate faq
|
|
539
|
-
|
|
540
|
-
# Generate valid SoftwareApplication JSON-LD snippet
|
|
541
|
-
gsc schema generate software
|
|
554
|
+
# Agent prompt: "Switch to client domain and pull 28-day performance summary"
|
|
555
|
+
gsc switch clientdomain.com && gsc perf --days 28 --compact
|
|
542
556
|
```
|
|
543
557
|
|
|
544
|
-
|
|
545
|
-
Render an exact ASCII preview of your Google desktop search snippet and OpenGraph/Twitter social cards before publishing:
|
|
546
|
-
```bash
|
|
547
|
-
gsc preview https://packinglog.com/
|
|
548
|
-
```
|
|
558
|
+
---
|
|
549
559
|
|
|
550
|
-
###
|
|
551
|
-
Trace multi-hop 301/302 redirect loops, HSTS security headers, canonical links, and `X-Robots-Tag` directives:
|
|
552
|
-
```bash
|
|
553
|
-
gsc trace packinglog.com
|
|
554
|
-
```
|
|
560
|
+
### 📦 1-Click AI Agent Skill Installation
|
|
555
561
|
|
|
556
|
-
|
|
557
|
-
Simulate crawl permissions for Googlebot, GPTBot, PerplexityBot, or ClaudeBot:
|
|
558
|
-
```bash
|
|
559
|
-
gsc robots https://packinglog.com/ /admin --bot gptbot
|
|
560
|
-
```
|
|
562
|
+
Install the official `gsc-cli` skill directly into your coding agent's environment:
|
|
561
563
|
|
|
562
|
-
### 11. Domain Authority via OpenPageRank (`gsc authority`)
|
|
563
|
-
Query PageRank (0–10) and Global Web Rank computed across Common Crawl's open graph with 300,000 free calls/month:
|
|
564
564
|
```bash
|
|
565
|
-
|
|
565
|
+
# Installs SKILL.md into Antigravity, Claude, and Cursor skill directories
|
|
566
|
+
gsc skills install
|
|
566
567
|
```
|
|
567
568
|
|
|
568
|
-
|
|
569
|
-
Ingest your official Google Search Console External Links export without third-party crawler fees:
|
|
570
|
-
```bash
|
|
571
|
-
# Ingest links from clipboard or CSV file
|
|
572
|
-
gsc backlinks import clip
|
|
573
|
-
gsc backlinks import Links_External_Pages.csv
|
|
574
|
-
|
|
575
|
-
# View top referring domains and most linked landing pages
|
|
576
|
-
gsc backlinks packinglog.com
|
|
577
|
-
```
|
|
569
|
+
Once installed, your agent automatically understands all 80 commands, flag permutations, token-saving modes, and diagnostic workflows without needing manual prompting.
|
|
578
570
|
|
|
579
571
|
---
|
|
580
572
|
|
|
581
573
|
## 🥊 How GSC CLI Compares (The Zero-Bloat Advantage)
|
|
582
574
|
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
|
597
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
598
|
-
| **Price** | $10/mo + DataForSEO fees | Free (Requires VPS) | Free / DataForSEO | **100% Free & Open Source ($0)** |
|
|
599
|
-
| **Dependencies** | 100+ npm packages + DB | Docker + Postgres + Node | Python 3.11 + pandas | **0 Gems / Pure Standard Library** |
|
|
600
|
-
| **Binary Size / Footprint** | ~300 MB+ | ~500 MB+ (Docker images) | ~150 MB (Python venv) | **368 KB (Single executable file)** |
|
|
601
|
-
| **Execution Latency** | 3–5 seconds (Web app) | Web UI | 2–4 seconds | **< 50 milliseconds** |
|
|
602
|
-
| **Google Search Console** | Indirect / DataForSEO | ✅ Direct API | ❌ None | **✅ Direct API with Gzip compression** |
|
|
603
|
-
| **Google Indexing API** | ❌ None | ❌ None | ❌ None | **✅ Direct 1-click Googlebot ping** |
|
|
604
|
-
| **Google Analytics 4** | ❌ None | ❌ None | ❌ None | **✅ Realtime, Ads, & Traffic channels** |
|
|
605
|
-
| **Google Trends** | ❌ None | ❌ None | ✅ Standalone only | **✅ Built-in velocity & sparklines** |
|
|
606
|
-
| **Site Crawler & Audits** | Paid DataForSEO crawler | ✅ Max 2k pages | ❌ None | **✅ Sitemap + SERP pixel width checks** |
|
|
607
|
-
| **Keyword Ingestion** | DataForSEO API only | ❌ Manual | ❌ None | **✅ `gsc import clip` (Free Clipboard)** |
|
|
608
|
-
| **AI Agent Native Skill** | MCP server only | MCP server only | ❌ None | **✅ Claude Code / Antigravity Skill + JSON** |
|
|
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** |
|
|
609
589
|
|
|
610
590
|
---
|
|
611
591
|
|
|
612
|
-
## 🏗️ Architecture &
|
|
592
|
+
## 🏗️ Architecture & Pure-Ruby Design
|
|
613
593
|
|
|
614
|
-
`gsc-cli` is engineered
|
|
594
|
+
`gsc-cli` is engineered with 100% pure Ruby standard library. It compiles into a single, self-contained, zero-dependency executable:
|
|
615
595
|
|
|
616
596
|
```text
|
|
617
597
|
gsc-cli/
|
|
618
598
|
├── bin/
|
|
619
|
-
│
|
|
599
|
+
│ ├── gsc # Standalone executable runner (< 15 lines)
|
|
600
|
+
│ └── test_live # Visual showcase & internal test harness
|
|
620
601
|
├── lib/
|
|
621
|
-
│ ├── gsc.rb # Central
|
|
602
|
+
│ ├── gsc.rb # Central stdlib loader
|
|
622
603
|
│ └── gsc/
|
|
623
|
-
│ ├── version.rb # Semantic versioning (2.
|
|
604
|
+
│ ├── version.rb # Semantic versioning (2.2.0)
|
|
624
605
|
│ ├── color.rb # Zero-dependency ANSI formatting
|
|
625
|
-
│ ├── config.rb #
|
|
606
|
+
│ ├── config.rb # Configuration persistence
|
|
626
607
|
│ ├── auth.rb # Pure OpenSSL JWT generator
|
|
627
|
-
│ ├── client.rb # Net::HTTP client with
|
|
628
|
-
│ ├── api.rb # GSC, Indexing
|
|
629
|
-
│ ├──
|
|
630
|
-
│ ├──
|
|
631
|
-
│ ├──
|
|
632
|
-
│ ├──
|
|
633
|
-
│ ├──
|
|
634
|
-
│
|
|
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
|
|
635
618
|
├── dist/
|
|
636
|
-
│ └── gsc # Standalone bundled binary (
|
|
619
|
+
│ └── gsc # Standalone bundled binary (1,368 KB)
|
|
637
620
|
├── gsc.gemspec # Standard RubyGem specification
|
|
638
|
-
├── Rakefile #
|
|
621
|
+
├── Rakefile # Build, test, and standalone install tasks
|
|
639
622
|
└── install.sh # Universal 1-click shell installer
|
|
640
623
|
```
|
|
641
624
|
|
|
642
625
|
### Development Tasks
|
|
643
626
|
```bash
|
|
644
|
-
# Run syntax
|
|
627
|
+
# Run syntax checks and all 359 unit test suites
|
|
645
628
|
rake test
|
|
646
629
|
|
|
630
|
+
# Run 100-scenario deep forensic regression suite
|
|
631
|
+
rake test:forensic
|
|
632
|
+
|
|
647
633
|
# Build the standalone single-file binary into dist/gsc
|
|
648
634
|
rake build:standalone
|
|
649
635
|
|
|
650
636
|
# Install local development build to ~/.local/bin/gsc
|
|
651
637
|
rake install:standalone
|
|
652
|
-
|
|
653
|
-
# Build gem package
|
|
654
|
-
rake gem:build
|
|
655
638
|
```
|
|
656
639
|
|
|
657
640
|
---
|
|
@@ -675,6 +658,7 @@ If GSC CLI saves your team hours of manual audit work or hundreds in monthly Saa
|
|
|
675
658
|
|
|
676
659
|
👉 **[Read the Full Sponsorship Prospectus & Tier Breakdown →](FUNDING.md)**
|
|
677
660
|
|
|
661
|
+
---
|
|
678
662
|
|
|
679
663
|
### ApollosWave Ecosystem
|
|
680
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:
|
|
@@ -692,6 +676,18 @@ GSC CLI is maintained by [ApollosWave LLC](https://apolloswave.com/?utm_source=g
|
|
|
692
676
|
|
|
693
677
|
---
|
|
694
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
|
+
|
|
695
691
|
## 📄 License
|
|
696
692
|
|
|
697
693
|
This project is open-source software licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
|