feat(seo+landing): /classroom in footer + seoRoutes for sitemap inclusion

LandingPage footer gains a "For schools" link sitting between Pricing
and About — gives institutional visitors a discoverable path to the
Classroom landing without burying it inside the FAQ.

seoRoutes.ts adds the /classroom entry (priority 0.85, monthly
changefreq) so the auto-generated sitemap picks it up on every build.
Bonus: getSeoMeta('/classroom') now returns the institutional title +
description if any other code wants to read it programmatically.

The static public/sitemap.xml is not committed — `npm run generate:sitemap`
overwrites it during the Docker build, so any hand-edit would be wiped.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
David Montero 2026-05-29 17:21:41 +02:00
parent 1d847d19cc
commit 0bcfbde617
2 changed files with 14 additions and 0 deletions

View File

@ -1238,6 +1238,7 @@ export const LandingPage: React.FC = () => {
<Link to={localize('/examples')}>{t('header.nav.examples')}</Link>
<Link to={localize('/editor')}>{t('header.nav.editor')}</Link>
<Link to={localize('/pricing')}>{t('header.nav.pricing')}</Link>
<Link to={localize('/classroom')}>{t('header.nav.classroom', 'For schools')}</Link>
<Link to={localize('/about')}>{t('header.nav.about')}</Link>
</div>
<p className="footer-copy">{t('footer.about')}</p>

View File

@ -410,6 +410,19 @@ export const SEO_ROUTES: SeoRoute[] = [
},
},
// ── Classroom (institutional sales landing) — Phase 3 D3.7
{
path: '/classroom',
priority: 0.85,
changefreq: 'monthly',
seoMeta: {
title: 'Velxio for educators — full Pro features for your classroom',
description:
'Velxio for Classroom gives every student in your course Pro-tier access (private projects, GitHub Sync, BOM and schematic exports, offline desktop) under a single institution contract. From $40/student/year with volume discounts.',
url: `${DOMAIN}/classroom`,
},
},
// ── Auth / admin (noindex)
{ path: '/login', noindex: true },
{ path: '/register', noindex: true },