web-launcher

Claude Code plugin that diagnoses why a live site is not indexed, traces each reason to the file that causes it, fixes it, and verifies the fix.

0stars
0forks
0watchers
0open issues
owner: voyvodkastatus: CORElanguage: Unknownbranch: mainlicense: MIT Licenseupdated: last push:

README Snapshot

web-launcher

A Claude Code plugin that works out why a live site is not showing up in Google, traces each reason to the file or setting that causes it, fixes it, and verifies the fix.

C1  redirect targets resolve to 200 ............................. OK
C2  live robots.txt matches repo ............... FAIL  a CDN is injecting a managed block
C3  http://example.com/ -> 307 ................. FAIL  temporary; must be 301/308
C7  /index.html returns 200 at 1224 bytes (root: 72763) ... FAIL  SSR bypassed
      and: no canonical
      and: indexable (no noindex)

Every line above is a command that ran, not a rule that was read.

Why

Search Console tells you what — "Page with redirect ×37", "Not found (404) ×3" — and stops there. Turning that into a change in a file is the whole job, and it is where most tooling leaves you: a score, a checklist, a list of symptoms.

Two things make that harder than it looks.

Most of those counts are not defects. A site with 40 canonical URLs whose slashless twins all return a permanent redirect will show ~39 "Page with redirect" entries, and every one of them is Google correctly consolidating. Chasing them changes a working site. This plugin does the arithmetic first and is willing to conclude that nothing is wrong.

Written rules drift from live behaviour. A config comment saying "no 2-hop chain" was wrong for months in the codebase this plugin was built against, because nothing tested it. So the checks here are runnable commands with one-line verdicts, not prose.

Install

/plugin marketplace add voyvodka/claude-plugins
/plugin install web-launcher@voyvodka

Requires Claude Code. The diagnostic checks need curl, grep and a POSIX shell — present on macOS and Linux by default. GEO scoring uses the GeoDaddy MCP server, declared by the plugin and fetched via npx on first use; Search Console access needs a one-time Google OAuth setup, and both are optional.

Usage

Invoke it in a site's repository:

/web-launcher

It picks a mode — launch, audit, or brand-only — scans the project, and produces a severity-ranked gap report before changing anything. For a live site it runs the diagnostic checks first and reports what they returned.

Ask it directly when you already know the question:

why isn't this page indexed? score this site for AI search set up Cloudflare deployment with the apex redirect

What it covers

Area What it does
Diagnosis Maps each Search Console reason to its cause; ten runnable checks for redirect chains, edge-injected robots.txt, temporary redirects, hop counts, sitemap health, canonical mismatches, SSR shell leaks, header delivery, and social cards
Discoverability robots.txt, sitemaps, llms.txt, security.txt, JSON-LD, the full meta head, multi-page canonical and breadcrumb structure
GEO Scores AI-search signals with GeoDaddy, and says where that tool's scoring disagrees with this one — including one finding of its own that is measurably wrong
Deployment Cloudflare Workers: wrangler config, headers, redirects, custom domain and SSL, plus the failure modes that cost real hours
Hardening Dependabot or Renovate, CI audit gates, secret scanning, SBOM, licence sweep, pinned actions

How it works

It reads, then proposes, then asks. Diagnosis is entirely read-only: HTTP requests to the public site and reads of the repository. Nothing is written until you approve a plan.

Search Console access is read-only apart from submitting a sitemap. The API has no request-indexing and no start-validation method, so the plugin says what it changed and hands you the interface link rather than pretending it triggered a recrawl. Credentials stay on your machine.

Every technical claim carries the date it was verified and the source it came from. Reference files are stamped at three levels — verified, partially verified, not re-verified — and the plugin puts itself on a 60-day review clock. An unstamped claim is unverified, and it says so rather than sounding certain.

Limitations

  • Cloudflare only, for deployment. Diagnosis is platform-agnostic and runs over live HTTP, but scaffolding and deploys target Cloudflare Workers. Knowing one platform properly beat knowing four halfway.
  • No content, no analytics, no consent flows. It builds the technical scaffolding; the words and the tracking are someone else's job.
  • No deep application SEO — hreflang for multi-region sites, e-commerce product feeds, and logged-in single-page apps are out of scope.
  • "Crawled – currently not indexed" cannot be closed technically. It is a content and authority question. The plugin names it and does not pretend otherwise.
  • Search Console's coverage report cannot be downloaded. No API exposes it, so the plugin reconstructs a candidate URL set and inspects it — the numbers will approximate the interface, not match it, and it says which URLs it could not reach.

Contributing

Issues and pull requests are welcome, particularly measurements: a check that misses a real defect, or one that fires on a healthy site, is the most useful thing you can report. Include the command and its output.

A claim without a source will not be merged — that rule is the product, not a preference.

License

MIT — see LICENSE.

Changelog

This repository doesn't maintain a dedicated CHANGELOG file. Released notes — when they exist — are listed in the Releases section below.

For an unfiltered view of every change, the commit history on the main branch is the source of truth.

View commit history on GitHub

Releases

No tagged releases yet. The current state of the project lives on the main branch, last pushed .

Open the main branch on GitHub