Ga naar inhoud
ExpertSEO & Website15 min leestijd#46

Geautomatiseerd SEO-content publiceren met GitHub Actions

Wij publiceren bij Framboos meerdere SEO-pagina's per dag — automatisch gegenereerd, gecontroleerd, gepubliceerd én ingediend bij Google. Geen content-fabriek met 50 freelancers. Eén pipeline. In deze handleiding zie je de architectuur die wij zelf gebruiken, met GitHub Actions als motor. Eerlijk over wat het kost, wat fout kan gaan, en hoe je het zelf neerzet.

Door Framboos.io4 secties · 3 prompts · 1 quiz
Voortgang0/4 secties
0%
SECTIE 01

Waarom GitHub Actions als motor?

GitHub Actions is een gratis automatiseringssysteem (tot 2.000 minuten/maand voor private repos, onbeperkt voor publieke). Je definieert workflows in YAML-bestanden die draaien op triggers — geplande tijdstippen, push naar je repo, of een handmatige knop.

Voor SEO-content-publishing is dat ideaal omdat: 1) je content versie-gecontroleerd is (elke wijziging zichtbaar in git), 2) je workflows reproduceerbaar zijn, en 3) het direct integreert met je site-deploy als die ook op GitHub staat (Vercel, Netlify, Cloudflare Pages).

Wat je krijgt aan automatisering

  • Dagelijks nieuwe SEO-artikelen op basis van keyword-lijst
  • Automatische sitemap-update + Google Indexing API submission
  • Internal linking auto-update na elke publicatie
  • Versie-historie van elke wijziging, rollback in één klik
  • Geen handmatig publicatieproces meer
SECTIE 02

De volledige pipeline-architectuur

Dit is exact wat wij draaien op deze website. Niets verzonnen, niets weggelaten.

01Use case

Keyword-bron (Google Sheet of repo)

Een Sheet of een markdown-bestand met geplande keywords, intentie en briefing. De pipeline leest dit aan het begin van elke run.

In de praktijk

Framboos draait een gedeelde sheet met 200+ keywords met status (gepland / gepubliceerd / gefaald).

02Use case

Generator (Anthropic Claude API)

Een script (TypeScript of Python) dat per keyword een SEO-artikel genereert met Claude Sonnet of Opus. Inclusief title, meta description, H1-H3 structuur, intro, body, FAQ en schema markup.

In de praktijk

Wij gebruiken Claude Opus voor cornerstone-artikelen (€0,15/artikel) en Sonnet voor lange-tail (€0,03/artikel).

03Use case

Kwaliteitscheck (LLM-judge + regels)

