How this detects a WordPress theme
WordPress themes and plugins serve their stylesheets and scripts from predictable paths -
wp-content/themes/theme-name/ and wp-content/plugins/plugin-name/. This fetches the
page's HTML and looks for those path patterns in linked resources, plus the WordPress generator meta tag many
sites still include.
This only reads the page's static HTML - it does not execute JavaScript, so a site that loads its theme assets dynamically or deliberately hides these signals (some security plugins strip the generator tag and obscure these paths) will not be detected.
Why the detection relies on file paths rather than visual appearance
Visually guessing a theme from how a site looks is unreliable, since themes are heavily customized with colors, logos, and layout changes - but the underlying file structure WordPress uses to load theme and plugin assets is far more consistent and much harder to disguise without deliberate effort, making path detection a more reliable signal than appearance.
Why some sites deliberately hide these signals
Revealing exactly which theme and plugins a site runs, along with their versions, can help an attacker target known vulnerabilities in that specific software - security-conscious site owners sometimes deliberately strip the generator tag and obscure standard file paths specifically to reduce this kind of reconnaissance, which is a legitimate security practice, not a sign anything is wrong with the site.
What detecting plugins can tell you beyond just the theme
Seeing which plugins a competitor or reference site uses can be genuinely useful research - spotting a caching plugin, an SEO plugin, or a page-builder plugin in use gives a sense of how a site is built and maintained, information that's otherwise hard to get without direct access to its admin dashboard.