gsc-cli 2.2.0 β 2.2.3
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 +48 -18
- data/README.md +186 -141
- data/bin/gsc +129 -19
- data/dist/gsc +129 -19
- data/lib/gsc/cli/audit.rb +49 -1
- data/lib/gsc/cli/keywords.rb +7 -7
- data/lib/gsc/cli_advanced.rb +49 -1
- data/lib/gsc/page_speed.rb +22 -8
- data/lib/gsc/version.rb +1 -1
- metadata +1 -1
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# π
|
|
1
|
+
# π GSC-CLI: The Zero-Gem Google Search Console & Technical SEO Engine in Pure Ruby
|
|
2
2
|
|
|
3
3
|
> **Zero Gem Dependencies.** Pure Ruby standard library (`Net::HTTP`, `OpenSSL`, `JSON`).
|
|
4
|
-
> **
|
|
4
|
+
> **Sub-millisecond Google Search Console inspection, instant Googlebot indexing, and AI Overview detection in pure standard library.** Extract first-party Google rankings, automate technical SEO audits, and generate server-side remediation rules in **< 50 milliseconds** with zero external dependencies.
|
|
5
5
|
|
|
6
6
|
[](https://www.ruby-lang.org)
|
|
7
7
|
[](https://rubygems.org/gems/gsc-cli)
|
|
@@ -23,37 +23,44 @@
|
|
|
23
23
|
<sub>Explore other software built by our team:</sub><br>
|
|
24
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
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>
|
|
26
|
-
π¦ <a href="https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>PackingLog</b></a> β
|
|
26
|
+
π¦ <a href="https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>PackingLog</b></a> β Our newly launched physical moving inventory and QR-code tracking SaaS β where waiting weeks for Googlebot to discover new landing pages wasn't an option.
|
|
27
27
|
</p>
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
## β‘
|
|
31
|
+
## β‘ Why We Built This: Escaping the 40-Gem Tax
|
|
32
32
|
|
|
33
|
-
Every software
|
|
33
|
+
Every software engineer, technical SEO, and developer-operator managing search presence faces the exact same architectural frustrations:
|
|
34
34
|
|
|
35
|
-
1. **
|
|
36
|
-
2. **
|
|
37
|
-
3. **Google Search Console's Web UI
|
|
38
|
-
4. **Google AI Overviews (AIO)
|
|
39
|
-
5. **AI Coding Agents Cannot Click Web Buttons**: Modern coding agents (Antigravity, Claude Code, Cursor, Cline)
|
|
35
|
+
1. **The 40-Gem Dependency Tax**: The official Google API Ruby gems (`google-apis-searchconsole_v1`, `google-apis-indexing_v3`, `googleauth`, `signet`, `faraday`) pull in **40+ transitive gem dependencies**. They add 3 to 5 seconds to cold-boot time, trigger Bundler version conflicts, inflate container image sizes, and introduce ongoing supply-chain vulnerability alerts.
|
|
36
|
+
2. **Paying $300 to $1,000+/Month for Sampled Guesswork**: Third-party SEO suites charge hundreds of dollars per month to scrape search results with external proxy farms and estimate traffic using sampled third-party panels. Meanwhile, **Google Search Console provides 100% first-party ground-truth data** for your domain directly from production search logsβcompletely free.
|
|
37
|
+
3. **Google Search Console's Web UI Does Not Scale**: Inspecting 50 URLs, isolating soft-404 indexation drops, or detecting cannibalization across multiple client properties requires hours of manual tab switching, filtering, and clicking.
|
|
38
|
+
4. **Google AI Overviews (AIO) Intercepting Search Clicks**: Zero-click searches continue to expand. If technical content is not structured for citation in Gemini and AI Overviews, organic visibility drops even when ranking on Page 1.
|
|
39
|
+
5. **AI Coding Agents Cannot Click Web Buttons**: Modern coding agents (Antigravity, Claude Code, Cursor, Cline) require deterministic, sub-50ms JSON over stdout to diagnose and fix search issues directly inside the local repository.
|
|
40
40
|
|
|
41
|
-
### The Origin
|
|
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)**).
|
|
41
|
+
### π οΈ Battle-Tested in Production (The Origin)
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
`gsc-cli` was not engineered in a vacuum or built as a synthetic demo.
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
At **[ApollosWave](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**, we operate multiple high-throughput production applications:
|
|
46
|
+
- **[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Automated Core Web Vitals, INP, and speed intelligence for high-volume Shopify storefronts.
|
|
47
|
+
- **[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: High-converting slide cart and upsell infrastructure processing real-time e-commerce checkouts.
|
|
48
|
+
- **[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Our newly launched physical moving inventory and QR-code tracking SaaS β where waiting weeks for Googlebot to discover new landing pages wasn't an option.
|
|
49
|
+
|
|
50
|
+
Managing Search Console indexing, sitemap trees, and SERP positions across these live codebases meant either pulling in 40+ bloated API gems, burning hours clicking in Google's web UI, or paying thousands every year for sampled proxy scrapers.
|
|
51
|
+
|
|
52
|
+
We built **`gsc-cli`** as our internal engine to automate Googlebot indexing and search diagnostics in **< 50 milliseconds** using pure standard-library Ruby.
|
|
53
|
+
|
|
54
|
+
We open-sourced it 100% free under the MIT License so every builder, engineering team, and operator can run first-party search automation with zero dependency bloat.
|
|
47
55
|
|
|
48
56
|
---
|
|
49
57
|
|
|
50
|
-
##
|
|
58
|
+
## π Core Engineering Principles
|
|
51
59
|
|
|
52
|
-
1. **
|
|
53
|
-
2. **
|
|
54
|
-
3. **
|
|
55
|
-
4. **Zero-Trust Local Execution
|
|
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.
|
|
60
|
+
1. **First-Party Ground Truth Over Guesswork**: Third-party estimation suites rely on sampled clickstream models and external proxy scraping. Google Search Console stores the exact, 100% first-party click, impression, and position data directly from Google's search infrastructureβcompletely free.
|
|
61
|
+
2. **Zero-Dependency Purity (< 1ms Boot Time)**: Official Google API gems drag in 40+ dependency gems, slowing down boot times and creating dependency lock-in. GSC-CLI communicates directly with Google's bare-metal HTTP APIs using pure Ruby standard library (`Net::HTTP`, `OpenSSL`, `JSON`), executing in **< 1 millisecond**.
|
|
62
|
+
3. **Actionable Remediation Over Passive Error Dumps**: Most diagnostic tools dump hundreds of error rows into a table without solutions. `gsc-cli` pairs forensic diagnostics with automated remediationβsuch as generating copy-paste redirect blocks for 14 server environments (Nginx, Caddy, Cloudflare, Next.js, Vercel, etc.) for soft-404 traps.
|
|
63
|
+
4. **Zero-Trust Local Execution (No Telemetry, No External AI Calls)**: Developer tools should respect machine resources and codebase privacy. `gsc-cli` runs 100% locally, requires zero external LLM API keys, makes zero calls to third-party AI servers, collects zero telemetry, and never reads or transmits private repository files.
|
|
57
64
|
|
|
58
65
|
---
|
|
59
66
|
|
|
@@ -86,37 +93,36 @@ By implementing Google's JWT service account authentication in pure `OpenSSL` an
|
|
|
86
93
|
- π©Ί **Zero-Gem Cold-Start Doctor (`gsc doctor`)**: Verifies 100% standard library purity, measures sub-50ms execution speed, and validates credential security.
|
|
87
94
|
- π **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
95
|
- π― **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
|
|
96
|
+
- π° **Keywords Everywhere Ingestion (`gsc import clip` & `gsc ke`)**: Ingest free keyword tables directly from clipboard (zero credits required) or connect a [Keywords Everywhere API key](https://keywordseverywhere.com/?fpr=us25sg) *(referral link)* for automated terminal lookups.
|
|
90
97
|
- π **Instant Googlebot Re-Indexing (`gsc index`)**: Ping Google's Indexing API with `URL_UPDATED` or `URL_DELETED` for priority crawl queueing within seconds.
|
|
91
98
|
- β‘ **Multi-Engine IndexNow Protocol (`gsc indexnow`)**: Instantly submit pages and sitemaps across Microsoft Bing, Yandex, Seznam, and Naver simultaneously.
|
|
92
99
|
- π₯οΈ **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
100
|
- π‘οΈ **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
101
|
- π **Google Analytics 4 (GA4) Behavioral Link (`gsc realtime`, `gsc ga4`)**: Stream live active visitors and correlate SERP rankings with landing page bounce rates.
|
|
95
102
|
- π·οΈ **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.
|
|
103
|
+
- β‘ **Dual Lab & Field Core Web Vitals (`gsc speed` & `gsc speed-correlate`)**: Audits simulated Lighthouse Lab metrics (LCP, FCP, CLS, TBT, Speed Index) alongside official 28-day Chrome User Experience Report (CrUX) Real User Monitoring (RUM) field data (LCP, INP, CLS, FCP, TTFB) and correlates page speed directly with organic GSC search rankings.
|
|
96
104
|
- π€ **AI Agent Native**: Every single command supports `--compact`, `--ndjson`, and `--json` for instantaneous programmatic consumption by AI agents.
|
|
97
105
|
|
|
98
106
|
---
|
|
99
107
|
|
|
100
|
-
##
|
|
108
|
+
## β‘ Architectural Comparison & Trade-Offs
|
|
101
109
|
|
|
102
|
-
|
|
|
110
|
+
| Traditional Stack (Official SDK / SaaS) | GSC-CLI Architecture |
|
|
103
111
|
| :--- | :--- |
|
|
104
|
-
| **Manual
|
|
112
|
+
| **Manual Web UI Bottleneck**: 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
113
|
| **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
|
|
107
|
-
| **Multi-Client Credential Chaos**: Juggling loose JSON keys across
|
|
114
|
+
| **40-Gem Dependency Tax**: Bloating your `Gemfile` with Google SDK gems that add 3β5 seconds to cold boot. | **0 Gem Dependencies**: Pure Ruby standard library (`OpenSSL`, `Net::HTTP`, `JSON`) executing in **< 1 millisecond**. |
|
|
115
|
+
| **Multi-Client Credential Chaos**: Juggling loose JSON keys across folders and risking credential leaks. | **Agency Credential Vault (`gsc vault`)**: Local AES-256-GCM encrypted vault with instant domain switching (`gsc switch`). |
|
|
108
116
|
| **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
117
|
| **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
118
|
| **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
|
|
119
|
+
| **Untrusted Third-Party Scripts**: Running opaque scripts that scan your repository or send files to external servers. | **Zero-Trust Local Execution**: Completely isolated, deterministic UNIX tool. Never scans, reads, or transmits your private code. |
|
|
112
120
|
|
|
113
121
|
---
|
|
114
122
|
|
|
115
|
-
> ### β
|
|
116
|
-
>
|
|
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!
|
|
123
|
+
> ### β Star the Repository
|
|
124
|
+
> If `gsc-cli` saved your team from 40 bloated gems or streamlined your search data pipeline:
|
|
125
|
+
> π **[Star GSC CLI on GitHub](https://github.com/ApollosWave/gsc-cli)** to support zero-dependency open-source tooling.
|
|
120
126
|
|
|
121
127
|
---
|
|
122
128
|
|
|
@@ -186,86 +192,133 @@ gsc domains
|
|
|
186
192
|
|
|
187
193
|
## π§ Deep-Dive Feature Walkthroughs
|
|
188
194
|
|
|
189
|
-
### 1.
|
|
195
|
+
### 1. Core Search Performance: Top Queries, Pages & CTR (`gsc top-queries`, `gsc top-pages`, `gsc performance`)
|
|
190
196
|
|
|
191
197
|
#### The Problem
|
|
192
|
-
Google
|
|
198
|
+
Google Search Console's web UI is sluggish, hides low-volume long-tail queries behind pagination limits, and makes cross-referencing brand vs. non-brand queries painful. Exporting CSVs to spreadsheets burns 20+ minutes every time you want to check yesterday's organic clicks.
|
|
193
199
|
|
|
194
200
|
#### The Solution
|
|
195
|
-
`gsc
|
|
201
|
+
`gsc-cli` streams your exact Google Search Console ground-truth performance directly into your terminal in **under 50 milliseconds**. Filter by brand, segment devices, compare date ranges, and export clean JSON or CSV in one command:
|
|
196
202
|
|
|
197
203
|
```bash
|
|
198
|
-
#
|
|
199
|
-
gsc
|
|
204
|
+
# Top 20 search queries with impressions, clicks, CTR, and average SERP position
|
|
205
|
+
gsc top-queries --limit 20
|
|
206
|
+
|
|
207
|
+
# Filter brand vs. non-brand queries automatically
|
|
208
|
+
gsc top-queries --brand
|
|
209
|
+
gsc top-queries --non-brand
|
|
210
|
+
|
|
211
|
+
# Top indexed landing pages driving search traffic
|
|
212
|
+
gsc top-pages --limit 15
|
|
213
|
+
|
|
214
|
+
# Overall 30-day domain performance scorecard with device & country breakdown
|
|
215
|
+
gsc performance --days 30
|
|
200
216
|
|
|
201
|
-
#
|
|
202
|
-
gsc
|
|
217
|
+
# Retrieve 100% of all queries via automated API pagination (no 1,000-row web limit)
|
|
218
|
+
gsc top-queries --all --csv > all_search_queries.csv
|
|
203
219
|
```
|
|
204
220
|
|
|
205
221
|
---
|
|
206
222
|
|
|
207
|
-
### 2.
|
|
223
|
+
### 2. Tactical Striking Distance Playbook & Organic CTR Curve (`gsc strike` & `gsc ctr-curve`)
|
|
208
224
|
|
|
209
225
|
#### The Problem
|
|
210
|
-
|
|
226
|
+
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.
|
|
211
227
|
|
|
212
228
|
#### The Solution
|
|
213
|
-
|
|
214
|
-
-
|
|
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.
|
|
229
|
+
- **`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.
|
|
230
|
+
- **`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:
|
|
218
231
|
|
|
219
232
|
```bash
|
|
220
|
-
|
|
233
|
+
# Simulate organic CTR curve and click upside for Page 2 rankings
|
|
234
|
+
gsc ctr-curve --days 30 --target-pos 3
|
|
235
|
+
|
|
236
|
+
# Generate tactical Page 2 striking distance playbook
|
|
237
|
+
gsc strike --limit 10
|
|
238
|
+
|
|
239
|
+
# Surface quick-win CTR underperformers (Top 10 ranking but low click-through)
|
|
240
|
+
gsc underperformers --min-imp 50
|
|
241
|
+
|
|
242
|
+
# Export playbook directly to CSV for copywriters & content teams
|
|
243
|
+
gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
|
|
221
244
|
```
|
|
222
245
|
|
|
223
246
|
---
|
|
224
247
|
|
|
225
|
-
### 3.
|
|
248
|
+
### 3. Instant Googlebot Priority Indexing & Live URL Inspection (`gsc index`, `gsc inspect`, `gsc indexnow`)
|
|
226
249
|
|
|
227
250
|
#### The Problem
|
|
228
|
-
|
|
251
|
+
Waiting days or weeks for Googlebot to discover new landing pages or updated documentation kills organic momentum. Meanwhile, checking if Google has indexed a URL or flagged a canonical error requires tedious manual clicking inside Search Console's URL Inspection tool.
|
|
229
252
|
|
|
230
253
|
#### The Solution
|
|
231
|
-
`gsc
|
|
254
|
+
`gsc-cli` communicates directly with Google's Indexing API and live URL Inspection API to check status and force priority crawling in seconds:
|
|
232
255
|
|
|
233
256
|
```bash
|
|
234
|
-
#
|
|
235
|
-
gsc
|
|
257
|
+
# Query live Google indexing verdict, assigned canonical, and crawl timestamp
|
|
258
|
+
gsc inspect https://example.com/blog/core-web-vitals
|
|
236
259
|
|
|
237
|
-
#
|
|
238
|
-
gsc
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
gsc
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
gsc
|
|
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
|
|
260
|
+
# Ping Googlebot to prioritize crawling a newly published or updated URL
|
|
261
|
+
gsc index https://example.com/blog/core-web-vitals
|
|
262
|
+
|
|
263
|
+
# Batch inspect an entire XML sitemap with automatic quota pacing
|
|
264
|
+
gsc inspect-sitemap https://example.com/sitemap.xml
|
|
265
|
+
|
|
266
|
+
# Multi-Engine IndexNow: Instantly notify Bing, Yandex, Seznam, and Naver simultaneously
|
|
267
|
+
gsc indexnow https://example.com/blog/core-web-vitals
|
|
250
268
|
```
|
|
251
269
|
|
|
252
270
|
---
|
|
253
271
|
|
|
254
|
-
### 4.
|
|
272
|
+
### 4. Cannibalization, Traffic Decay & Zombie Page Detection (`gsc cannibalization`, `gsc decay`, `gsc zombies`)
|
|
255
273
|
|
|
256
274
|
#### The Problem
|
|
257
|
-
|
|
275
|
+
Internal URLs competing for the same search intent (keyword cannibalization) split page equity, causing Google to oscillate rankings between pages. Meanwhile, stealth traffic decay and dead zero-click URLs quietly drain your Google crawl budget.
|
|
258
276
|
|
|
259
277
|
#### The Solution
|
|
260
|
-
`gsc
|
|
278
|
+
`gsc-cli` diagnoses algorithmic cannibalization conflicts and period-over-period decay before traffic crashes:
|
|
261
279
|
|
|
262
280
|
```bash
|
|
263
|
-
|
|
281
|
+
# Detect internal URLs fighting for the exact same queries
|
|
282
|
+
gsc cannibalization
|
|
283
|
+
|
|
284
|
+
# Period-over-period decay detection (28-day comparison: decaying vs surging queries)
|
|
285
|
+
gsc decay --compare 28
|
|
286
|
+
|
|
287
|
+
# Scan XML sitemap for 90-day zero-impression zombie pages draining crawl budget
|
|
288
|
+
gsc zombies https://example.com/sitemap.xml --purge-map
|
|
264
289
|
```
|
|
265
290
|
|
|
266
291
|
---
|
|
267
292
|
|
|
268
|
-
### 5.
|
|
293
|
+
### 5. Zero-Cost Clipboard Keyword Ingestion & Demand Trends (`gsc import clip`, `gsc trends`, `gsc planner`)
|
|
294
|
+
|
|
295
|
+
#### The Problem
|
|
296
|
+
Keyword research tools either lock data behind expensive API subscriptions or leave valuable volume data trapped in disconnected browser extensions.
|
|
297
|
+
|
|
298
|
+
#### The Solution
|
|
299
|
+
`gsc-cli` provides zero-cost clipboard ingestion and real-time demand tracking with **zero API keys required**:
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# 1. Copy any keyword table from Keywords Everywhere or Google Ads in your browser (Cmd+C)
|
|
303
|
+
# 2. Run one command to parse volumes, sparklines, and cross-reference live GSC rankings:
|
|
304
|
+
gsc import clip
|
|
305
|
+
|
|
306
|
+
# Real-time Google Trends 5y/1y search trajectory and velocity percentage (zero-auth)
|
|
307
|
+
gsc trends "technical seo audit" --geo US --time 12m
|
|
308
|
+
|
|
309
|
+
# Google Autocomplete intent expander (Informational, Commercial, Transactional)
|
|
310
|
+
gsc planner "nextjs seo"
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
### 6. Detailed Off-Page + On-Page SEO Merger & Site Audit (`gsc page` & `gsc site-audit`)
|
|
316
|
+
|
|
317
|
+
#### The Problem
|
|
318
|
+
On-page SEO checkers (titles, headings, meta tags) live in browser extensions, completely disconnected from your real Google Search Console performance data.
|
|
319
|
+
|
|
320
|
+
#### The Solution
|
|
321
|
+
`gsc page` unites on-page DOM inspection with 90-day GSC search queries, clicks, and rankings in a single terminal view:
|
|
269
322
|
|
|
270
323
|
```bash
|
|
271
324
|
# Audit any URL combining DOM inspection with GSC 90-day search performance
|
|
@@ -274,41 +327,58 @@ gsc page https://example.com/
|
|
|
274
327
|
# Deep internal link verification: tests HTTP status codes (200, 404, 500)
|
|
275
328
|
gsc page https://example.com/ --check-links
|
|
276
329
|
|
|
277
|
-
# Crawl entire XML sitemaps to
|
|
330
|
+
# Crawl entire XML sitemaps to audit dead links, missing alts, and heading hierarchy
|
|
278
331
|
gsc site-audit https://example.com/sitemap.xml --report docs/seo/site_audit_issues.md
|
|
279
332
|
```
|
|
280
333
|
|
|
281
334
|
---
|
|
282
335
|
|
|
283
|
-
###
|
|
336
|
+
### 7. Google AI Overview (AIO) Opportunity Hunter & Citation Simulator (`gsc aio-hunter` & `gsc cite-sim`)
|
|
284
337
|
|
|
285
|
-
|
|
338
|
+
#### The Problem
|
|
339
|
+
Google AI Overviews (Gemini in search results) intercept high-intent queries before users ever reach blue links. If an AI Overview appears for your core keywords, your organic CTR can crater unless your site is cited inside the AI answer box.
|
|
286
340
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
341
|
+
#### The Solution
|
|
342
|
+
`gsc aio-hunter` scans live SERPs for AI Overviews, extracts cited sources, and measures your citation readiness:
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# Hunt AI Overview presence and extract cited competitor sources
|
|
346
|
+
gsc aio-hunter "best technical seo audit tools"
|
|
347
|
+
|
|
348
|
+
# Test how likely LLMs (Gemini, ChatGPT, Perplexity) are to cite your URL
|
|
349
|
+
gsc cite-sim https://example.com/guides/core-web-vitals
|
|
350
|
+
|
|
351
|
+
# Synthesize 40β60 word high-density direct answers with FAQ schema embedding
|
|
352
|
+
gsc answer "what is soft 404 error"
|
|
353
|
+
```
|
|
298
354
|
|
|
299
355
|
---
|
|
300
356
|
|
|
301
|
-
###
|
|
357
|
+
### 8. Soft-404 Forensic Diagnostic Engine with 14-Stack Instant Fixes (`gsc soft-404`)
|
|
358
|
+
|
|
359
|
+
#### The Problem
|
|
360
|
+
Soft-404 errors silently destroy your Google crawl budget by returning `200 OK` on empty templates or missing content. Writing server redirect rules manually across different stacks is slow and error-prone.
|
|
361
|
+
|
|
362
|
+
#### The Solution
|
|
363
|
+
`gsc soft-404` detects empty templates, blank pages, and canonical loops, auto-detects your tech stack, and generates copy-paste redirect blocks for 14 server environments:
|
|
302
364
|
|
|
303
|
-
Queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**:
|
|
304
365
|
```bash
|
|
305
|
-
|
|
306
|
-
gsc
|
|
366
|
+
# Diagnose any URL for soft-404 status (auto-detects tech stack & server)
|
|
367
|
+
gsc soft-404 https://example.com/broken-page
|
|
368
|
+
|
|
369
|
+
# Generate copy-paste rules for your specific tech stack:
|
|
370
|
+
gsc soft-404 https://example.com/broken-page --fix sveltekit
|
|
371
|
+
gsc soft-404 https://example.com/broken-page --fix caddy
|
|
372
|
+
gsc soft-404 https://example.com/broken-page --fix cloudflare
|
|
373
|
+
gsc soft-404 https://example.com/broken-page --fix nextjs
|
|
374
|
+
gsc soft-404 https://example.com/broken-page --fix nginx
|
|
375
|
+
gsc soft-404 https://example.com/broken-page --fix shopify
|
|
376
|
+
gsc soft-404 https://example.com/broken-page --fix all
|
|
307
377
|
```
|
|
308
378
|
|
|
309
379
|
---
|
|
310
380
|
|
|
311
|
-
###
|
|
381
|
+
### 9. Agency Credential Vault & Instant Domain Switching (`gsc vault` & `gsc switch`)
|
|
312
382
|
|
|
313
383
|
#### The Problem
|
|
314
384
|
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.
|
|
@@ -334,28 +404,6 @@ gsc use 2
|
|
|
334
404
|
|
|
335
405
|
---
|
|
336
406
|
|
|
337
|
-
### 9. Striking Distance Playbook & Organic CTR Curve (`gsc strike` & `gsc ctr-curve`)
|
|
338
|
-
|
|
339
|
-
#### The Problem
|
|
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.
|
|
341
|
-
|
|
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:
|
|
345
|
-
|
|
346
|
-
```bash
|
|
347
|
-
# Simulate organic CTR curve and click upside for Page 2 rankings
|
|
348
|
-
gsc ctr-curve --days 30 --target-pos 3
|
|
349
|
-
|
|
350
|
-
# Generate tactical Page 2 striking distance playbook
|
|
351
|
-
gsc strike --limit 10
|
|
352
|
-
|
|
353
|
-
# Export playbook directly to CSV for copywriters & content teams
|
|
354
|
-
gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
407
|
## π οΈ Complete CLI Command Reference (80 Commands)
|
|
360
408
|
|
|
361
409
|
> **π‘ Token Economy Note for AI Agents & Pipelines:**
|
|
@@ -418,7 +466,7 @@ gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
|
|
|
418
466
|
| `gsc report` | β | Executive 360Β° Health Scorecard with letter grade and sparklines | `--days`, `--sparkline`, `--json` |
|
|
419
467
|
| `gsc page <url>` | β | Detailed On-Page DOM audit (meta, headings, alts, schema) + GSC performance | `--check-links`, `--json` |
|
|
420
468
|
| `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` |
|
|
469
|
+
| `gsc speed <url>` | `vitals` | Dual Lab (Lighthouse) & Field (CrUX 28-day RUM) Core Web Vitals (LCP, INP, CLS, TTFB) | `--strategy mobile|desktop`, `--json` |
|
|
422
470
|
| `gsc speed-correlate` | `sc-perf` | Correlates Core Web Vitals page speed with GSC organic rankings | `--days`, `--strategy`, `--json` |
|
|
423
471
|
| `gsc canonical-chains` | `chains` | Canonical redirect loops and multi-hop chain detector | `--limit`, `--json` |
|
|
424
472
|
| `gsc low-ctr` | β | High-impression low-CTR title & meta description rewriter | `--limit`, `--min-imp`, `--json` |
|
|
@@ -492,6 +540,8 @@ gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
|
|
|
492
540
|
|
|
493
541
|
## π€ AI Agent Native Integration (Antigravity, Claude, Cursor)
|
|
494
542
|
|
|
543
|
+
> π‘ **Zero External LLM Calls**: `gsc-cli` does NOT require an OpenAI or Anthropic API key and sends zero data to third-party AI servers. Everything runs locally on your machine. "AI Agent Native" refers to our deterministic `--compact` (minified JSON) and `--ndjson` flags designed to save 35β45% context tokens when called by local coding agents (Claude Code, Cursor Composer, Antigravity).
|
|
544
|
+
|
|
495
545
|
`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**).
|
|
496
546
|
|
|
497
547
|
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**.
|
|
@@ -572,20 +622,21 @@ Once installed, your agent automatically understands all 80 commands, flag permu
|
|
|
572
622
|
|
|
573
623
|
## π₯ How GSC CLI Compares (The Zero-Bloat Advantage)
|
|
574
624
|
|
|
575
|
-
| Capability |
|
|
576
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
577
|
-
| **
|
|
578
|
-
| **Dependencies** |
|
|
579
|
-
| **Execution Latency** | 3β5 seconds
|
|
580
|
-
| **
|
|
581
|
-
| **
|
|
582
|
-
| **
|
|
583
|
-
| **
|
|
584
|
-
| **
|
|
585
|
-
| **
|
|
586
|
-
| **
|
|
587
|
-
| **
|
|
588
|
-
| **
|
|
625
|
+
| Capability | Google Search Console Web UI | Official Google API SDK (40 Gems) | Enterprise SEO Suites ($300β$1,000+/mo) | **ApollosWave/gsc-cli (v2.2.2)** |
|
|
626
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
627
|
+
| **Pricing** | Free ($0) | Free ($0) | $300β$1,000+/mo ($3,600β$12,000/yr) | **100% Free & Open Source ($0)** |
|
|
628
|
+
| **Dependencies** | Web Browser only | 40+ transitive gems (`googleauth`, etc.) | SaaS Web Application | **0 Gems / Pure Standard Library** |
|
|
629
|
+
| **Boot / Execution Latency** | Slow (manual clicking) | 3β5 seconds cold boot | Web UI latency | **< 1 millisecond (Compiled Binary)** |
|
|
630
|
+
| **Data Accuracy** | 100% Google Ground Truth | 100% Google Ground Truth | Sampled external proxy estimates | **100% Google Ground Truth (Direct API)** |
|
|
631
|
+
| **CLI Command Surface** | β None (Web only) | Raw Ruby code required | β None (Web dashboard) | **80 Production Commands** |
|
|
632
|
+
| **Core GSC Workflows** | Manual tab clicking & export | Complex API code boilerplate | Partial GSC sync via OAuth | **`top-queries`, `top-pages`, `performance`** |
|
|
633
|
+
| **Instant Googlebot Indexing** | Manual 1-by-1 submit | Complex JWT boilerplate | β None | **β
1-Click Priority Ping (`gsc index`)** |
|
|
634
|
+
| **Multi-Engine IndexNow** | β None | β None | β None | **β
Bing, Yandex, Seznam, Naver (`gsc indexnow`)** |
|
|
635
|
+
| **Striking Distance Playbook** | β Manual spreadsheet work | β None | Expensive add-on tiers | **β
Automated Page 2 Playbook (`gsc strike`)** |
|
|
636
|
+
| **Google AI Overviews (AIO)** | β None | β None | Limited / expensive beta tiers | **β
Built-in `aio-hunter` & `cite-sim`** |
|
|
637
|
+
| **Automated Fix Generation** | β None (Error tables only) | β None | β None | **β
14-Stack Redirects (`gsc soft-404 --fix`)** |
|
|
638
|
+
| **Token Economics for AI** | β None | Verbose unformatted JSON | β None | **β
Native `--compact`, `--ndjson`, `--csv` (35β75% savings)** |
|
|
639
|
+
| **Autonomous AI Agent Skills** | β None | β None | β None | **β
Native Skill for Claude, Cursor, Antigravity** |
|
|
589
640
|
|
|
590
641
|
---
|
|
591
642
|
|
|
@@ -596,12 +647,12 @@ Once installed, your agent automatically understands all 80 commands, flag permu
|
|
|
596
647
|
```text
|
|
597
648
|
gsc-cli/
|
|
598
649
|
βββ bin/
|
|
599
|
-
β βββ gsc #
|
|
650
|
+
β βββ gsc # Compiled single-file binary (RubyGems entry point)
|
|
600
651
|
β βββ test_live # Visual showcase & internal test harness
|
|
601
652
|
βββ lib/
|
|
602
653
|
β βββ gsc.rb # Central stdlib loader
|
|
603
654
|
β βββ gsc/
|
|
604
|
-
β βββ version.rb # Semantic versioning (2.2.
|
|
655
|
+
β βββ version.rb # Semantic versioning (2.2.2)
|
|
605
656
|
β βββ color.rb # Zero-dependency ANSI formatting
|
|
606
657
|
β βββ config.rb # Configuration persistence
|
|
607
658
|
β βββ auth.rb # Pure OpenSSL JWT generator
|
|
@@ -616,7 +667,7 @@ gsc-cli/
|
|
|
616
667
|
β βββ cli/ # Modular subcommand domains (audit, keywords, growth...)
|
|
617
668
|
β βββ cli.rb # Primary command dispatcher & router
|
|
618
669
|
βββ dist/
|
|
619
|
-
β βββ gsc # Standalone bundled binary (1
|
|
670
|
+
β βββ gsc # Standalone bundled binary (1-click curl & GitHub releases)
|
|
620
671
|
βββ gsc.gemspec # Standard RubyGem specification
|
|
621
672
|
βββ Rakefile # Build, test, and standalone install tasks
|
|
622
673
|
βββ install.sh # Universal 1-click shell installer
|
|
@@ -664,7 +715,7 @@ If GSC CLI saves your team hours of manual audit work or hundreds in monthly Saa
|
|
|
664
715
|
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
716
|
- **[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Autonomous Core Web Vitals & website speed optimization engine.
|
|
666
717
|
- **[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)**:
|
|
718
|
+
- **[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Our newly launched physical moving inventory and QR-code tracking SaaS β where waiting weeks for Googlebot to discover new landing pages wasn't an option.
|
|
668
719
|
|
|
669
720
|
---
|
|
670
721
|
|
|
@@ -676,18 +727,12 @@ GSC CLI is maintained by [ApollosWave LLC](https://apolloswave.com/?utm_source=g
|
|
|
676
727
|
|
|
677
728
|
---
|
|
678
729
|
|
|
679
|
-
##
|
|
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.
|
|
730
|
+
## βοΈ Open Source Philosophy & License
|
|
682
731
|
|
|
683
|
-
|
|
732
|
+
`gsc-cli` is 100% free, open-source software licensed under the **[MIT License](LICENSE)**.
|
|
684
733
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
π **[Get Started Now with 1-Click Install](#-quick-installation)** | **[Drop a Star on GitHub β](https://github.com/ApollosWave/gsc-cli)**
|
|
688
|
-
|
|
689
|
-
---
|
|
734
|
+
We built this because we believe command-line developer tools should be fast, transparent, and respect your machine's resources. The modern Ruby standard library is more than capable of handling enterprise-grade API integrations and cryptographic authentication without dragging in 40 third-party gems.
|
|
690
735
|
|
|
691
|
-
|
|
736
|
+
If `gsc-cli` saves your team time, eliminates an unnecessary SaaS subscription, or accelerates your search pipelines, stars, feedback, and pull requests are always welcome.
|
|
692
737
|
|
|
693
|
-
|
|
738
|
+
π **[Get Started with 1-Click Install](#-quick-installation)** | **[Star on GitHub β](https://github.com/ApollosWave/gsc-cli)**
|