SEO
Make your app visible on search engines and ready for social sharing.
Tools
- Nuxt SEO: Manages meta tags, sitemaps, robots.txt, and structured data for better search engine visibility.
Configuration
Most SEO is ready out of the box. Change these only if you need custom settings:
app/composables/useSeo.ts– manages meta tags, sitemap rules, and private pagesshared/config.ts– basic SEO settings:shared/config.tsappName: 'ShipAhead', // Your site name brandingImages: { openGraphImage: '/images/open-graph.png', // Social image (1200x630px) }, privatePaths: ['/admin/**', '/profile/**'], // Pages hidden from search engines
How It Works
- Page titles and descriptions come from your locale files (e.g.
locales/en.json). - Fallbacks if missing:
common.siteTagline→ titlecommon.siteDescription→ description
- Automatically generates:
- Meta tags - titles, descriptions, Open Graph, Twitter Cards
- Sitemap - all public pages at
/sitemap.xml - Robots.txt - control indexing
- JSON.LD - structured data for Google rich snippets
Usage
- Automatic SEO for Pages: Add titles and descriptions in locale files:
{ "pages.about.title": "About ShipAhead", "pages.about.description": "Learn more about our SaaS boilerplate.", "common.siteTagline": "Default Site Tagline", "common.siteDescription": "Default Site Description" }- For
/about, use pages.about.title and pages.about.description - Multi-language ready: add to es.json, fr.json, etc.
- For
- Manual SEO Override: For blogs or custom pages, use
setSeo:slugconst { setSeo } = useSeo(); const blog = // fetch blog data... setSeo({ pageTitle: blog.title, pageDescription: blog.excerpt, image: blog.imageUrl // Optional: Social sharing image });- Works with multi-language pages too
- Lets you control exactly what Google and social platforms show