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

推荐订阅源

V
Visual Studio Blog
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
L
LangChain Blog
美团技术团队
N
Netflix TechBlog - Medium
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog
博客园 - 司徒正美
爱范儿
爱范儿
D
DataBreaches.Net
月光博客
月光博客
U
Unit 42
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
MongoDB | Blog
MongoDB | Blog
腾讯CDC

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.