$ 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.
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
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.
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.
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.