Features
Connect GitHub or GitLab (pull requests)
Coming soon — NeoRank never pushes to your default branch: it opens a pull request, you merge it (or not), then it checks the live page after the deployment.
For which sites
A site whose pages are built from a GitHub or GitLab repository: Next.js, Astro, Nuxt, Hugo, Jekyll or static HTML. NeoRank ties each page to its source file; a page served by a dynamic segment (a blog post generated from a collection, say) becomes a checklist item rather than an edit.
Connect GitHub
- In NeoRank, Settings › Connectors, “GitHub / GitLab — pull requests” card: “Install the NeoRank GitHub app”.
- At GitHub, install the app on the one repository this site is built from (“Only select repositories”), then save. You need write (push) or admin access to that repository.
- Back in NeoRank, confirm the repository: “Use this repository”.
- Approve fixes: each batch opens one pull request that you review and merge.
| GitHub app permission | Why |
|---|---|
| Contents: read and write | Read the source files and write to the pull request's neorank/* branch |
| Pull requests: read and write | Open the pull request and follow its merge or closing |
| Metadata: read | Required for every GitHub app |
Connect GitLab
- In your GitLab project › Settings › Access tokens: create a Project Access Token, Developer role,
apiscope, expiring in one year at most. - In NeoRank, “Use GitLab instead”: paste the project's ID or path (group/project) and the token; NeoRank checks it and stores it encrypted.
- Add the project webhook NeoRank shows once (URL and secret token) in GitLab › Settings › Webhooks, with “Merge request events” and “Deployment events”.
What the pull request contains
- A
neorank/…branch and a pull request titled “NeoRank: N SEO fixes for your-domain”. - For each change: the kind (title, meta description…), the audit finding, the page, the file, before and after. The text reminds that each change was approved in NeoRank and that merging is your decision.
- The diff touches only the lines concerned. An edit NeoRank cannot make safely becomes a checklist item in the pull request (nothing is written for it).
| Fix | Where in the repository |
|---|---|
<title> tag and meta description | The page's source file |
| Alt text | Where it is written in the code |
| JSON-LD | The page's structured data |
| 301 redirects of 404 pages | Your redirects file |
The colours on Git
- Proposed · to approveNothing is in your repository yet.
- Pull request open · to mergeThe batch is in an open pull request. Not live yet: the fix goes live once you merge and deploy it.
- Fixed and verifiedMerged, deployed, and NeoRank read the live page back.
- Pull request closed without mergingThe fix goes back to “proposed”: you can edit it and approve it again.
Name appended to titles
If your layout appends the site's name to every title (“Pricing | Acme”), enter that name in Manage › Name appended to titles. Without it NeoRank cannot prove the file produces the title it read, and answers “Your layout appends the site name to titles: confirm that name on the GitHub / GitLab card”. Leave it empty if titles are written in full.
Pause and revocation
- Pause: no new pull request until you resume.
- Revoke disconnects the repository: no new pull request is opened. Open pull requests stay in your repository; also uninstall the GitHub app, or delete the GitLab token, on their side.
Common problems
| Message | What to do |
|---|---|
| The GitHub app was not given access to this repository | In GitHub › Settings › Applications › (l’app NeoRank) › Configure, add this repository. |
| You need write (push) or admin access | Ask the repository owner for access, or have someone who has it connect. |
| This repository is already connected to NeoRank by another organisation | A repository serves one organisation. |
| The GitHub install link expired | Start again from the card. |
| GitHub did not send back NeoRank's connection link | Start the connection again from the NeoRank card (not from GitHub). |
| GitLab refused this token | It needs the Developer role and the api scope. |
| This GitLab project cannot be found with this token | Check the ID or group/project path. |
| Not a safe code edit | It is listed as a checklist item in the pull request: make it by hand. |