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
De volledige pipeline-architectuur
Dit is exact wat wij draaien op deze website. Niets verzonnen, niets weggelaten.
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).
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).
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.
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.
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.
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.
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.
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.
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.
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.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.
3 prompts om vandaag mee te beginnen
Vervang de stukken tussen blokhaken door jouw eigen gegevens. Plak in ChatGPT of Claude. Klaar.
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.
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.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.Misschien zit jouw vraag erbij
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?