Skip to content

SEO checks on every pull request: GitHub Action

The crawlwise audit action audits a URL (usually the preview deployment of the pull request), compares it with the last audit of the same URL, posts one comment with what changed, and fails the build on a critical regression. It is open source: https://github.com/Adnanarodiya/crawlwise-audit-action.

1. Add your API key as a secret

Create a key at /account/api (Pro and above) and save it in the repository as the secret CRAWLWISE_API_KEY.

2. Add the workflow

Point url at your preview deployment. min-score is optional; without it only regressions fail the build.

.github/workflows/seo.yml

text
name: SEO
on: pull_request
permissions:
  contents: read
  pull-requests: write
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: Adnanarodiya/crawlwise-audit-action@v1
        with:
          url: https://preview.your-site.com
          api-key: ${{ secrets.CRAWLWISE_API_KEY }}
          min-score: 80

3. What fails the build

fail-on: critical (the default) fails when indexing or AI crawler access regressed against the baseline. warning fails on any regression. never only comments. A check that did not run on the baseline is reported as new, never as a regression. Outputs: audit-id, severity, regressions, score.

4. Other CI: GitLab, CircleCI, anything with Node

The CLI is the same gate. Exit code 1 means a rule tripped, 2 means a usage or request error.

Any runner

bash
npx crawlwise audit "$PREVIEW_URL" --fail-on 'score<80' --fail-on 'fixes>0'

.gitlab-ci.yml

text
seo:
  image: node:22
  script:
    - npx crawlwise audit "$PREVIEW_URL" --fail-on 'score<80'
  variables:
    CRAWLWISE_API_KEY: $CRAWLWISE_API_KEY

Pinned to Adnanarodiya/crawlwise-audit-action@v1. Netlify and Vercel users can use the build plugins instead.

All agents · Integrations · MCP reference · Claude Code · OpenAI Codex · Gemini CLI · GitHub Copilot · ChatGPT · OpenCode