$ cms-detect

What powers content on this site?

The homepage isn't where the CMS is. We scan blog posts, docs, and product pages to find the content systems that actually power the site.

method
scope

Checks sitemap and inner pages. Finds CMSes that modern architecture obscures behind the homepage.

about

The homepage isn't where the CMS is

Detection tools like Wappalyzer and BuiltWith check the homepage and call it a day. But the homepage is a marketing page, often hand-crafted, statically generated, or built with a different tool than the rest of the site.

The CMS reveals itself on content pages: blog posts with images from cdn.sanity.io, product listings from Shopify, docs powered by an API-first platform through Next.js. That's where the content stack lives.

This tool goes where the content is. It reads the sitemap, follows nav and footer links, and samples pages that actually use a CMS, then runs four detection layers to identify what powers them.

three observations

  1. Content lives on inner pages

    Blog posts, case studies, product pages, docs. That’s where the CMS delivers content. The homepage is often the least CMS-dependent page on the site.

  2. API-first platforms are invisible

    Sanity, Contentful, and Storyblok deliver content through APIs. The HTML is clean framework code, with no fingerprints to match. Detection has to look at CDN URLs and framework hydration data.

  3. Sites use multiple CMSs

    Sanity for the blog, Shopify for the store, HubSpot for landing pages. A single CMS-per-site number misses how sites are actually built.

try it

Scan anthropic.com. A quick scan finds Webflow on the homepage. A deep scan reveals Sanity powering the news, product, and engineering pages.

how detection works

Layer 1

Fingerprints

HTML patterns, meta generator tags, HTTP headers. Catches traditional CMSs like WordPress, Drupal, and website builders like Wix and Squarespace.

Layer 2

CDN URLs

Image CDNs from API-first platforms: cdn.sanity.io, ctfassets.net, a.storyblok.com. These leak through even when the framework processes everything else.

Layer 3

Hydration data

Next.js embeds __NEXT_DATA__, Nuxt has __NUXT_DATA__. JSON blobs contain raw CMS data structures.

Layer 4

Data model fingerprinting

CMS-specific structures in hydration payloads: Sanity’s _key/_type fields, Contentful’s sys.id patterns, Storyblok’s _uid/component fields.

coverage

content platforms (36)

Traditional ·
WordPress, Drupal, Joomla, TYPO3, Ghost, Umbraco
Builders ·
Wix, Squarespace, Webflow, Framer
E-commerce ·
Shopify
Enterprise ·
Adobe AEM, Sitecore, Optimizely (Episerver), Sitefinity, Magnolia CMS, HubSpot CMS
API-first ·
Sanity, Contentful, Storyblok, DatoCMS, Prismic, Contentstack, Hygraph, Strapi, Directus, Payload, Builder.io, Kontent.ai, Tina CMS, Caisy
Help centers ·
Zendesk Guide, Intercom Articles
Docs platforms ·
GitBook, Mintlify, ReadMe

frameworks (6)

Next.js, Nuxt, Gatsby, Remix, Astro, SvelteKit

tech stack (70+)

Analytics, hosting, CSS frameworks, auth, search, e-commerce, monitoring, chat, marketing tools, and build tools.