SEO Configuration
Meta tags, Open Graph, JSON-LD, sitemap, Core Web Vitals and accessibility
SEO Configuration
Meta & Structured Data
- Title & Description: Per-page via SeoVisualizer, with site-level suffix template
- Open Graph: og:type, og:title, og:description, og:image (1200px crop), og:site_name, og:locale
- Twitter Cards: summary_large_image default with per-page override
- Canonical URL: Auto-generated absolute URL per page
- Hreflang: Auto-generated for multilingual sites, includes x-default
- Robots Meta: Per-page noindex/nofollow with max-image-preview:large defaults
- JSON-LD: WebSite, Organization, BreadcrumbList schemas auto-generated
Sitemap & Robots
- Sitemap: Auto-generated at /sitemap.xml with 30-minute cache
- Robots.txt: Auto-generated at /robots.txt with ResponseCache(Duration=900)
- Favicon: Dynamic from CMS settings with fallback to /favicon.ico
- Error Pages: Proper HTTP status codes (404/500) via UseStatusCodePagesWithReExecute
Core Web Vitals
- Critical CSS inlined in head to eliminate render-blocking
- LCP image preloaded: link rel=preload with fetchpriority=high
- Google Fonts async: media=print onload trick
- Font preloading: Font Awesome woff2 files
- Scripts on interaction/idle: jQuery loads after first interaction or 3s idle
- Images lazy-loaded: loading=lazy decoding=async on below-the-fold
Accessibility (WCAG AA)
- Color contrast: All text meets 4.5:1 ratio (AA)
- CSS variables with safe fallbacks for readable text
- Proper list structure: Mobile nav in ul for screen readers
- Semantic HTML: nav, main, section landmarks