free-seo-stack
Skill0 starsChanged 2 months agoMITView on GitHub
Free alternatives to Semrush Ahrefs Ubersuggest paid SEO stack Lighthouse CrUX GSC Bing Yandex IndexNow rank audit backlinks security your scripts
- Reads credentials
In this repository9 other files it gives its agents.
- figma-diagram-visualizationSkill
- figma-mcp-freeSkill
- n8n-temp-cleanupSkill
- pantheon-style-repo-quickrefSkill
- pdf-signingSkill
- remote-mac-accessSkill
- talk-deck-builderSkill
- youtube-transcribeSkill
- zoom-hostSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Reality: no free drop-in replaces Ahrefs-scale backlink graph or Semrush-scale global keyword difficulty.
- Distinctive: line 60
Red tier: Avoid recommending third-party bulk Google SERP scrapers as “Semrush replacement” — ToS + account ban risk.
- Very specific: line 80
If the workspace is your-repo (or a clone with scripts/visual-verify/):
- Very specific: line 111
If your repo available → run or instruct the scripts above.
- Very specific: line 112
If no repo → manual checklist: Lighthouse, GSC UI, CrUX in PSI, Bing + Yandex Webmaster (if relevant), curl -I, robots.txt, sitemap, …
- Distinctive: line 113
Always note residual gaps: full backlink index, global keyword difficulty at scale, historical competitor exports — require paid data or …
- Distinctive: line 114
Security: follow Security and compliance above before suggesting any non-official API.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Free SEO stack (Semrush / Ahrefs alternatives)
When to use
- User mentions Semrush, Ahrefs, paid SEO suite, no budget, free site audit, keyword tool without subscription, backlink checker free, or wants a repeatable technical + rank baseline without vendor lock-in.
- Complements
geo-audit(GEO/AEO visibility): this skill is tooling + methodology, not full GEO scoring.
When not to use
- Client explicitly pays for Semrush/Ahrefs and wants workflow inside those products.
- Single trivial definition (“what is Domain Rating”) with no audit request.
Technology radar (what actually strengthens the stack)
Reality: no free drop-in replaces Ahrefs-scale backlink graph or Semrush-scale global keyword difficulty. The stack below is official APIs + owned measurement first; paid APIs only as explicit opt-in.
| Tier | Sources | Role vs paid suites | your fit |
| S — Official, verified properties | GSC (Search Analytics + URL Inspection), CrUX, Lighthouse, PageSpeed/PSI API | Performance + your queries/pages + index status | Scripts in scripts/visual-verify/ |
| S — Other engines (verify + API) | Bing Webmaster API (OAuth) | Queries, crawl issues, inbound links sample for Bing | Future script — same pattern as GSC: OAuth app, store tokens only in your credentials config |
| S — RU market | Yandex Webmaster API (OAuth) | Search queries / indexing for .ru properties | Same as Bing: official OAuth, no scrapers |
| A — Publishing / crawl hints | IndexNow | Push URLs to participating engines (Bing, etc.) | Not a rankings or backlink tool — runbook: host public key file on origin + POST submissions; key is not a vault secret (it is world-readable on the site) |
| B — Opt-in paid data | DataForSEO, SerpAPI, etc. | Volume, SERP snapshots at scale | Out of “free stack” — require budget + ToS review; keys only in your credentials config; never commit |
| Red — High risk | Gray SERP scrapers, “unofficial Google APIs”, shared cookie login services | May violate search engine ToS / account safety | Do not automate or recommend without legal + security sign-off; prefer official APIs |
Integration map (your-repo)
| Capability | Tool | Status |
| Lab CWV | lighthouse-mobile.mjs | Shipped |
| Field CWV | crux-field-metrics.mjs | Shipped (GCP key) |
| GSC performance | gsc-api-search-analytics.mjs | Shipped (SA JWT) |
| GSC index status | gsc-url-inspection-inspect.mjs | Shipped (SA JWT; quota-limited) |
| Crawl-lite / headers | free-seo-alt-signals.mjs | Shipped |
| PSI UI (fragile) | psi-pagespeed-stealth.mjs | Shipped (optional) |
| Bundle | phase0-external-evidence.mjs | Shipped; set GSC_URL_INSPECTION=1 to include URL Inspection |
| Bing / Yandex | REST + OAuth | Documented here — implement when a property is verified and tokens are available |
Security and compliance (mandatory for agents)
- Secrets: API keys, service account JSON paths, OAuth refresh tokens → only local
your credentials config(gitignored). Never paste into client chats, tickets, or public Gists. - Google Cloud keys: Restrict CrUX / PSI keys to the specific APIs; avoid unrestricted browser keys in automation.
- GSC service account: Principle of least privilege; property must grant the SA in Search Console UI — no “share my Google password” flows.
- URL Inspection: Strict daily quota — use
--maxand small URL sets; never loop full sitemaps in CI without a product decision. - IndexNow: The key file is published on the origin by design — treat it like
robots.txtvisibility, not like an API secret in 1Password. - Red tier: Avoid recommending third-party bulk Google SERP scrapers as “Semrush replacement” — ToS + account ban risk; disclose if user insists.
What paid suites usually provide (mental model)
| Bucket | Typical paid feature | Free / owned substitute |
| Technical / CWV | Site Audit, Core Web Vitals views | Lighthouse (lab), CrUX API (field p75), PageSpeed |
| Search performance | Organic keywords, landing pages | GSC searchanalytics |
| Index state | (partially) | GSC URL Inspection (quota) |
| Rank tracking | Daily positions for a keyword list | SerpBear (your Hermes), Bing / Yandex Webmaster |
| Crawl / index | On-page issues, duplicates | GSC coverage, scripts (robots.txt, sitemaps, curl -I), fetch + HTML checks |
| Backlinks / authority | Link index, competitor links | No full free replacement — GSC Links (limited), Bing link reports, manual checks |
| Content / keyword research | Volume, difficulty, SERP features | GSC queries, manual SERP / PAA, Trends (context only) |
your automation (your-repo)
If the workspace is your-repo (or a clone with scripts/visual-verify/):
- Phase bundle (artifacts under
.artifacts/hwai-phase0/):
Optional env:node scripts/visual-verify/phase0-external-evidence.mjsSKIP_LIGHTHOUSE=1,SKIP_PSI_STEALTH=1,GSC_URL_INSPECTION=1(adds URL Inspection for Phase0 URLs — uses quota). - Pieces
- Lab LCP / CLS / INP (mobile):
node scripts/visual-verify/lighthouse-mobile.mjs - Field CrUX (needs API key):
node scripts/visual-verify/crux-field-metrics.mjs - GSC top queries + pages (SA JWT):
node scripts/visual-verify/gsc-api-search-analytics.mjs
Resolveshttps://example/vssc-domain:exampleviasites.list(lib/gsc-site-resolve.mjs). - GSC URL Inspection (index status, low quota):
node scripts/visual-verify/gsc-url-inspection-inspect.mjs --url https://example.com/page
or--from-phase0/GSC_INSPECTION_URLS=...— use--maxto cap calls. - Free “crawl-lite”:
node scripts/visual-verify/free-seo-alt-signals.mjs - Optional pagespeed.web.dev with stealth Playwright:
node scripts/visual-verify/psi-pagespeed-stealth.mjs
- Lab LCP / CLS / INP (mobile):
- Credentials (local, never commit)
your credentials config: GSC service account, optionalCHROME_UX_REPORT_API_KEY/GOOGLE_API_KEY.
Seeclaude/KNOWLEDGE_BASE.md(Phase 0.4–0.6 row). - Rank / keyword gap
Hermes SerpBear — KB External Services → Hermes SerpBear; not a Semrush clone, but covers your keyword set on a schedule.
Agent workflow
- Confirm goal: technical baseline, GSC performance, index checks, rank tracking, or “like Semrush report” (set expectations on backlinks/competitor depth).
- If your repo available → run or instruct the scripts above; store JSON + README paths in
.artifacts/. - If no repo → manual checklist: Lighthouse, GSC UI, CrUX in PSI, Bing + Yandex Webmaster (if relevant),
curl -I,robots.txt, sitemap, IndexNow runbook if they own the origin. - Always note residual gaps: full backlink index, global keyword difficulty at scale, historical competitor exports — require paid data or primary research.
- Security: follow Security and compliance above before suggesting any non-official API.
Team copy (hwai-internal)
Canonical long-form mapping: the SEO alternatives doc in your-internal-docs (from seed).
Install skill: skills/imported/free-seo-stack/SKILL.md → symlink to ~/.claude/skills/free-seo-stack per skills/README.md.
SSOT links (your-repo)
scripts/visual-verify/README.mdthe SEO audit plan(Phase 0.4–0.6)claude/KNOWLEDGE_BASE.md— search “Phase 0.4–0.6”
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

