SEO & Marketing
LaunchKit comes with built-in SEO optimization and tools to help your startup get discovered.
SEO Setup
Section titled “SEO Setup”Basic Configuration
Section titled “Basic Configuration”- Configure SEO defaults in your
config.ts
file:
export const config = { appName: 'LaunchKit', appDescription: 'Ship your startup idea fast with Next.js + Supabase + TypeScript', domainName: 'https://yourlaunchkit.com', // ... other config};
- SEO Helper Functions - LaunchKit includes SEO utilities in
/libs/seo.ts
:
import { Metadata } from 'next';
export function getSEOTags({ title, description, canonicalUrlRelative, extraTags,}: { title?: string; description?: string; canonicalUrlRelative?: string; extraTags?: Metadata;}): Metadata { return { title: title || config.appName, description: description || config.appDescription, keywords: ['startup', 'saas', 'nextjs', 'supabase', 'typescript'], authors: [{ name: config.appName }], creator: config.appName, openGraph: { title: title || config.appName, description: description || config.appDescription, url: canonicalUrlRelative ? `${config.domainName}${canonicalUrlRelative}` : config.domainName, siteName: config.appName, images: [ { url: `${config.domainName}/og-image.png`, width: 1200, height: 630, }, ], locale: 'en_US', type: 'website', }, twitter: { card: 'summary_large_image', title: title || config.appName, description: description || config.appDescription, images: [`${config.domainName}/og-image.png`], }, robots: { index: true, follow: true, }, ...extraTags, };}
- Page-specific SEO - Add custom SEO to any page:
import { getSEOTags } from '@/libs/seo';
export const metadata = getSEOTags({ title: 'Pricing - LaunchKit', description: 'Choose the perfect plan for your startup', canonicalUrlRelative: '/pricing',});
export default function PricingPage() { return <div>{/* Your pricing page content */}</div>;}
Structured Data
Section titled “Structured Data”Add structured data for better search engine understanding:
export function renderSchemaTags() { const schema = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: config.appName, description: config.appDescription, url: config.domainName, applicationCategory: 'DeveloperApplication', operatingSystem: 'Web', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD', }, };
return ( <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }} /> );}
Sitemap Generation
Section titled “Sitemap Generation”LaunchKit uses next-sitemap
for automatic sitemap generation:
- Configure
next-sitemap.config.js
:
/** @type {import('next-sitemap').IConfig} */module.exports = { siteUrl: process.env.NEXT_PUBLIC_URL || 'https://yourlaunchkit.com', generateRobotsTxt: true, exclude: ['/api/*', '/admin/*'], robotsTxtOptions: { policies: [ { userAgent: '*', allow: '/', disallow: ['/api/', '/admin/'], }, ], },};
- Add to package.json:
{ "scripts": { "postbuild": "next-sitemap" }}
Content Marketing
Section titled “Content Marketing”Blog System
Section titled “Blog System”LaunchKit includes a built-in MDX blog system for content marketing:
- Create blog posts in
/app/blog/posts/
:
---title: 'How to Ship Your Startup Fast'description: 'Learn the essential steps to launch your startup quickly'date: '2024-01-15'author: 'Your Name'image: '/blog/ship-fast.jpg'---
# How to Ship Your Startup Fast
Your blog content here...
- Blog configuration in
config.ts
:
export const blog = { title: 'LaunchKit Blog', description: 'Insights on building and shipping startups fast', defaultAuthor: 'LaunchKit Team',};
SEO Best Practices
Section titled “SEO Best Practices”- Meta Tags: Every page should have unique title and description
- Open Graph: Social media sharing optimization
- Twitter Cards: Enhanced Twitter sharing
- Canonical URLs: Prevent duplicate content issues
- Structured Data: Help search engines understand your content
- Site Speed: Optimized images and code splitting
- Mobile-First: Responsive design for all devices
Google Search Console
Section titled “Google Search Console”- Verify domain ownership with Google Search Console
- Submit sitemap:
https://yourlaunchkit.com/sitemap.xml
- Monitor performance: Track clicks, impressions, and rankings
- Fix issues: Address crawl errors and indexing problems
Content Strategy
Section titled “Content Strategy”- Problem-Solution Content: Address your target audience’s pain points
- How-to Guides: Educational content that provides value
- Case Studies: Success stories and real-world examples
- Industry Insights: Share expertise and thought leadership
- SEO Keywords: Research and target relevant search terms
Analytics Integration
Section titled “Analytics Integration”Track your SEO performance with built-in analytics:
'use client';
import { useEffect } from 'react';
export default function Analytics() { useEffect(() => { // Google Analytics 4 if (typeof window !== 'undefined' && process.env.NEXT_PUBLIC_GA_ID) { const script = document.createElement('script'); script.src = `https://www.googletagmanager.com/gtag/js?id=${process.env.NEXT_PUBLIC_GA_ID}`; script.async = true; document.head.appendChild(script);
window.gtag = window.gtag || function () { (window.gtag.q = window.gtag.q || []).push(arguments); }; window.gtag('js', new Date()); window.gtag('config', process.env.NEXT_PUBLIC_GA_ID); } }, []);
return null;}
This comprehensive SEO setup ensures your LaunchKit application is optimized for search engines and ready for content marketing from day one.