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

推荐订阅源

Vercel News
Vercel News
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
WordPress大学
WordPress大学
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
罗磊的独立博客
The Cloudflare Blog
V
V2EX
月光博客
月光博客
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
博客园 - 【当耐特】
T
Tailwind CSS Blog

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
How I Built a 1000-Page Numerology Site with Programmatic...
Fifteen Lee · 2026-06-21 · via DEV Community
Cover image for How I Built a 1000-Page Numerology Site with Programmatic SEO

Fifteen Lee

I built Angel Number — a site that gives you the numerology meaning of any repeating number from 000 to 999. Every single number has its own page, its own unique content, and its own SEO metadata. All generated programmatically.

Here's how programmatic SEO works for a content-heavy niche site.

## The Challenge

Angel numbers (111, 222, 333, etc.) are a popular search topic. People type "angel number 111 meaning" into Google every day. The problem is:

  • Creating 1000+ pages manually is impossible
  • Each page needs genuinely unique content, not just find-and-replace
  • The content has to be useful enough that people stay and read

## The Solution: Programmatic SEO

Instead of writing 1000 pages by hand, I built a content generation system that creates each page from structured data.

### Data Structure

Each number is defined by three layers:

interface AngelNumber {
  number: number;      // 111, 222, etc.
  baseMeaning: string; // Core numerology meaning
  keywords: string[];  // Related concepts
  combinations: {      // For multi-digit analysis
    digits: number[];
    meaning: string;
  }[];
  zodiacAffinity?: string; // Optional zodiac tie-in
}

### Page Generation

A single Next.js dynamic route generates all pages:

[number] → /111, /222, /333, ... /999

Each page gets:

  • Unique title tag ("Angel Number 111 Meaning — Numerology")
  • Unique meta description
  • JSON-LD structured data (WebPage schema)
  • Canonical URL
  • Internal links to related numbers

## The Technical Stack

  • Next.js 14 with static generation (ISR)
  • TypeScript for type safety
  • Tailwind CSS for responsive design
  • Vercel for hosting and automatic ISR revalidation

Static generation means all 1000+ pages are pre-rendered at build time. They load instantly — no server-side computation on request.

## SEO Results So Far

The programmatic approach wins on long-tail coverage. Individual number pages rank for queries like:

  • "angel number 333 meaning love"
  • "444 angel number twin flame"
  • "what does 111 mean spiritually"

Each query might be low volume individually, but 1000+ pages × low-volume queries = consistent traffic.

## Lessons Learned

### What Worked

  • Unique content per page — Google can detect templated content. Each page needs genuine value.
  • Internal linking — linking between related numbers keeps users browsing and distributes page authority.
  • Clean URLs/333 is better than /number?=333.

### What I'd Improve

  • User contributions — letting users share their experiences with each number would add fresh content automatically.
  • More media — visualization of number patterns or numerology charts would reduce bounce rate.
  • Multi-language — angel numbers are searched in every language. Each new language = 1000 more pages.

## Try It

Search any number at Angel Number — instant numerology meaning, no sign-up, no ads clutter.


Built with Next.js 14, TypeScript, and Tailwind CSS. Hosted on Vercel.