Technical guide
GitHub Integration Guide
Publish your generated content directly to a GitHub repository (one commit per publication) — ideal if your site is a static site generator (Next.js, Astro, Hugo, Jekyll...).
1. Create a GitHub token
On GitHub: Settings → Developer settings → Personal access tokens → Fine-grained tokens. Limit its access to this single repository ("Only select repositories") and grant it the Contents: Read and write permission — no other permission is needed.
2. Connect the repository
From the Integrations page, in the "GitHub" block, enter the owner (user or organization) and the repository name, the branch (leave empty to use the repository's default branch), the content folder (defaults to content), and paste the token created in the previous step. Access is verified immediately against the GitHub API before being saved (token encrypted, never stored in plain text). Only organization owners/admins can connect or disconnect a repository.
3. Publish or schedule
From Copywriting, each generated content (Blog Article, Product Sheet, Local Page, Service Page) has a Publish to GitHub button, with a Schedule (optional) field: leave it empty to commit immediately, or pick a future date/time — the scheduled publication is processed automatically at the set time (checked every 5 minutes), and can be cancelled as long as it hasn't gone out yet.
4. Where the file lands
Each publication creates (or updates, if the file already exists) a Markdown file at {content folder}/{type}/{slug}.md, where {type} is articles, fiches-produit, pages-locales, pages-service or accueil depending on the tool used. Example for an article published in the default folder:
content/articles/mon-article.mdFile contents:
---
title: "Article title"
description: "Article meta description"
slug: "mon-article"
date: "2026-07-18T10:00:00.000Z"
---
<h1>...</h1>
<p>...</p>The content is embedded as raw HTML (no Markdown conversion): nearly all static site generators (Jekyll, Hugo, Astro, Next.js/MDX) accept raw HTML in the body of a Markdown file, which avoids any loss of formatting.
5. Example of reading it on your site (Next.js)
If your site reads these files directly from the repository (at build time, via the file system):
import fs from "node:fs";
import path from "node:path";
import matter from "gray-matter";
function getArticles() {
const dir = path.join(process.cwd(), "content/articles");
return fs.readdirSync(dir).map((file) => {
const { data, content } = matter.read(path.join(dir, file));
return { ...data, html: content };
});
}Each commit on the connected branch normally triggers a new deployment on Vercel/Netlify (via their native Git integration) — no additional configuration is needed on the iziRanker side to republish your site.
6. Security
- The token is never shown in plain text again after it's saved — if in doubt, disconnect the repository and reconnect it with a new token.
- Always restrict the token to this single repository and the Contents permission: never create a token with broader access than necessary.
