
Technical SEO for Micro Sites (CWV, Schema, Speed)
Ship a lightning-fast stack, pass Core Web Vitals, and add clean schema. This blueprint keeps a micro site lean, crawlable, and conversion-ready.
Core Web Vitals: pass these thresholds
Metric | Good | Why it matters | Fast wins |
---|---|---|---|
LCP (Largest Contentful Paint) | ≤ 2.5 s | Perceived load speed of main content | Compress/resize hero, serve WebP/AVIF, inline hero CSS, preconnect CDN |
INP (Interaction to Next Paint) | ≤ 200 ms | Responsiveness to user input | Defer non-critical JS, reduce listeners, avoid heavy third-party widgets |
CLS (Cumulative Layout Shift) | ≤ 0.10 | Visual stability | Set width/height (or aspect-ratio) on images/iframes; reserve ad space |
Test on a real phone with throttling (3G/Slow 4G). Use PageSpeed Insights for field data (CrUX) and Lighthouse for lab. Fix LCP → CLS → INP in that order.
Lean speed stack (WordPress micro site)
Hosting & cache
- Use HTTP/2 or HTTP/3; enable Brotli/Gzip.
- Server cache + page cache (full HTML). Keep plugin count low.
- CDN for assets. Enable stale-while-revalidate.
Theme & plugins
- Light base (Twenty Twenty-One + custom HTML blocks).
- One performance plugin: cache, minify, defer, image lazy-load.
- One SEO plugin for meta + XML; disable unused features.
Images, fonts & CSS
Images
- Export at real display size. Serve AVIF (fallback WebP/PNG).
- Add explicit
width
/height
(prevents CLS). - Use
loading="lazy"
below the fold;fetchpriority="high"
for the hero. - Provide
srcset
+sizes
for responsive loading.
<img src="/images/hero.avif" width="1200" height="680" srcset="/images/hero-600.avif 600w, /images/hero-900.avif 900w, /images/hero-1200.avif 1200w" sizes="(max-width:700px) 100vw, 920px" alt="Micro site technical SEO hero" fetchpriority="high" decoding="async">
Fonts
- Prefer system UI stack for zero downloads.
- If using a webfont: subset, variable (1 file),
display:swap
, self-hosted.
/* System UI stack */ font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
CSS
- Inline critical CSS (above the fold); load the rest deferred.
- Minify. Avoid heavy utility frameworks on micro sites.
<link rel="preload" as="style" href="/assets/app.css"> <link rel="stylesheet" href="/assets/app.css" media="print" onload="this.media='all'">
Scripts & third-party
- Mark non-critical scripts as
defer
(orasync
when safe). - Delay third-party JS (widgets, embeds) until user interaction.
- Replace heavy embeds (YouTube, maps) with click-to-load placeholders.
<script src="/js/app.js" defer></script> <!-- Delay a third-party until interaction --> <script> let loaded=false; function load3p(){ if(loaded) return; loaded=true; const s=document.createElement('script'); s.src='https://example.com/widget.js'; s.defer=true; document.body.appendChild(s); } ['click','scroll','keydown','touchstart'].forEach(ev => window.addEventListener(ev, load3p,{once:true,passive:true})); </script>
Schema pack (JSON-LD)
Ship clean JSON-LD inline (no theme bloat). Typical set: Article, BreadcrumbList, optional FAQPage and HowTo. (If Rank Math outputs the same types, disable duplicates for this post.)
Crawl, index & sitemaps
Robots & indexability
- Do not block CSS/JS in
robots.txt
. - Only
noindex
thin tags, search results, paginated archives. - Canonicalize duplicates (UTM, sort params). Avoid tag bloat.
# robots.txt (safe baseline) User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Sitemap: https://incomeorbit.website/sitemap_index.xml
Sitemap & feeds
- Use your SEO plugin XML sitemap. Keep only canonical content.
- Ping GSC after major publishes/updates.
Monitoring & alerts
- PageSpeed Insights (field data): track LCP/INP/CLS for top URLs.
- Search Console: Core Web Vitals + Coverage (indexing).
- Logs: 404 spikes, 5xx, crawl budget (weekly).
- Uptime: external monitor with latency alerts (< 800 ms TTFB target).
- Fix LCP (hero size/format, inline critical CSS, preconnect CDN).
- Stabilize CLS (explicit sizes, reserve space, font fallback).
- Lower INP (defer/delay JS, remove heavy widgets, reduce listeners).
- Add JSON-LD (Article + Breadcrumb; FAQ only if content exists).
- Lock caching/CDN and set up monitoring.
FAQ
Do micro sites need all the same plugins as a big blog?
No. Keep it lean—one performance plugin, one SEO plugin, optional image/CDN helper. Fewer plugins = faster CWV wins.
Should I use AMP?
No. Modern CWV-optimized pages usually outperform AMP while keeping your stack simple.
Is a page-builder OK?
Only if it outputs minimal markup. Prefer native blocks or custom HTML for best LCP/INP.