Skip to content

GitHub Action · v1 · MIT

Put an SEO check in your CI pipeline

crawlcove-action wraps the Crawl Cove CLI as a GitHub Action. Point it at the preview or staging URL of a pull request and it crawls up to 100 pages, fails the check on the first broken internal link, missing title, noindex page or two-hop redirect chain, and posts one comment on the PR that it keeps updating. It ships with example workflows for hosted previews, a Next.js build crawled inside the job, and a scheduled WordPress staging crawl.

Free · MIT-licensed · README checked September 2026

Add it to a workflow

- uses: CrawlCove/crawlcove-action@v1
  with:
    url: https://preview-123.example.com/

Inputs

# inputs (all optional except url)
max-pages: 100
fail-on: broken-links,missing-titles,noindex,redirect-chains   # or none
threshold: 1
ignore-robots: 'false'
concurrency: 4
timeout: 15000
comment: 'true'          # pull_request events only
cli-version: v1.1.2

The README in the repo is the authoritative reference; the commands above are copied from it as of September 2026. If they disagree, the README is newer.

What it checks

  • Broken internal links: every link to a 4xx, 5xx or unreachable page, plus each such page itself.
  • Pages with no title tag.
  • Pages carrying a robots noindex meta tag.
  • URLs that went through two or more redirects.
  • A PR comment with a per-check table and expandable detail, updated on every run rather than duplicated.
  • Outputs for later steps: exit-code, pages, broken-links, missing-titles, noindex, redirect-chains and report-path.

Limits worth knowing

  • The PR comment needs permissions: pull-requests: write on the job; everything else works with the default token.
  • A preview host that blocks all crawlers in robots.txt yields exit code 2 and a "could not run" summary, not a false pass. Set ignore-robots for hosts you own.
  • Previews are often deliberately noindex; drop noindex from fail-on there rather than turning the check off everywhere.

Works with Crawl Cove

Crawl Cove GitHub Action covers the checks it lists above. The desktop app runs the full site audit: every page, every finding ranked by impact, history over time and Search Console data alongside. See the desktop checker or compare the plans.

Frequently asked questions

What does the action need from my repo?
A URL it can reach. For hosted previews the URL arrives in a deployment_status event from your host's GitHub integration, so no secrets are needed. For a site built inside the job, serve the build on localhost first and pass that URL with ignore-robots set, because a local build's robots.txt usually blocks everything.
Will it fail my build on a noindex preview?
By default, yes, because noindex is one of the four gated checks. Preview deployments are often noindex on purpose, so the hosted-preview example limits fail-on to broken-links, missing-titles and redirect-chains. Choose the checks that are regressions for your site.
Where does the full report go?
The action writes a JSON report, one object per page, and exposes its path as the report-path output. Upload it with actions/upload-artifact to keep it. Its page fields follow the export spec, so anything that reads a Crawl Cove export can read it.
Is this on the GitHub Marketplace?
Not yet. The action works from its repo with uses: CrawlCove/crawlcove-action@v1 today; a Marketplace listing is a separate submission that has not been made.

Stop guessing.
Start fixing.

Crawl Cove runs on your machine, connects to your real ranking data, and tells you exactly what to fix first. No per-feature paywalls, no spreadsheets, no guesswork.

28 days risk-free · No card required