惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
月光博客
月光博客
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
小众软件
小众软件
量子位
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built an open-source SEO landing builder (Next.js + Pay...
AntonAmbarov · 2026-06-23 · via DEV Community

AntonAmbarov

The problem I kept seeing

I've spent years in SEO across enterprise teams and different niches. Then I became a full-stack developer.

And I kept running into the same issue:

The SEO-Dev gap.

In every company I worked for, SEO tasks were stuck in a backlog. Changing an H1, adding a FAQ block, or updating a phone number — these are 2-minute tasks that take 2 weeks because they need a developer.

I've been on both sides. I know why devs hate these tickets. And I know why SEOs get frustrated.

The enterprise solution?

In big companies, they build internal landing constructors. Custom tools where SEOs can build pages themselves — no designers, no frontend devs, no waiting.

But every company rebuilds the same thing from scratch. Expensive. Time-consuming. Only big players can afford it.

So I built an open-source alternative.

Introducing SEO Landing Constructor

A free, self-hosted landing page builder with SEO at its core.

Built with: Next.js 15 (App Router), Payload CMS 3, TypeScript, Tailwind CSS, shadcn/ui, PostgreSQL + Drizzle

MIT licensed. Deploy on your own infrastructure. No vendor lock-in.

What it does right now (MVP)

For SEOs & Marketers:

  • Blocks-based builder — Hero, Pricing, FAQ, Testimonials, CTA, Features. Assemble pages in minutes.
  • Visual Block Customization — adjust padding, margins, background, theme (dark/light) directly from admin panel.
  • Global shortcodes — change price, phone, company name in ONE place. Updates across ALL pages instantly.
  • Bulk JSON import — migrate entire page structures or generate pages via AI in seconds.

For Developers:

  • SEO out of the box — SSR, metadata, sitemap, schema.org, Open Graph, optimized Core Web Vitals
  • overrides/blocks/ system — customize any block without touching core code. Keep your design system.
  • Self-hosted — deploy on your domain, subdomain, or separate domain. Full control.
  • Clean codebase — well-structured, TypeScript, modern stack

Architecture deep dive

Here's the high-level structure:
├── payload/blocks/ # Block schemas for admin panel
├── components/blocks/ # React components for frontend
├── components/overrides/ # Safe customization layer (!!)
├── payload/globals/ # Global settings & shortcodes
└── components/ui/ # shadcn/ui base components

The key design decision: the overrides/ folder.

Developers can override ANY block without modifying the core package. This means:

  • You keep your design system intact
  • You can add custom business logic
  • You don't fight with the CMS when you need to customize something
  • Upgrades don't break your customizations

Why this matters: Most open-source CMS tools force you to either accept the default UI or fork the entire project. This approach gives you the best of both worlds — a working system out of the box, with escape hatches when you need them.

What's coming (Roadmap)

In progress:

  • Live Preview & Draft mode — see changes before publishing

Next:

  • Advanced SEO blocks — Stats, Trust Bar, Comparison Table, Logos, Countdown, FAQ with schema
  • Custom HTML Block
  • Built-in form handling with server actions
  • Page templates — reusable structures
  • A/B testing for individual blocks
  • Multi-language (i18n) support

Future:

  • Reusable Widgets system
  • AI-assisted content generation
  • Analytics integration (GTM/GA4)
  • CLI improvements
  • Smart page templates with block inheritance

Where I need YOUR help

This is an MVP. There are bugs. The UI isn't perfect. And I'm not sure if I'm building the right thing.

So I have some open questions for the community:

  1. Is this actually useful? — Would you (or your marketing team) use something like this? Or is the problem not painful enough?

  2. What blocks are missing? — What landing page components do you constantly rebuild? What would make you switch from Webflow/Carrd/your current solution?

  3. Devs — what would make this easier to adopt? — Better CLI? More documentation? Video tutorials? Docker setup?

  4. SEOs — what's the #1 feature you wish existed? — I've built what I think you need, but I might be wrong.

  5. How should I grow this? — Focus on more blocks? Better developer experience? Marketing site? Community?

  6. Is the overrides/ approach actually useful? — Or should I make customization even simpler?

Try it. Break it. Tell me what sucks.

Live Demo: https://create-seo-landing.vercel.app/

Admin Panel: https://create-seo-landing.vercel.app/admin/
login: demo@demo.com
pass: Demopassword

GitHub Repo: https://github.com/AntonAmbarov/create-seo-landing

Quick start:

git clone https://github.com/AntonAmbarov/create-seo-landing.git
cd seo-landing-constructor
cp .env.example .env
pnpm install
pnpm dev

The bigger picture

I've seen this work in enterprise. Now I want to make it available for everyone — indie founders, small teams, agencies, and anyone tired of the SEO-Dev gap.

But I can't build this alone

I need feedback. I need people to break it. I need to know if I'm solving a real problem or just building something that seems cool.

So if you have 5 minutes:

Try the demo

Break something

Leave a comment telling me what you think

GitHub: https://github.com/AntonAmbarov/create-seo-landing
Open to: Contributors, feedback, feature requests, and brutal honesty.

Thanks for reading 🙌