Skip to content

GitHub App

The AEOrank GitHub App scores your site’s AI visibility on every pull request — zero YAML, zero config, one-click install.

  1. Go to github.com/apps/aeorank
  2. Click Install
  3. Choose your account and select repositories
  4. Done — AEOrank now runs on every PR

When you open or update a pull request, AEOrank automatically:

  1. Detects your site URL from your repo (see URL detection below)
  2. Scans your site across 36 AI visibility criteria
  3. Posts a Check Run on the commit with your score and grade
  4. Posts a PR comment with a full dimension breakdown and recommendations

The Check Run shows ✅ green (score ≥ 70), grey neutral (40–69), or ❌ red (below 40).

The Check fails if GPTBot (or ClaudeBot, PerplexityBot, Google-Extended) is disallowed in robots.txt, even when the overall score is high. The summary names which bot is blocked. A missing robots.txt is unknown, not a failure.

AEOrank auto-detects your site URL by checking these files in order:

PriorityFileFormat
1.aeorankJSON: {"url": "https://your-site.com"}
2aeorank.config.jsJS: siteUrl: "https://your-site.com"
3CNAMEPlain text: your-site.com
4package.jsonJSON: "homepage": "https://your-site.com"

The simplest option: add a .aeorank file to your repo root:

{"url": "https://your-site.com"}

If no URL is found, AEOrank posts a neutral Check Run with setup instructions.

The Check Run appears in your PR’s checks tab with:

  • AEO Score (0–100) with letter grade (A+ through F)
  • Pass/neutral/fail conclusion based on score and crawler blocks
  • Crawler table first (allow / block / unknown), then the 36-dimension table

A comment is posted (or updated) on the PR with the full score breakdown. The comment uses a hidden marker (<!-- aeorank-score -->) so re-pushes update the existing comment instead of creating new ones.

PlanScans per day
Free10 per repo

Scans are counted per installation per day. If you hit the limit, AEOrank posts a neutral Check Run letting you know.

The App requests these permissions:

PermissionAccessWhy
ChecksRead & writePost Check Runs on commits
ContentsRead-onlyRead .aeorank, CNAME, package.json for URL detection
Pull requestsRead & writePost and update PR comments
MetadataRead-onlyRequired by GitHub for all Apps

The App subscribes to pull_request and push events.

Both post the same Check Run and PR comment. Choose based on your preference:

GitHub AppGitHub Action
SetupOne-click installAdd YAML workflow file
ConfigZero — auto-detects URLSet url input in workflow
Runs onAEOrank serversGitHub Actions runners (your minutes)
ControlAutomatic on every PRFull control via workflow triggers
Crawler block✅ Fails the Check if GPTBot (or peer) is disallowedfail-on-crawler-block
fail-belowNot yet (coming soon)✅ Set minimum score threshold

The App does fail the PR when a gated crawler is blocked. It does not support fail-below yet — do not treat the App as a score-threshold merge gate.

Recommendation: Start with the GitHub App for zero friction and crawler-block protection. Switch to the Action if you need fail-below thresholds or custom workflow triggers.

AEOrank couldn’t detect your site URL. Add a .aeorank file to your repo root:

{"url": "https://your-site.com"}
  1. Verify the App is installed: github.com/settings/installations
  2. Check that your repo is in the App’s selected repositories
  3. Push a new commit to the PR to trigger a fresh webhook

AEOrank scans the URL found in your config. Make sure it points to your live, publicly accessible site — not localhost or a staging URL.

The App reads only the files needed for URL detection (.aeorank, CNAME, package.json, aeorank.config.js). It does not access your source code, commits, issues, or any other repository content. See our privacy policy.