What MetricSpot checks

90+ rules across eleven score modules. Scored, weighted, explained.

See plan limits and prices Documentation

Technical SEO

  • HTTPS enforcement and HSTS
  • Canonical URL correctness across the site
  • robots.txt validity, conflict detection, AI-crawler allow/deny
  • sitemap.xml: index + child sitemaps, lastmod accuracy, submission
  • 404 page presence and behavior
  • Mobile-friendly viewport, touch targets, font sizing
  • Hreflang tag completeness for multilingual sites
  • Structured data (JSON-LD): coverage and validity

Website speed

  • Lighthouse performance score (lab)
  • Lab Largest Contentful Paint (LCP), target < 2.5s
  • Lab Cumulative Layout Shift (CLS), target < 0.1
  • Field LCP from the Chrome UX Report, 75th percentile of real Chrome users
  • Field Interaction to Next Paint (INP), target < 200ms
  • Field Cumulative Layout Shift, real-user 75th percentile
  • Field Time to First Byte (TTFB), real-user 75th percentile
  • Server response time on first byte
  • Phone and desktop form factors when CrUX has data for the origin

On-page

  • Title tag length, keyword presence, brand suffix
  • Meta description length and CTA quality
  • H1 uniqueness and presence
  • Heading hierarchy (no skipped levels)
  • Image alt-text completeness
  • Internal vs external link ratio
  • Word count vs intent type
  • Page language declaration

Organic traffic

  • Google Analytics 4 + Search Console linked per URL: one OAuth grant, then explicit GA4 property and GSC site pick for each audited URL
  • Per-rule findings with severity pills and recommendations across sessions trend, search visibility, striking-distance queries, CTR underperformance, long-term opportunities, query churn, indexing coverage, and sitemap health
  • Organic sessions over the last 28 days vs prior 28 days, with signed delta
  • Top 5 landing pages by organic sessions
  • Search Console: clicks, impressions, CTR and average position (last 28 days)
  • Top 10 queries by clicks
  • 28-day daily sparklines: sessions, clicks, impressions
  • Audience donuts: traffic by country, language and device, plus Search by device
  • Quick Wins insights: striking-distance queries (position 11–20), low-CTR opportunities, and query churn vs prior 28 days
  • Indexing health: sitemap submission status, pages earning impressions, and URL Inspection coverage for the audited page
  • Pro-only CSV data export - queries, pages and landing pages over the 28-day window, packaged as a single .zip

AI-readability

  • JSON-LD schema coverage (Article, Product, FAQ, HowTo)
  • FAQ schema for question-format headings
  • llms.txt presence and completeness
  • Quotable answer-first content blocks
  • Citation density (links to primary sources)
  • Semantic HTML usage (article, section, header, nav)
  • Last-updated dates on content

Content quality

  • E-E-A-T signals: author bios, credentials, experience evidence
  • Search intent classification per page
  • Content depth vs top-ranking competitors
  • Internal linking topology and orphan detection
  • Anchor text variety
  • Comparison/listicle/guide formats per intent
  • Trust pages: about, contact, privacy, terms
  • URL slug hygiene and CTR-friendly titles

Social networks

  • Open Graph core tags (title, description, image, type)
  • Open Graph image present and reachable
  • Twitter Card type set to summary or summary_large_image
  • Profile link detection across Facebook, X, Instagram, LinkedIn, YouTube, TikTok, GitHub, Mastodon, Bluesky, Threads
  • Profile diversity across multiple platforms
  • Organization JSON-LD sameAs cross-checked against profile links
  • apple-touch-icon for iOS bookmarks
  • theme-color for mobile browser chrome
  • Web manifest for PWA installability

Accessibility

  • Lighthouse accessibility score from PageSpeed Insights
  • WCAG audit failure categories surfaced
  • HTML lang attribute set on the document
  • Image alt-text quality (rejects filename as alt)
  • Landmark regions (main, nav, header, footer)
  • Form labels (label / for / aria-label / aria-labelledby)
  • Link text descriptiveness (no "click here")
  • Tabindex hygiene (no positive tabindex)

Privacy and cookies

  • Privacy policy link detection in multiple languages
  • Third-party tracker count across ~25 known hosts
  • Cookie consent banner detection
  • Browser fingerprinting library detection
  • Cookie security flags (Secure, HttpOnly, SameSite)
  • Referrer-Policy response header

