How We Built a 160-Article AI Education Platform with Next.js and Static HTML
Three months ago, I launched IAcademy — an AI education platform in Spanish with 160+ free guides covering everything from prompting basics to autonomous agents, LLM deployment, and MCP servers.
Here’s what worked, what didn’t, and the architecture behind it.
Why Spanish AI Education is Underserved
The AI education space is dominated by English content. Coursera, Udemy, DeepLearning.AI — all English-first. Spanish-speaking professionals (500M+ people) get translated scraps or nothing.
The opportunity: 0% competition on keywords like “agentes ia” (400 monthly searches), “herramientas ia” (400), “formación ia” (250). In English, these keywords have 30-50% competition. In Spanish, nobody’s writing quality content.
Architecture: Why Static HTML, Not a CMS
Each blog post is a standalone index.html file. No WordPress, no Gatsby, no MDX compilation step.
site/blog/
├── agentes-ia-que-son/
│ └── index.html
├── herramientas-ia-guia/
│ └── index.html
├── formacion-ia/
│ └── index.html
└── ... (160+ directories)
Enter fullscreen mode Exit fullscreen mode
Why this approach:
- Zero build time. Adding an article = creating a directory + file. No compilation, no hydration errors, no framework upgrades breaking 160 pages.
-
Perfect SEO control. Every
<title>,<meta>, JSON-LD schema, internal link, and heading hierarchy is hand-crafted per page. No CMS template imposing its structure. - Instant deploy. Push to GitHub → Cloudflare Pages deploys in ~30 seconds. No build queue.
- No JavaScript required for content. Google indexes immediately. Core Web Vitals are perfect — there’s nothing to load.
The dynamic parts (auth, course portal, labs) use Supabase + vanilla JS. But the blog — which is the SEO engine — is pure static HTML.
Content Strategy: Niche Prompts Beat Head Terms
After 3 months, here’s what ranks and what doesn’t:
What ranks (top 10 in Google):
-
prompts-ia-facturacion— prompts for accountants (position 8.4) -
prompts-ia-logistica— prompts for logistics (position 4.3) -
prompts-resumenes-ejecutivos— executive summary prompts (position 6.9) -
rol-en-prompts— role prompting guide (position 7.2)
What doesn’t rank yet:
-
herramientas-ia-guia— “AI tools” head term -
agentes-ia-que-son— “AI agents” head term -
ia-para-marketing— competitive keyword
The pattern: profession-specific prompt templates rank faster than generic guides. Nobody else writes “20 prompts for invoice reconciliation in Spanish.” Everyone writes “best AI tools 2026.”
SEO Schema: What Actually Matters
Every article includes:
// Article schema
{"@type": "Article", "headline": "...", "author": {...}, "wordCount": 2800}
// FAQ schema (drives rich snippets)
{"@type": "FAQPage", "mainEntity": [{...}, {...}, {...}]}
// Breadcrumb schema
{"@type": "BreadcrumbList", "itemListElement": [...]}
Enter fullscreen mode Exit fullscreen mode
The FAQ schema is the highest-ROI structured data. Google shows your FAQ answers directly in search results → higher CTR → more clicks from the same position.
Honest Numbers (3 Months)
Metric Value Articles published 160+ Total clicks (3 months) ~120 Daily impressions 0 → 200 (growing) Pages in top 10 5 Revenue $0 (course just launched) Domain Rating ~0 (new domain)120 clicks in 3 months is painful. But the trajectory matters: impressions went from 0 to 200/day. The content exists, Google is indexing it, positions are slowly improving. The bottleneck is domain authority (zero backlinks) and domain age (Google sandbox).
What I’d Do Differently
Start with 20 niche articles, not 160. I over-invested in content before having any domain authority. 20 well-linked articles on a domain with 30 backlinks would rank faster than 160 articles on a domain with 0 backlinks.
Build backlinks from day one. Directory submissions, guest posts, GitHub profile links — these should start before the first article, not after the 160th.
Focus on profession-specific content. “Prompts for accountants” ranks. “AI tools guide” doesn’t (yet). Double down on what works.
Stack
- Blog: Static HTML on Cloudflare Pages
- Auth + courses: Supabase (PostgreSQL + RLS)
- Analytics: PostHog (EU)
- Email: Brevo (transactional)
- SEO tracking: Google Search Console + Sistrix
Links
Building in public. Follow along on LinkedIn for weekly updates.