Site & service updates
Changelog
A running log of meaningful changes we ship to surrealmarketingservices.com — new pages, SEO upgrades, performance work, and service updates. Reverse-chronological so the freshest stuff is first.
Most recent entry:- SEOPerformanceContent
Premium polish, hand-off docs, and final SEO validation
- Reading-progress bar on long-form articles (≥ 1,500 words).
- Verified-author gold checkmark on author bylines and profile pages.
- "Last updated" relative-time tag on every city page and article.
- New /changelog page so freshness is visible (and crawlable).
- Admin dashboard now embeds a social-share preview validator (Twitter/X, LinkedIn, Facebook, Google).
- Owner walkthrough + monthly health-check + final-audit docs published in docs/seo/.
- TrustContent
Live social-proof bar + newsletter on every commercial page
- Rotating live social-proof bar mounted on city web design, city app dev, /services, /portfolio.
- Newsletter signup with welcome email + internal notification mounted on every commercial page.
- Driving-directions snippet + Google Maps `dir/?api=1` link added below city map embeds.
- PerformanceSEO
Performance foundation: budgets, RUM, image sitemap, cache policy
- Bundle/asset budgets enforced in CI (initial JS ≤ 170 KB gz, total JS ≤ 700 KB gz, CSS ≤ 50 KB gz).
- web-vitals RUM events fire LCP/INP/CLS/FCP/TTFB into GA4 with device + connection dimensions.
- Prerendered HTML now serves with `Cache-Control: max-age=0, must-revalidate, stale-while-revalidate=300` + ETag.
- New `/sitemap-images.xml` referenced from robots.txt and from the sitemap-index.
- SEO
Sitemap-index, IndexNow, curated robots.txt, PWA manifest
- /sitemap.xml is now a sitemap-index pointing at /sitemap-pages.xml, /sitemap-cities.xml, /sitemap-blog.xml, /sitemap-images.xml.
- Per-bot allow/deny stances published in /robots.txt — answer engines allowed, training crawlers denied.
- IndexNow key file at /4b8a3e9d2c1f5e7b6a0d8c4f2e1b9d5c.txt + helper at lib/seo/indexnow.ts.
- PWA manifest published at /manifest.webmanifest, linked from both rendering trees.
- ContentTrust
Trust pages launched: Awards, Press, Case Studies, Glossary
- Awards & Certifications page documenting held credentials and applied-for accreditations.
- Press & Partnerships page with media-inquiry routing and production-stack disclosure.
- Honest Case Studies page with challenge / approach / outcome — no invented metrics.
- Glossary launched with 32 plain-English definitions for web/app/SEO terms (long-tail seed).
- SEOService
Next.js cutover, internal linking & breadcrumb pass
- Next.js App Router routes now serve every public page with per-page generateMetadata.
- "Service Areas in Utah" section added to the home and /services pages (20 city links).
- Visible breadcrumbs on all 20 city pages match BreadcrumbList JSON-LD.
- "Explore other Utah cities" cross-links added to every city page.
Want updates straight to your inbox?
We email subscribers when we ship something noteworthy — no spam, no daily blasts.
Read the blog