Voor publicatie: tweede LLM-call die de kwaliteit toetst (woordaantal, herkenbare H2's, geen 'in een wereld waarin', geen verzonnen feiten). Faalt? → terug naar generator met feedback. Slaagt? → door naar publicatie.

In de praktijk

Onze quality gate weigert nog steeds 8% van de gegenereerde artikelen — die worden automatisch opnieuw gegenereerd met aangescherpte prompt.

04Use case

Publicatie (commit + deploy)

Script commit het artikel als markdown-bestand in /src/content/blog/, push naar main, en de site-build (Vercel/Netlify) wordt automatisch getriggerd. Sitemap updates met het build proces mee.

In de praktijk

Van trigger tot live op de site: gemiddeld 4-7 minuten bij ons.

05Use case

Indexing (Google Indexing API + Search Console)

Na deploy: aparte job die de nieuwe URL submit aan Google's Indexing API. Search Console laat zien wanneer Google echt heeft geïndexeerd (meestal binnen 1-24 uur).

In de praktijk

Onze artikelen verschijnen in Google search results binnen 4-12 uur na publicatie.

SECTIE 03

Bouwstappen — van nul naar werkende pipeline

Realistisch tijdspad: 2-3 dagen om de basis op te zetten, daarna 1-2 weken finetunen op kwaliteit. Niet iets dat je tussen vergaderingen door doet — maar als het draait, draait het.

1

Schrijf je generator-script lokaal

Begin in een lokale Node.js of Python omgeving. Schrijf één script: keyword in → markdown-artikel uit. Test met 5-10 keywords handmatig, lees de output kritisch, finetune je prompts tot 80% direct publiceerbaar is. Dit is verreweg het belangrijkste deel.

2

Verpak in een GitHub Action workflow

Maak in je repo .github/workflows/publish.yml. Definieer: schedule (cron-trigger, bijv. elke dag 09:00 UTC), steps (checkout repo → installeer deps → run script → commit changes). Voeg secrets toe (ANTHROPIC_API_KEY, GOOGLE_INDEXING_KEY) via repo Settings → Secrets.

3

Voeg quality-gate en indexing toe

Extra steps in de workflow: een quality-check-script (LLM-judge dat schrijft 'PASS' of 'FAIL: reason'), een sitemap-build, en een Google Indexing API submission via service account JSON. Bij faal: workflow stopt, notificatie via Slack of e-mail.

Generator-prompt die wij gebruiken (vereenvoudigd)
Je schrijft een SEO-artikel voor [bedrijfsnaam], een [type bedrijf].

INPUT:
- Primaire keyword: {{ keyword }}
- Secundaire keywords: {{ secondaryKeywords }}
- Search intent: {{ intent }} (informational / commercial / navigational)
- Doelgroep: [omschrijving]

STRIKTE EISEN:
- 800-1200 woorden, alleen tellend de body
- H1 bevat exact de primaire keyword
- 4-6 H2's met informatieve subkoppen (geen "wat is X" als H2)
- Concrete Nederlandse MKB-voorbeelden, geen verzonnen casuïstiek
- "Je/jij" toon, nooit "u/uw"
- Geen marketing-clichés ("in een wereld", "ontzorgen", "uitdaging")
- Geen verzonnen feiten of cijfers — als je het niet zeker weet, niet noemen

OUTPUT-FORMAT (frontmatter + markdown):
---
title: "..."
description: "..."
slug: "..."
date: "YYYY-MM-DD"
keywords: ["..."]
---

# H1

[Intro 2-3 zinnen]

## H2 ...
...

Plaats GEEN tekst voor of na de markdown.
SECTIE 04

Kosten, risico's en wat wij ervan geleerd hebben

Een pipeline runnen kost minder dan je denkt — maar er zijn drie risico's die je écht moet afdekken.

Misverstand 1

Massa gepubliceerde AI-content rankt vanzelf in Google.

Hoe het echt zit

Onzin. Google straft tegenwoordig grootschalige low-quality AI-output via Helpful Content updates. Onze pipeline werkt omdat we kwaliteit en relevantie afdwingen vóór publicatie — niet ondanks. Schrijf goede prompts en weiger middelmatige output, anders bouw je een SEO-tijdbom.

Misverstand 2

Als de pipeline eenmaal draait, hoef je niets meer te doen.

Hoe het echt zit

Wij monitoren elke ochtend de output van de avond ervoor. Quality gate vangt 80%, mens vangt de rest. Reken op 15-30 minuten per dag review, plus 2-4 uur per maand om prompts en briefings te updaten op basis van wat in Google wel/niet rankt.

Misverstand 3

GitHub Actions is duur.

Hoe het echt zit

Voor publieke repos onbeperkt gratis. Voor private repos 2.000 minuten/maand gratis (een typische pipeline-run duurt 2-5 minuten — genoeg voor honderden publicaties). Wij betalen op deze schaal niets voor de infra. Alleen Anthropic API-kosten: ~€30-80/maand bij dagelijkse publicaties.

De grootste les uit 2 jaar pipeline-bouw: kwaliteit van je quality gate bepaalt het succes, niet de generator. Investeer 80% van je tijd in de checker, 20% in de schrijver. Zo voorkom je dat je site een ranking-graveyard wordt.

Direct te gebruiken

3 prompts om vandaag mee te beginnen

Vervang de stukken tussen blokhaken door jouw eigen gegevens. Plak in ChatGPT of Claude. Klaar.

Prompt 1 — Bouw je keyword-pijplijn
Help mij een SEO-keyword-pijplijn opzetten voor [bedrijfsnaam], een [type bedrijf] in [stad].

We willen automatisch 1-3 SEO-artikelen per week genereren via een pipeline.

Genereer:
1. Lijst van 50 long-tail keywords passend bij ons (mix informational/commercial intent)
2. Per keyword: search intent, doelgroep, en suggestie voor H1
3. Cluster ze in 5-7 topic clusters
4. Prioriteer top 10 voor de eerste maand op basis van: zoekvolume schatting, concurrentie, conversie-potentieel

Output als JSON met 'clusters' en 'keywords' array.
Prompt 2 — LLM-judge voor kwaliteitscheck
Je bent een SEO-kwaliteits-checker. Beoordeel het volgende artikel:

---
{{ article }}
---

CHECK strict op:
1. Lengte 800-1200 woorden body
2. H1 bevat de primaire keyword [keyword]
3. 4-6 H2's met informatieve subkoppen
4. Geen verboden frasen: "in een wereld waarin", "ontzorgen", "naadloos", "synergie", "in deze blog"
5. "Je/jij" toon, NIET "u/uw"
6. Concrete Nederlandse MKB-voorbeelden (geen "een groot bedrijf")
7. Geen verzonnen cijfers of feiten waar je niet zeker van bent
8. Frontmatter compleet en correct

OUTPUT (JSON):
{
  "verdict": "PASS" | "FAIL",
  "score": 1-10,
  "issues": ["concrete probleem 1", "..."],
  "fixes": "concrete instructie voor regenerate"
}

Wees streng. Liever 8/10 die je 'FAIL'-geeft dan dat één slecht artikel doorloopt.
Prompt 3 — Internal-linking auto-update
Je bent een SEO-internal-linking analist.

INPUT:
- Nieuw gepubliceerd artikel: {{ newArticle }}
- Bestaande artikelen op de site (lijst met titel, slug, top-3 keywords): {{ existingArticles }}

TAAK:
Identificeer:
1. 3-5 bestaande artikelen waar het nieuwe artikel logisch naar kan linken (uitgaande links uit nieuwe artikel)
2. 5-10 bestaande artikelen waarin je het nieuwe artikel met een natuurlijke anchor text wilt linken (binnenkomende links naar nieuwe artikel)
3. Per voorgestelde link: zin/paragraaf waar de link redelijk past + voorgestelde anchor text

OUTPUT (JSON):
{
  "outbound": [{ "to": "slug", "anchor": "...", "context": "..." }],
  "inbound": [{ "from": "slug", "anchor": "...", "context": "..." }]
}

Strikt: alleen suggesties waar de link semantisch klopt. Niet forceren.
Veelgestelde vragen

Misschien zit jouw vraag erbij

GitHub Actions is een gratis automatiseringssysteem dat workflows draait op triggers (planning, code-push, handmatige knop). Voor SEO gebruik je het om dagelijks content te genereren met de Anthropic API, kwaliteit te checken, te publiceren naar je site en in te dienen bij de Google Indexing API — allemaal zonder handwerk. Voor publieke repos onbeperkt gratis.
Kennis check

Wat heb je onthouden?

3 korte vragen. Je krijgt direct feedback bij elk antwoord.

1.Wat is de belangrijkste component in een SEO-publicatie-pipeline?

2.Mag je grootschalig AI-content publiceren zonder Google-risico?

3.Wat is het belangrijkste voordeel van GitHub Actions voor SEO-publishing?

Wat wij in de praktijk zien

Framboos perspectief

Deze pipeline is letterlijk wat onder de motorkap van framboos.io draait. We hebben hem in 2024 gebouwd uit frustratie: handmatig 5 blogs per maand publiceren was traag en de output was niet consistent. Sinds we de pipeline draaien publiceren we 1-3 artikelen per dag, met een quality gate die elk artikel toetst voor het live gaat. Resultaat in 18 maanden: van een lege site naar honderden geïndexeerde pagina's met substantieel organisch verkeer. Niet door 'AI-content blasten' — door strenge AI-content met menselijke regie.

Eerlijk over wat er fout kan gaan: we hebben twee keer een serieuze ranking-dip gehad doordat ons quality-gate te soepel stond. Op een gegeven moment publiceerde de pipeline een batch van 30 artikelen met dezelfde 'in deze handleiding gaan we kijken naar' opener — Google merkte het binnen 3 weken op en we zagen verkeer kelderen. Lesgeleerd: elke maand een review-sessie met de output. Tien artikelen lezen, patronen opsporen, prompts updaten. Wie deze controle vergeet, bouwt een mooie machine die zijn eigen site om zeep helpt. Wie 'm erin houdt, krijgt een onbreekbare SEO-vlieg-wiel.

Liever uitbesteden?

Wij zetten AI in voor je bedrijf — jij houdt de tijd over.

Geen tijd om zelf in AI te duiken? Wij bouwen je website, schrijven je SEO-teksten en regelen je advertenties — allemaal AI-gedreven, vaste prijzen, geen gedoe.

Neem contact op
Chat via WhatsApp