Tech stack

  • CMS detection (WordPress, Shopify, Wix, Webflow, Drupal, etc.)
  • Framework detection (Next.js, Astro, React, Vue, etc.)
  • Analytics platform (GA4, Plausible, Fathom, Hotjar, etc.)
  • Ad network presence
  • Payment processor (Stripe, PayPal, Klarna, etc.)
  • E-commerce platform (WooCommerce, Magento, BigCommerce)
  • CDN provider (Cloudflare, Fastly, Vercel, etc.)
  • Whether any web analytics is installed at all

Readability

  • Flesch-Kincaid grade level
  • Average sentence length
  • Long-sentence ratio (>25 words)
  • Passive-voice ratio
  • Paragraph length
  • Thin-content detection (<120 words)

WordPress fixes (only on WordPress sites)

  • WordPress version disclosure in the generator meta
  • SEO plugin detection (Yoast, Rank Math, All in One SEO, SEOPress)
  • Multiple SEO plugins fighting over titles, canonicals and schema
  • Page-cache plugin or cache header (WP Rocket, W3 Total Cache, LiteSpeed)
  • Native image lazy-loading coverage
  • Default emoji script bloat (`wp-emoji-release.min.js`)
  • Legacy `jquery-migrate.min.js` shim
  • `xmlrpc.php` exposure (bruteforce and amplification target)
  • `/wp-json/wp/v2/users` username enumeration
  • Active theme detected from `wp-content/themes/` asset URLs

WooCommerce fixes (only on WooCommerce stores)

  • Product JSON-LD present on product pages
  • Product schema completeness: name, image, offers.price, offers.priceCurrency, offers.availability
  • AggregateRating or Review schema for star-rating rich snippets
  • BreadcrumbList schema for breadcrumb rich snippets
  • `/cart/` blocked from Google's index (noindex)
  • `/checkout/` blocked from Google's index (noindex)
  • `/my-account/` blocked from Google's index (noindex)
  • Product-gallery lazy-load with the LCP image kept eager
  • Product images served from a CDN or media subdomain (not origin PHP)
  • FAQPage schema on product pages for FAQ rich snippets
  • Product Recommendation Quiz detection

Shopify fixes (only on Shopify stores)

  • Product JSON-LD present on the audited product page
  • Product schema completeness with 2026 Google fields: name, image, full offers (price/priceCurrency/availability), brand, gtin13 or mpn, sku
  • AggregateRating or Review schema on product pages for star-rating rich snippets
  • Filtered collection URL canonicalizes to the unfiltered collection (no duplicate-content leakage)
  • /search?q=... blocked from Google's index (noindex)
  • Active Shopify theme detection
  • Blocking app scripts in <head> from non-Shopify hosts (3-5 minor, >5 major)
  • LCP image size: CDN ?width= matches the rendered width (no oversized hero images)
  • ItemList or CollectionPage schema on collection pages
  • FAQPage schema on product pages for FAQ rich snippets
  • Product Recommendation Quiz detection

Astro fixes (only on Astro sites)

  • Sitemap detected via /sitemap-index.xml, /sitemap.xml, or a robots.txt Sitemap directive
  • Astro <Image> component adoption (width + height attributes on <img> tags)
  • LCP image served as WebP or AVIF
  • Below-the-fold images use loading="lazy"
  • Astro View Transitions detection
  • View Transitions × analytics bridge (astro:page-load event hook when GA4 / Plausible / Fathom is loaded once in <head>)
  • client:load island distribution (more than 3 triggers a recommendation)
  • <link rel="canonical"> on every page
  • Open Graph completeness: og:title, og:description, og:image, og:url
  • robots.txt presence
  • llms.txt presence (informational)
  • Zero-JS baseline: sum of same-origin <script> bundle bytes (<50 KB passes, 50-200 KB minor, >200 KB major)

FAQ

What does MetricSpot check?
Around 90 rules across eleven modules: technical SEO, website speed (lab + Chrome UX Report), on-page, organic traffic (Google Analytics 4 + Search Console), AI-readability, content quality, social networks, accessibility, privacy and cookies, tech stack, and readability.
How is the score calculated?
A weighted blend across all modules. Each module is severity-weighted internally (info/minor/major/critical = 1/2/4/8), and the modules are then combined into a single 0-100 score. Failing a critical rule moves the needle more than failing an informational one.
Can I run a full audit on the free plan?
Yes. The free plan includes 3 full audits per month with every module. PDF reports on the free plan carry MetricSpot branding.
Does MetricSpot work for non-English sites?
Yes. The audit engine is language-agnostic; PDF reports render in six languages: English, Spanish, German, French, Italian, and Portuguese.

Stop writing SEO reports by hand.

Run an audit, brand the PDF, send to your client. In five minutes.

Start your first audit