How to Detect What CMS a Website Uses (WordPress, Shopify, Squarespace)

March 18, 2026 · 8 min read

You find a website with a design you like, a checkout flow that converts, or a blog layout that loads fast. The first question: what CMS is this built on? Is it WordPress? Shopify? Squarespace? Something custom?

Sometimes you can tell at a glance. More often, you can't. Modern websites strip out generator tags, use custom themes that hide CMS signatures, or run headless CMS setups where the frontend is completely decoupled from the content backend. Manual detective work gets you partway there; automated detection gets you the rest.

This guide covers both approaches: manual methods you can try right now, and API-based detection that catches what manual checks miss.

Manual Detection Methods

These are the classic techniques. Each works in specific situations and fails in others.

1. Check the <meta name="generator"> tag

View the page source (right-click → View Page Source) and search for generator. Many CMS platforms inject a meta tag identifying themselves:

<meta name="generator" content="WordPress 6.4.3">
<meta name="generator" content="Drupal 10">
<meta name="generator" content="Ghost 5.0">

Limitation: Many site owners remove this tag for security reasons. WordPress security plugins like Wordfence strip it by default. Shopify, Squarespace, and Wix don't use generator tags at all. If the tag is there, it's definitive. If it's missing, you know nothing.

2. Try common admin URLs

Each CMS has characteristic admin paths:

Limitation: Hosted platforms like Shopify and Squarespace don't expose admin URLs on the site's domain. Custom admin paths defeat this method entirely. And getting a 404 doesn't prove anything—the site might use WordPress with a renamed login page.

3. Inspect HTTP headers

Open your browser's Developer Tools (F12 → Network tab), reload the page, and check the response headers on the main document:

Limitation: Many servers strip X-Powered-By for security. Reverse proxies and CDNs (Cloudflare, CloudFront) often overwrite the Server header. You might see Server: cloudflare and learn nothing about the underlying CMS.

4. Check cookies

CMS platforms set characteristic cookies:

Limitation: Cookies may only appear after login or interaction. Some platforms set cookies on subdomains only. And cookie names can change between versions.

5. Look at page source patterns

Experienced developers can spot CMS signatures in the HTML:

Limitation: This is the most reliable manual method for hosted platforms, but it requires knowing what to look for. It completely fails for headless CMS setups where content is fetched via API and no CMS-specific assets appear on the page.

Bottom line on manual methods: Each technique detects some CMS platforms some of the time. No single manual check covers all cases. Headless CMS setups defeat almost all of them.

API-Based Detection with DetectZeStack

Instead of running five manual checks and hoping one works, you can query the DetectZeStack API and get a definitive answer in one call. DetectZeStack combines four detection layers:

  1. DNS CNAME records — identifies hosting platforms (Shopify, Squarespace, Webflow, Wix) by their DNS signatures
  2. TLS certificate inspection — reveals certificate authorities and platform-specific certificate patterns
  3. HTTP headers — parses Server, X-Powered-By, cookies, and other response headers
  4. Page content analysis — scans HTML for generator tags, asset URLs, JavaScript globals, and DOM patterns

Here's how to detect the CMS on stripe.com:

curl -s "https://detectzestack.p.rapidapi.com/analyze?url=stripe.com" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: detectzestack.p.rapidapi.com" | jq '.'

Response:

{
  "url": "https://stripe.com",
  "domain": "stripe.com",
  "technologies": [
    {
      "name": "Amazon S3",
      "categories": ["CDN"],
      "confidence": 100
    },
    {
      "name": "Amazon Web Services",
      "categories": ["PaaS"],
      "confidence": 100
    },
    {
      "name": "DigiCert",
      "categories": ["SSL/TLS certificate authority"],
      "confidence": 70
    },
    {
      "name": "HSTS",
      "categories": ["Security"],
      "confidence": 100
    },
    {
      "name": "Nginx",
      "categories": ["Web servers", "Reverse proxies"],
      "confidence": 100,
      "cpe": "cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*"
    }
  ]
}

