I just added 990 crypto/fiat price conversion pages to my dev tools site using Next.js dynamic routes and CoinGecko's free API.
Every page like /price/sol-to-usd, /price/btc-to-eth, /price/doge-to-jpy has:
- Live price calculator
- Quick reference table (0.1, 0.5, 1, 5, 10, 25, 50, 100, 500, 1000 conversions)
- Related pair links
- SEO-optimized title, description, and keywords
- 500+ words of unique content
The Setup
31 tokens (SOL, BTC, ETH, BNB, XRP, ADA, DOGE, DOT, AVAX, LINK, UNI, JUP, BONK, PEPE, SHIB + 7 fiat currencies) × 30 pairs each = 930 unique pages.
The Code
// app/price/[pair]/page.tsx
const TOKENS = {
sol: { name: "Solana", symbol: "SOL", coingeckoId: "solana" },
btc: { name: "Bitcoin", symbol: "BTC", coingeckoId: "bitcoin" },
// ... 29 more
};
export async function generateMetadata({ params }) {
const { pair } = await params; // Next.js 16 async params
const { from, to } = parsePair(pair);
return {
title: `${from.name} to ${to.name} Price Calculator`,
description: `Convert ${from.symbol} to ${to.symbol} with live rates.`,
};
}
The client component fetches live prices from CoinGecko's free API and renders a calculator with instant conversion.
Why Programmatic SEO?
People search "SOL to USD", "BTC to ETH", "DOGE to USD" millions of times per month. Each of these 990 pages targets a specific search query with unique content.
The pages are rendered on-demand (not pre-built) to keep deploy times fast on Vercel's hobby plan.
Results
Site went from 200 static pages to 1,200+ total indexed URLs in one commit. Every page has ads generating CPM revenue.
Check it out: devtools-site-delta.vercel.app/price/sol-to-usd
Full site: devtools-site-delta.vercel.app
Top comments (0)