What shipped

Every meaningful change to MetricSpot, in chronological order. Bug fixes, new features, integrations. Updated weekly.

May 16, 2026

May 11 to 16, 2026

Public REST API on Pro, OpenAPI 3.1 spec, interactive Scalar reference, four new landing pages across 7 locales, audit error UX rewrite, and a clean DNS preflight.

Public API and developer surface

  • Public REST API is now on Pro $49/mo with 5,000 calls per month. Mint a key at app.metricspot.com/settings/api-keys. Free and Starter return 403 on token calls; the anonymous audit endpoint stays free (1 per IP per 24h).
  • OpenAPI 3.1 spec at metricspot.com/openapi.yaml. 12 endpoints, 20 schemas, 8 reusable error responses. Import into Postman, Insomnia, or generate clients.
  • Interactive API reference at /features/seo-api/reference/ (and per-locale variants). Try every call in the browser, with live request examples for all 12 endpoints.
  • /features/seo-api/ rewritten: 12 endpoints (was 6), accurate counts (154 rules across 15 modules, was 91/11), translated across 7 locales.
  • New @metricspot/mcp-server npm package for the Model Context Protocol integration. Same ms_live_ keys, same audit engine.

Landing pages

  • /woorank-alternative — direct comparison page in 7 languages. Pricing wedge, feature matrix, sourced user-sentiment quotes.
  • /agencies — Pro $49/mo recommended. Unlimited domains, scheduled audits, white-label PDF with brand kit.
  • /small-businesses — Free tier first, Starter $29/mo when ready. Plain-English, stack-aware audits for WordPress, WooCommerce, Shopify, Astro.
  • /features/google-analytics-4 and /features/google-search-console — privacy posture spelled out, scope details published.
  • Footer: new Solutions column linking the verticals + comparison page.

Audit engine and crawler

  • Audit errors split into distinct kinds: DNS not found, timeouts, refused TLS, and firewall blocks each surface their own message. No more misleading “firewall HTTP 0” for a typo’d domain.
  • DNS preflight on POST /api/audits catches NXDOMAIN typos synchronously instead of round-tripping through the worker.
  • Crawler now bypasses WordPress firewall blocks with a clean Chrome user agent and DOMContentLoaded wait.
  • Audit progress page shows a progress bar with a rotating tip carousel while the audit runs.
  • Score donuts on the audit detail page animate in instead of snapping.

Stack-aware audit modules

  • WooCommerce module: store-specific findings shown only on Shopify and WooCommerce sites.
  • WordPress module: WP-specific fixes shown only on WordPress.
  • Astro module: detection plus initial rules for Image component, client directives, View Transitions.

i18n

  • Catalan added as the 7th supported language across the app, with 108 translated docs pages and full PDF output.

Billing and pricing

  • Switch cycle (monthly ↔ annual) directly from Settings → Plans, with prorated invoices on the spot.
  • Billing settings now show payment method and invoices, edit details inline, and open the Stripe portal directly.
  • Free plan moved from 3 lifetime audits to 10 audits per month (1 per site per 24h). Anonymous audits capped at 1 per IP per 24h.
  • Premium renamed to Starter at $29/mo, capped at 50 audits/month and 5 domains. Pro $49/mo keeps unlimited audits and scheduled re-audits (weekly, biweekly, monthly).

Admin and reliability

  • In-app /contact page so signed-in users no longer bounce to the marketing site.
  • Admin impersonation: 30-minute scoped JWT with a persistent red banner.
  • Audit failures log to /admin/errors and ping Discord on permanent fail.
  • Public CSV export of organic-traffic data (Pro only).

Organic Traffic module

  • Organic Traffic module shipped: GA4 + GSC visuals (donuts, 28-day sparklines, Quick Wins, Search Indexing) interleaved with the relevant audit checks.
  • New “Long-term opportunities” rule added on top of the striking-distance / low-CTR existing ones.
  • Standalone Website Speed card with real-user Core Web Vitals (field LCP, CLS, TTFB) from PageSpeed Insights.
  • Audit now runs in two phases so PageSpeed Insights no longer blocks completion.

Per-rule documentation

  • 91 audit-rule docs pages launched at /docs/<slug>/, fully translated across 6 locales (Catalan added later). Linked from every finding’s “Read more”. Indexed in sitemap, llms.txt, and agents.txt.
  • Per-rule “Read more” links point to localized docs, with Catalan fallback to Spanish then English.

Email reliability

  • Per-recipient email suppression with circuit breaker on bounces and complaints (SES).
  • Admin emails console: Failed tile, status filter, recipient search, pause toggle, bulk resend, and mark-resolved actions.
  • New OpenPageRank authority signal in the Modern SEO module.

May 10, 2026

May 5 to 10, 2026

Funnel waves 1-3 shipped, two-factor auth, passkeys, Google sign-in, admin dashboard with MRR sparkline, GA4 + Stripe wired live, marketing site rebuilt across 36 pages in 6 locales.

Funnel and lifecycle

  • Funnel Wave 1 and 2: paywall card, usage banner, soft-gate, welcome and abandoned-checkout emails, plus a 7-day no-card Premium trial on signup with lifecycle emails.
  • Funnel Wave 3: annual-savings badge, win-back coupon for cancelers, renewal reminder email.
  • Delete account flow with a 48-hour grace period and automatic Stripe cancel.
  • Dashboard now gated behind email verification (magic link or 6-digit code).

Authentication

  • Two-step verification via TOTP, with backup codes.
  • Passkeys (WebAuthn) login: register, list, rename, delete, sign in with a passkey.
  • Secondary email support: add, verify by link, change, remove.
  • “Continue with Google” sign-in (OAuth 2.0).

Public audit

  • Anonymous public audit at /audit: full report grouped by module, with a signup wall and marketing header/footer.

Admin

  • Admin dashboard shipped: MRR sparkline, signups, user search, IP and country capture, conversion funnel, trial-to-paid cohorts, GA4 marketing analytics panel, email activity, and active-stores monitoring.

Billing

  • Stripe live wiring: full lifecycle (subscribe, cancel, upgrade, portal, idempotency) with Discord notifications.

Analytics

  • GA4 installed with cross-domain linker and conversion events: sign_up, audit_started, begin_checkout, purchase (with revenue).

Brand kit

  • Logo upload (cap raised to 2 MB), styled color picker, consistent input heights. Brand kit auto-applies to every PDF.

Dashboard

  • Dashboard rows are drag-to-reorder, with per-row delete and regenerate.

PDF report

  • PDF rebuilt to mirror the in-app audit detail page. Module sections start on a new page; prioritized focus list on the cover.

Audit scoring

  • Social Signals module added (6th module, 12% of total score).

i18n and marketing

  • Full i18n across 6 locales (en, es, de, fr, pt, it) for app, public pricing endpoint, emails, and PDFs.
  • Marketing site rebuilt: 36 pages across 6 locales, hreflang × 6, localized OG images, full mobile menu.

Pricing reset

  • Pricing reset to USD: Pro $49/mo, 25% annual discount, monthly and annual toggle.

Content

  • All 76 legacy blog posts reprocessed under the AI-rank framework, with FAQPage JSON-LD added site-wide.

Infrastructure

  • Marketing site migrated from Cloudflare Pages to Hetzner + Dokku. Legacy /panel/*, AMP, and WP slugs now 301 to canonical destinations.