In this case, stripe.com doesn't use a traditional CMS—it's a custom build on AWS infrastructure with Nginx. That's a useful answer too: knowing a site is not on a CMS tells you it's a custom-built frontend, which changes how you'd approach replicating its design or selling to the company.

For a site running Shopify, you'd see "name": "Shopify" in the technologies array with "categories": ["Ecommerce"]. For WordPress, you'd see "name": "WordPress" with "categories": ["CMS"]. The response tells you exactly what's running.

CMS Platforms DetectZeStack Detects

DetectZeStack identifies CMS platforms through multiple detection layers—not just HTML patterns. Here are the major platforms it covers:

CMS Detection Method Notes
WordPress HTML patterns, headers, cookies Detects even when generator tag is stripped
Shopify DNS CNAME, headers, HTML CNAME to shops.myshopify.com
Squarespace DNS CNAME, HTML patterns CNAME to ext-squarespace.com
Wix DNS, HTML, headers Asset URLs on static.parastorage.com
Webflow DNS CNAME, HTML patterns CNAME to proxy-ssl.webflow.com
Ghost HTML patterns, headers Generator tag and /ghost API
Hugo HTML patterns Generator tag in page source
Gatsby HTML patterns, JS globals ___gatsby div and route data
Drupal HTML patterns, headers, cookies X-Drupal-Cache header
Joomla HTML patterns, headers Generator tag and /administrator
Magento HTML patterns, cookies, headers Mage cookies and class names

Beyond CMS platforms, DetectZeStack also detects the surrounding infrastructure: CDN providers, hosting platforms, JavaScript frameworks, analytics tools, and security technologies. A single API call returns the full stack.

Why Headless CMS Is Harder to Detect

Headless CMS is the fastest-growing segment of the CMS market, and it breaks most detection methods. Here's why.

In a traditional CMS like WordPress or Drupal, the CMS generates the HTML. Every page contains CMS-specific markup: asset URLs pointing to /wp-content/, generator meta tags, characteristic JavaScript files, and recognizable class names. Detection tools have decades of patterns to match against.

In a headless setup, the CMS is just a content API. The frontend is a completely separate application—usually built with React, Next.js, Gatsby, or Nuxt.js. The CMS (Contentful, Sanity, Strapi, Prismic) delivers content via API at build time or request time, but no CMS-specific code appears in the final HTML.

Consider a site built with Next.js + Contentful:

Manual inspection would tell you the site uses Next.js and is hosted on Vercel. It would not tell you the content comes from Contentful. The CMS is invisible at the HTML layer.

How DNS and TLS analysis helps

While headless CMS platforms don't leave traces in HTML, they do leave traces in infrastructure. DetectZeStack's DNS and TLS layers can identify:

The combination of DNS-level hosting detection and content-level framework detection provides a more complete picture than any single manual method.

Key insight: For traditional CMS platforms (WordPress, Shopify, Squarespace), both manual checks and API detection work well. For headless CMS setups, manual checks fail almost completely. API-based detection that combines DNS, TLS, and content analysis is the only reliable approach.

Quick Start

Get an API key from RapidAPI (free tier: 100 requests/month, no credit card) and run:

curl -s "https://detectzestack.p.rapidapi.com/analyze?url=stripe.com" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: detectzestack.p.rapidapi.com" | jq '.technologies[] | select(.categories[] | contains("CMS"))'

This filters the response to show only CMS-related technologies. Remove the jq filter to see the full technology stack including hosting, CDN, security, and frontend frameworks.

Related Reading

Detect Any Website's CMS in Seconds

100 requests/month free. DNS + TLS + HTTP + content analysis in a single API call.

Get Your API Key

Get API updates and tech detection tips

Join the mailing list. No spam, unsubscribe anytime.