GitHub App SEO publishing for Next.js and Astro

The managed GitHub App is the default for Git-backed sites. A tenant grants one repository, reviews a detected setup file once, and keeps the existing build, checks, branch rules, templates, routes, sitemap, and deployment.

Best for: Custom Git-backed sites, Next.js, Astro, Nuxt, Markdown, MDX, and monorepos whose canonical pages already render from versioned content.

Support status: stable
Publisher: github_app

How the connection works

Authentication

GitHub App installation access. A short-lived GitHub user authorization proves access during setup and is revoked immediately; repository-limited installation tokens expire after at most one hour and are never stored.

Server-side variables

No server-side connector variables are required for this manual handoff.

Publishing sequence

01

Install the App only for selected repositories.

02

Review and merge one setup PR containing the detected content and route mapping.

03

Let approved due posts open new content PRs without overwriting existing files or .github.

04

Run repository checks, merge against the latest default branch, deploy normally, and verify the expected public HTML before marking published.

Connect the managed GitHub App

Open the project dashboard, choose Website publishing → GitHub App, grant only the repository that deploys the canonical site, and review the one-time setup pull request. No scheduled workflow or repository publishing secret is added.

Fields and data model

  • Longest matching route prefix selects the content directory
  • Markdown or MDX frontmatter carries the approved exact target path and canonical URL
  • Repository settings, not content files, control PR versus direct mode

Canonical and route

The tenant website remains authoritative for rendering, canonical tags, sitemap inclusion, analytics, and deployment. SEODrafts confirms the configured canonical production URL only after merge.

Known limits

  • The repository must already render the configured content directory and route; arbitrary custom routers need a reviewed adapter in the one-time setup PR.
  • A conflicting or failing PR stops publication.
  • CMS-owned canonical pages should use the native CMS connector instead.

Recovery

  • Correct content directories or route prefixes in seo-blog.config.json through normal review.
  • Fix a failed repository check and rerun it; production remains unchanged until merge.
  • Restore App repository access if an installation is suspended or removed.

Integration questions

Where are credentials stored?

The GitHub App credentials stay in CI or another server-side secret environment.

Does SEODrafts own the canonical URL?

No. The destination website owns its route, canonical tag, sitemap, rendering, and analytics.

Can the integration be tested before publishing?

Use the no-write payload preview to inspect local mapping, then separately test credentials and the first destination draft before a live run.

Keep the website your team already owns.

Review the opportunity and draft in SEODrafts, then publish approved work through GitHub App.

Add my website