# Publish SEO articles to GitHub and Next.js automatically

> Seovyn opens a pull request on your repo for each approved article, in the folder and format your own posts use: Astro, Remix, SvelteKit, Nuxt, Eleventy, Jekyll, Hugo, Next.js or plain HTML.

For sites built from a Git repository, Seovyn publishes by opening a **pull request** that adds the article where your own posts live, written the way they are. Your normal build then deploys it. For a Next.js App Router site with nothing to render posts yet, Seovyn also generates the routes that render them.

## What you need

- A GitHub repository that holds your site's content.
- A personal access token with the `repo` scope.

## Connect it

1. In Seovyn, open **Publishing** and choose **GitHub** under *For developers*.
2. Paste your token and connect.
3. Choose the repository and the branch (default `main`). Seovyn reads the repo and fills in the content path: the folder your posts already live in, or `content/{type}/{slug}.md` when there are none.
4. Choose whether to **auto-merge** each article's pull request as it opens.

## What happens next

- Each approved article opens a pull request adding its Markdown file, with frontmatter named the way your posts name it (an Astro collection's `pubDate`, for one), so your build accepts it.
- On a site of hand-written HTML pages, the article becomes an HTML page laid out like your existing posts, and is added to your blog list and sitemap.
- On a Next.js App Router site with no posts yet, Seovyn reads your layout and styling, generates matching render routes, and merges that pull request itself, so articles don't 404.
- Seovyn commits a small key file so supporting search engines can be told about new pages.

The details, including what's in each file, are in [GitHub and Next.js](/docs/github-and-nextjs).

> **No posts in the repo yet, and not on Next.js?** Seovyn needs something to follow: add one post by hand (or a page that renders the content path's Markdown), or use the [webhook](/integrations/webhook).

## What gets delivered

The article with its title and meta description, the fields your platform supports (tags, excerpt, search listing), and a cover image where one can be made. Seovyn then checks the page is really live and links to it from related articles. See [Publishing](/docs/publishing).

## If it doesn't work

Check the credentials against the steps above and see [Troubleshooting](/docs/troubleshooting).
