September 23, 2026
GitHub Integration Setup Guide
Overview
AEOTrack connects to a GitHub repository (public or private) with a personal access token. Once connected, one click opens a pull request that adds the AEO files generated for your website on a branch named aeotrack/fix_<id>. Your team reviews and merges it like any other PR; AEOTrack never pushes to your default branch.
The integration is on Pro, Agency and Enterprise. GitHub is the only Git provider supported — GitLab and Bitbucket are not.
What goes into the pull request
| File | Contents |
|---|---|
faq-schema.json | Your latest generated FAQ as FAQPage JSON-LD (from the FAQ Generator) |
schema-ld.json | The page schema from the Content Optimizer, when one has been generated |
llms.txt | A plain-text description of the site and its FAQs for AI crawlers |
robots.txt | The AI-crawler rules from Your site → Crawlability |
The PR description explains every change. Files that already exist in the repository (typically robots.txt) are replaced on the branch, so review the diff before merging and fold in any rules of your own.
Step-by-Step Setup Guide
Step 1: Create a fine-grained personal access token
- On GitHub, open github.com/settings/personal-access-tokens/new (Settings → Developer settings → Personal access tokens → Fine-grained tokens).
- Give it a name such as
AEOTrack, choose the resource owner that owns the website's repository, and under Repository access pick Only select repositories and select that one repository. - Under Repository permissions set:
- Contents — Read and write (to create the branch and commit the files)
- Pull requests — Read and write (to open the PR)
- Metadata — Read-only (GitHub adds this automatically)
- Click Generate token and copy it. GitHub shows it only once.
A classic token with the repo scope also works, but it grants far more than AEOTrack needs. Pick an expiry you are comfortable with; when the token expires, reconnect with a new one.
Step 2: Connect in AEOTrack
- Open Integrations and find the GitHub card.
- Paste the token into Personal Access Token.
- Enter the repository as
owner/repo(for exampleacme/marketing-site). - Click Connect GitHub. AEOTrack checks that the token can see the repository and reads its default branch (usually
main); that is the branch pull requests will target, so there is nothing else to configure.
If you see "Repo not found or the token can't see it", the token's repository access does not include that repository. "That GitHub token was rejected" means the token itself is wrong, expired or revoked.
Step 3: Create the pull request
- Generate what you want shipped first: an FAQ in the FAQ Generator, a page schema in the Content Optimizer. The two deterministic files (
llms.txt,robots.txt) are always included. - Click Create AEO Pull Request on the card. AEOTrack creates the
aeotrack/fix_<id>branch from your default branch, commits the files and opens the PR. - The card shows Pull request opened! with the branch name and a View on GitHub link.
Step 4: Review and merge
Review the PR on GitHub, adjust anything that needs adjusting, and click Merge when ready. Deploy as you normally would. Each time you regenerate an FAQ or schema and click the button again, a new PR is opened on a fresh branch.
Security notes
- The token is encrypted at rest and used only for the calls above: read the repository, create a branch, write the files, open the pull request.
- Disconnect on the card removes the token from AEOTrack. Revoke it on GitHub as well if you are done with the integration.
- The improvement plan's one-click fixes use the same connection, so a connected repository lets you ship a task from the plan without leaving AEOTrack.