SEO Core is an enterprise-grade, high-performance web platform designed to maximize search engine visibility through automation. Built with a robust modern stack (Next.js 15 + Strapi v5), it leverages the power of Google Gemini 2.0 Flash to automatically generate, optimize, and organize perfect SEO metadata and semantic structures (JSON-LD) for every piece of content.
This project perfectly balances extreme technical optimization with an elegant, minimalist ("AAA") User Interface.
- Automated AI SEO Pipeline: The moment an article is crafted in Strapi, an internal lifecycle hook triggers Gemini 2.0 Flash to synthesize pixel-perfect Meta Titles, Descriptions, Keywords, and Robot directives based on content semantic analysis.
- Enterprise Semantic Web Structure: Full support for Google Rich Results via automatic
BreadcrumbListandArticleSchema.org JSON-LD injections. - Dynamic Crawl Directives: Programmatically generated
sitemap.xmlandrobots.txtensuring real-time indexing synchronization. - Modern Monorepo Architecture:
- Backend: Strapi v5 running entirely autonomously, powered by PostgreSQL 16.
- Frontend: Next.js 15 (App Router, Turbopack) built on optimal Server Components for blazingly fast TTFB (Time to First Byte).
- Dockerized Zero-Config Environment: One-command setup (
docker compose up) orchestrating the backend, frontend, PostgreSQL, and an Nginx Proxy Manager for immediate, scalable deployment. - "Brutalist-Chic" Premium Design: A meticulously crafted minimalist design system focusing on extreme readability, technical typography (
font-mono), and spatial consistency.
| Ecosystem | Technologies |
|---|---|
| Frontend | Next.js 15 (App Router), React 19 rc, TailwindCSS, Lucide Icons, Shadcn-like raw components |
| Backend (Headless CMS) | Strapi v5, Node.js (v20), @google/generative-ai |
| Database | PostgreSQL 16 (Alpine) |
| Infrastructure / DevOps | Docker Compose, Docker, Nginx Proxy Manager |
| Artificial Intelligence | Google Gemini 2.0 Flash |
- Docker & Docker Compose
- Node.js (only for local tooling/linting, everything else runs in Docker)
- A Google AI Studio API Key for Gemini 2.0 Flash
-
Clone the repository
git clone https://github.com/con4ig/seo-core.git cd seo-core -
Configure Environment Variables Set up your configuration files based on the
.env.exampletemplates.Backend:
cp Backend/.env.example Backend/.env
Crucial: Open
Backend/.envand paste your Gemini API Key:GEMINI_API_KEY="your_api_key_here"Frontend:
cp Frontend/.env.example Frontend/.env
-
Launch the Container Infrastructure
# Initialize and build the stack docker compose up --build -d -
Access the Applications
- Frontend UI: http://localhost:3000
- Strapi Admin Panel: http://localhost:1337/admin
- Nginx Proxy Manager (Optional): http://localhost:81
- Note: On the first database initialization, Strapi will prompt you to create an Admin account.
- A content editor creates a new
Articlevia the Strapi Admin Panel and fills thecontentblocks. - Upon saving (Draft) or publishing, Strapi's programmatic
lifecycles.tshook catches thebeforeCreateorbeforeUpdateevents. - If the SEO metadata fields are empty, the backend dispatches a heavily context-aware prompt containing the article's raw text to the
Gemini 2.0 FlashAPI. - Gemini synthesizes structured JSON containing optimal keywords and meta descriptions.
- The CMS automatically injects the AI results into the Database precisely before the transaction completes.
- When the frontend hits
/api/articles/[slug], Next.js maps thearticle.seoobject into advanced Next.js Metadata and JSON-LD schema tags on the server side prior to rendering.
This repository acts as a comprehensive demonstration of the integration between modern headless architectures, programmatic SEO optimization, and LLM (Large Language Model) agents working securely in the background.
To explore the exact iterative process behind this system's architecture, browse the commit history! All features were structured under the standard Conventional Commits formats.
We welcome contributions! Please see our Contributing Guide for details on how to get started, our technical architecture, and the project roadmap.