Craft CMS

Learn how Craft CMS uses custom fields, content relationships and Twig templates, and how its GraphQL API supports headless websites.

Updated 8 September 2026

What Craft CMS is designed for

Craft CMS lets teams define content with custom fields instead of forcing every entry into one generic page format. Its capabilities include content relationships, asset management, localization and editorial preview. Twig templates provide a way to build a site around that model.

For a design studio’s portfolio, a project might contain client details, a gallery and related services. Structured fields let editors maintain those pieces while templates keep the resulting pages consistent.

Traditional and headless delivery

Craft can render a website through templates or expose content through its GraphQL API for a separate frontend. It also supports storing assets locally or through supported cloud storage providers.

Choose the delivery model around the editing experience as well as the frontend technology. A separate application consuming the API needs its own approach to previewing drafts and refreshing published content.

Planning a Craft implementation

Design fields and relationships using realistic content before building every template. An attractive blank layout can become awkward when a title is long or an entry has no images.

Review the required edition and plugin capabilities for user permissions, commerce and other extensions. Craft provides a flexible foundation, but a specific integration still needs implementation and ongoing maintenance.

How DNSTrace.dev detects Craft CMS

Detection reads the final HTTPS response and the first bytes of its markup. One matching signal is reported as strong evidence; two or more independent signals are reported as confirmed.

  • x-powered-by naming Craft CMS — The primary and often only public signal, emitted unless the site disables it.
  • meta generator naming Craft CMS — Present when the template includes it.

What a detection proves

The document was produced by Craft CMS.

What it does not prove

The version, the plugins installed or the hosting provider. Because Craft has no fixed public asset paths, disabling the header can remove every signal.

Common questions about Craft CMS

Does Craft CMS require a separate JavaScript frontend?

No. Craft supports Twig templates for a conventional website and a GraphQL API for headless delivery. A project can choose the model that fits its requirements.

Why does Craft leave so little evidence?

Craft imposes no template or asset directory conventions, so a site's markup reflects the developer's choices rather than the CMS. That makes the x-powered-by header the practical signal.

Is Statamic detected the same way?

Yes. Statamic is also identified from x-powered-by and is listed among the additional signals on the application stack reference.

Content management systemGhost

Open source, Ghost Foundation

Application frameworkLaravel

Open source, Laravel Holdings Inc.

Server languagePHP

Open source, the PHP Group

Content management systemWordPress

Open source, WordPress Foundation

Check a domain

Run a full lookup to see the delivery layer, the detected application stack, live TLS and the announcing network side by side.

Run a lookup →Application stack →Evidence model →