Theme detection guides

How Theme Detectors Work, and Why They Sometimes Disagree

Inside a theme detector: the signals it reads, how confidence works, and the honest limits of detection.

How theme detectors work

Article Summary: A theme detector downloads a page, looks for platform fingerprints such as file paths, scripts and headers, then reads the platform's own theme record. Tools disagree when they trust different fields, such as a store's renamed theme label instead of the theme's internal name, or when a site blocks automated visits.

  • Detectors combine several weak signals into one confident answer, so more matching signals means a more reliable result.
  • Shopify themes have a free text label and a fixed internal name, and tools that show the label give misleading results.
  • A browser extension reads the live page and sees scripts that load later; a website checks the raw HTML from a server.
  • Bot protection and headless front ends are the most common reasons for an empty result.

Run the same store through three theme detectors and you can get three different answers. That isn't because detection is guesswork. It is because tools read different signals and trust different fields. Knowing how detection works lets you judge any result for yourself.

Step one: fetching the page

A detector starts by loading the page. A website does this from a server, which gets the raw HTML a first time visitor would receive. A browser extension reads the page you already have open, which includes anything that loaded after the first HTML arrived, such as chat widgets, review stars and marketing scripts.

That difference explains a lot of disagreements. A server request can be blocked by bot protection or see a slimmer page, while an extension sees everything a real visitor sees.

Step two: finding fingerprints

Next, the detector looks for evidence of a platform. Each piece of evidence is called a signal:

  • File paths, such as /wp-content/ for WordPress or /cdn/shop/ for Shopify
  • Scripts and globals, such as Shopify.theme or Drupal's settings object
  • Generator tags, which name the platform directly
  • Response headers, such as x-shopid or x-drupal-cache
  • Asset domains, such as wixstatic.com or framerusercontent.com

Some signals are conclusive on their own. Others only count when they agree with another. Any Theme Detector weighs each signal, reports the platform only when the evidence adds up, and labels the result "Confident" or "Likely". The "How we know" list under every result shows exactly which signals matched.

Step three: reading the theme

With the platform known, the detector reads that platform's theme record. On Shopify that is the Shopify.theme object. On WordPress it is the theme's style.css header. On Magento, PrestaShop and Joomla it is the theme folder in file paths.

This is where most bad results come from. On Shopify, the theme record contains a free text label the store can set to anything, alongside the theme's fixed internal name and Theme Store ID. A tool that shows the label will report "Copy of Live Theme" or a release tag. A tool that reads the internal name and ID reports the real theme. Our article on Shopify theme names covers this in detail.

Why results differ between tools

CauseWhat you seeWhich result to trust
Renamed Shopify themeOne tool shows a label, another a theme nameThe one matching the Theme Store or schema name
WordPress child themeOne tool shows the child, another the parentUsually the parent, which is the product
Bot protectionOne tool finds nothingThe one that loaded the real page
Late loading appsOnly the extension lists some appsThe extension, which saw the live page
Outdated theme listA new theme shows as unknownA tool that reads the theme's own name

The honest limits of detection

No detector can name a theme the platform never publishes. Wix, Squarespace 7.1, Webflow and Framer copy templates into each site without a name. Headless sites have no theme. Fully custom themes can be named, but not bought. A trustworthy tool says which of these you are looking at, instead of guessing.

Frequently asked questions

Why do theme detectors give different results?

They read different fields and load the page in different ways. The most common difference is showing a store's renamed theme label instead of the theme's real internal name.

Are browser extensions more accurate than websites?

For apps and scripts, often yes, because an extension reads the live page including anything that loads later. For the theme itself, both are equally accurate when they read the right fields.

Why did a detector find nothing on a site I know is Shopify?

The site may be headless, password protected or blocking automated requests. Try the Chrome extension on the open page, which isn't affected by bot checks.