02
Public Pages — SEO Critical
Home, About, Pricing, Team — must render on server and be fully crawlable
Week 25 daysEstimated: 20h totalHighest Priority
This is what the entire migration is for
After this phase, Google, Claude, GPT, Perplexity and every other crawler will see your full page content.
Root Layout — app/layout.jsx
Create app/layout.jsx — wraps every page. Add Navbar, Footer, Sonner Toaster.
Add global metadata export — site title template, description, OG defaults
Pages to Create — All Server Components
app/page.jsx — Home — No 'use client'. Add metadata.
app/about/page.jsx — Add MedicalOrganization JSON-LD schema.
app/pricing/page.jsx — Add Offer schema JSON-LD.
app/team/page.jsx — Add Person JSON-LD schema.
app/not-found.jsx — Custom 404 page.
SEO Files
Create public/robots.txt — allow GPTBot, ClaudeBot, Google-Extended
Create next-sitemap.config.js — auto-generates sitemap.xml at every build
next-sitemap.config.js
/** @type {import('next-sitemap').IConfig} */
module.exports = {
siteUrl: process.env.NEXT_PUBLIC_APP_URL || 'https://medicare.com',
generateRobotsTxt: true,
changefreq: 'weekly',
priority: 0.7,
sitemapSize: 5000,
exclude: ['/dashboard/*', '/doctor/*', '/admin/*', '/founder/*'],
robotsTxtOptions: {
additionalSitemaps: [],
policies: [
{ userAgent: '*', allow: '/' },
{ userAgent: '*', disallow: ['/dashboard', '/doctor', '/admin', '/founder'] },
{ userAgent: 'GPTBot', allow: '/' },
{ userAgent: 'ClaudeBot', allow: '/' },
{ userAgent: 'Google-Extended', allow: '/' },
],
},
}public/robots.txt
User-agent: * Allow: / Disallow: /dashboard Disallow: /doctor Disallow: /admin Disallow: /founder # AI Crawlers — Allow them to index public pages User-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Google-Extended Allow: / Sitemap: https://medicare.com/sitemap.xml