MCPcopy Index your code
hub / github.com/agamm/pseo-next

github.com/agamm/pseo-next @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
18 symbols 47 edges 22 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Next 13 Boilerplate for Programmatic SEO Campaigns

A terse template for creating modern Programmatic SEO campaigns. Including all of the features you would expect in a modern pSEO campaign. From the creator of unzip.dev.

image

Programmatic SEO Features

  • ⚡ Utalizes Next 13 for Static Fast Webpage Loading and Deploy on Vercel.
  • 🏗️ Use ISR for regenerating infomration on Vercel during runtime.
  • 🗺️ Sitemaps and Robots.txt generated automatically even with ISR regeneration via next-sitemap.
  • 🏯 Site, Blog and Variant page have distinct layouts.
  • 🤖 SEO metadata, JSON-LD and Open Graph tags with Next SEO.
  • 💯 Maximize lighthouse score.
  • 🍪 Built in Cookie Banner.
  • 📊 Built in Google Analytics.
  • 📷 Auto 404 Image place holder component.

Developer experience first:

  • 📦 Prisma (Postgres-compatible) for easy DB interaction.
  • 🔥 Type checking TypeScript.
  • 💎 Integrate with Tailwind CSS.
  • ✅ Strict Mode for TypeScript and React 18.
  • 💖 Code Formatter with Prettier.
  • 💡 Absolute Imports using @ prefix.
  • 🧪 E2E Testing with Playwright.

Getting Started

  1. git clone git@github.com:agamm/pseo-next.git pseo-example
  2. npm i
  3. Start docker (for local postgress DB)
  4. Open https://localhost:3000/
  5. Check the Development section.

  6. Open http://localhost:3000 with your browser to see the result.

Development

  • .env.example -> mv to -> .env (change parameters if needed)
  • /src/app/(site) - all of your landing pages go here (Home page, about, terms etc...)
  • /posts - Your blog written as Markdown files.
  • /src/app/blog - change your blog layout.
  • /src/variant/[slug] - This is where you do your Programmatic variants.

  • Would be something like: yoursite.com/hotels/spain-summer-2023 (variant="hotels", slug="spain-summer-2023")

  • Remember to uncomment the comments there to actually fetch from your DB.

  • Make sure to look into /src/components (I recommend using everywhere)

Lastly after fixing all of the FIXME comments. Connect your project to Prisma by:

  • Adding your schema in /prisma/schema.prisma
  • npx prisma migrate dev --name init
  • npm run db

Deployment

  1. Connect your repository to Vercel.
  2. Add your env variables to Vercel.
  3. In vercel change the build: npm run prod:build

Core symbols most depended-on inside this repo

gtag
called by 2
public/js/script.js
loadScript
called by 1
public/js/script.js
getIP
called by 1
src/serverless/example.ts
generateSitemapArray
called by 1
src/lib/sitemap.ts
getAllPosts
called by 1
src/app/blog/page.tsx
getPost
called by 1
src/app/blog/[slug]/page.tsx
Analytics
called by 0
src/components/Analytics.tsx
CookieBanner
called by 0
src/components/CookieBanner.tsx

Shape

Function 18

Languages

TypeScript100%

Modules by API surface

src/app/blog/page.tsx3 symbols
src/app/blog/[slug]/page.tsx3 symbols
public/js/script.js2 symbols
src/serverless/example.ts1 symbols
src/lib/sitemap.ts1 symbols
src/components/TryImage.tsx1 symbols
src/components/CookieBanner.tsx1 symbols
src/components/Analytics.tsx1 symbols
src/app/variant/[slug]/page.tsx1 symbols
src/app/server-sitemaps/[index]/route.ts1 symbols
src/app/server-sitemap-index.xml/route.ts1 symbols
src/app/layout.tsx1 symbols

For agents

$ claude mcp add pseo-next \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact