How can AEOTrack help you?

November 6, 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 hygiene files 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, and nothing existing is replaced.

The integration is on Pro, Agency and Enterprise. GitHub is the only Git provider supported — GitLab and Bitbucket are not.

These are hygiene files, not ranking levers. Studies found no measurable effect of llms.txt or structured data on AI citations; what gets a brand named is being mentioned on the sites the engines read (Get named: work the off-site plan). The files are still worth having: they are cheap, and they keep the AI search crawlers from being locked out by accident.


What goes into the pull request

AEOTrack reads your repository first, works out which framework the site uses, and only proposes what is missing:

FileContents
llms.txt, in public/ or static/ (or the root)A plain-text description of the site and its approved FAQs, written where your framework serves files: public/ for Next.js, Astro, Nuxt, Remix and Vite; static/ for SvelteKit, Gatsby, Docusaurus and Hugo; the root for Jekyll, WordPress themes and plain static sites. An existing llms.txt is kept.
robots.txtOnly when your current rules block the AI search and retrieval crawlers: a group marked "proposed by AEOTrack" is appended for OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBot and Claude-User. Existing lines are never touched, there is never a rule for *, and GPTBot (training) and Google-Extended are left as they are. If the site serves no robots.txt at all, a minimal file with only that group is created.
aeotrack/schema-snippet.htmlPaste-ready structured data (Organization and WebPage JSON-LD) for your site's template.
aeotrack/faq-section.htmlYour approved FAQs as a visible section with matching FAQPage markup, both built from the same list, ready to place on the page that should show them. Draft FAQs are never included.

Nothing existing is replaced. You see every file and its diff before the PR opens. If your robots.txt is managed outside the repo (CMS, plugin, CDN, Next.js app/robots.ts), the lines are given in the PR description instead.

The PR description explains each file and how to install the two snippets for your framework. A theme repository for a hosted store platform that serves its own robots.txt and llms.txt gets neither file. If the repository layout is not one AEOTrack recognises, the files go in the root and the PR says so. Older AEOTrack pull requests added faq-schema.json and schema-ld.json, which nothing loads; a new PR points them out so you can delete them.


Step-by-Step Setup Guide

Step 1: Create a fine-grained personal access token

  1. On GitHub, open github.com/settings/personal-access-tokens/new (Settings → Developer settings → Personal access tokens → Fine-grained tokens).
  2. 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.
  3. Under Repository permissions set:
    • Contents — Read and write (to read the current files, create the branch and commit the files)
    • Pull requests — Read and write (to open the PR and see whether it was merged)
    • Metadata — Read-only (GitHub adds this automatically)
  4. 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

  1. Open Settings → Integrations and find the GitHub card.
  2. Paste the token into Personal Access Token. The field hides what you paste; click the eye icon inside the field to check it before you connect.
  3. Enter the repository as owner/repo (for example acme/marketing-site).
  4. 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

  1. If you want FAQs in the PR, generate them in Improve → FAQ schema and approve them first; only approved FAQs are included (see the FAQ Schema Generator Guide). llms.txt and robots.txt are only proposed when they are missing or blocking, so a PR can contain just one or two files.
  2. Click Create AEO Pull Request on the card. AEOTrack builds the files from your repository as it is now, creates the aeotrack/fix_<id> branch from your default branch, commits the files and opens the PR.
  3. The card shows Pull request opened! with the branch name and a View on GitHub link. The card lists the pull requests AEOTrack has opened and shows whether each was merged.

Step 4: Review and merge

Review the PR on GitHub, adjust anything that needs adjusting, and click Merge when ready. Install the two snippets as the PR description says, then deploy as you normally would. Each time you approve new FAQs 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 and read its state.
  • 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 Push to GitHub uses the same connection: it opens a PR with a paste-ready snippet, or an llms.txt placed for your framework, built from the repository at the moment you push. The FAQ task can only be pushed once you have approved FAQs.