feat: trim integration pages from 75 to 25 + migrate to MDX

- Add dedicatedPage flag to integration registry (25 true, 50 false)
- Delete hardcoded nextjs/react/vue/wordpress route pages (wrong metadata)
- Hub page routes non-dedicated integrations to /integrations/script-tag
- Add 301 redirects for 50 removed slugs → /integrations/script-tag
- Migrate guide content from TSX to MDX (content/integrations/*.mdx)
- Add gray-matter, next-mdx-remote, remark-gfm dependencies
- Add content loader (lib/integration-content.ts) matching ciphera-website pattern
- Add prebuild script for integration guide index generation
- Sitemap reduced from 83 to 35 URLs with real lastmod dates
- Remove seoDescription from registry (now in MDX frontmatter)
This commit is contained in:
Usman Baig
2026-03-29 00:28:47 +01:00
parent 20d7bdd482
commit 066f1288f1
42 changed files with 2515 additions and 4233 deletions

View File

@@ -244,7 +244,7 @@ export default function IntegrationsPage() {
transition={{ duration: 0.4, delay: i * 0.05 }}
>
<Link
href={`/integrations/${integration!.id}`}
href={integration!.dedicatedPage ? `/integrations/${integration!.id}` : '/integrations/script-tag'}
className="group flex items-center gap-3 p-4 bg-neutral-900/50 backdrop-blur-sm border border-neutral-800 rounded-xl hover:border-brand-orange/50 transition-all duration-300 hover:-translate-y-0.5 hover:shadow-lg h-full"
>
<div className="p-2 bg-neutral-800 rounded-lg shrink-0 group-hover:scale-110 transition-transform duration-300 [&_svg]:w-6 [&_svg]:h-6">
@@ -283,7 +283,7 @@ export default function IntegrationsPage() {
transition={{ duration: 0.5, delay: i * 0.05 }}
>
<Link
href={`/integrations/${integration.id}`}
href={integration.dedicatedPage ? `/integrations/${integration.id}` : '/integrations/script-tag'}
className="group relative p-6 bg-neutral-900/50 backdrop-blur-sm border border-neutral-800 rounded-2xl hover:border-brand-orange/50 transition-all duration-300 hover:-translate-y-1 hover:shadow-xl block h-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-orange focus-visible:ring-offset-2"
>
<div className="flex items-start justify-between mb-6">