WordPress block themes and classic themes are two valid architectures, but they optimize for different operating models. Block themes provide the Site Editor, block-based templates, Global Styles, and a stronger visual design-system workflow. Classic themes use PHP templates and remain appropriate when a mature codebase, plugin ecosystem, or delivery process depends on traditional theme hooks and template logic.
The right choice is not determined by whether one architecture is newer. It depends on editorial governance, deployment practices, template ownership, performance requirements, extension points, and how much visual control content teams should have.
This guide compares the architectures, explains how template overrides and theme.json work, and provides a migration framework for agencies, product teams, and enterprise WordPress platforms.
Terminology: “Full Site Editing” or FSE is still widely used as an umbrella term. Current WordPress interfaces and developer documentation more often refer to the Site Editor, block themes, templates, patterns, and Global Styles.
Block Themes, Classic Themes, and Hybrid Approaches
What is a block theme?
A block theme uses block markup for its front-end templates. WordPress identifies a theme as a block theme when it contains the required style.css file and templates/index.html. Other files such as theme.json, functions.php, patterns, style variations, and additional templates are optional but commonly used.
When a block theme is active, users can access the Site Editor to manage templates, template parts, styles, navigation, and other site-wide design elements. The theme can still run PHP, register blocks, enqueue assets, and integrate with plugins. “Block theme” describes the template architecture, not a PHP-free application.
What is a classic theme?
A classic theme primarily uses PHP template files such as index.php, single.php, page.php, and archive.php. It can use the Customizer, registered navigation menus, widget areas, template parts, actions, filters, and the traditional PHP template hierarchy.
Classic themes can still use the block editor for post content. They can also adopt patterns, block styles, selected theme.json features, and custom blocks. They are supported WordPress themes, not automatically obsolete software.
What is a hybrid theme?
“Hybrid theme” is an informal architectural description rather than a separate formal theme type. It usually means a classic theme that adopts block-era features such as theme.json, patterns, block styles, template editing, or custom blocks while retaining PHP templates.
A hybrid strategy can be useful when a team wants modern editor controls without replacing a proven theme architecture in one release.
Block Themes vs Classic Themes at a Glance
| Area | Block theme | Classic theme |
|---|---|---|
| Primary templates | Block markup in /templates/*.html | PHP files such as single.php and page.php |
| Site-wide visual editing | Site Editor | Customizer, theme options, widgets, menus, or custom interfaces |
| Design system | theme.json, Global Styles, patterns, style variations | CSS, Customizer settings, theme options, and optional theme.json |
| Template overrides | User-edited database templates can override theme files | Child theme and PHP template hierarchy |
| PHP support | Fully supported through functions.php, plugins, dynamic blocks, and server rendering | Native part of the template architecture |
| Editorial flexibility | High, unless templates and blocks are constrained | Usually more developer-controlled by default |
| Deployment concern | Database-edited templates can drift from version-controlled files | Most template changes remain in the codebase |
| Best fit | Block-first sites, visual design systems, reusable patterns, editorially managed templates | Mature PHP themes, legacy integrations, tightly controlled templates, staged modernization |
How Block Theme Architecture Actually Works
A block theme stores templates in the /templates directory. These files contain block markup, references to template parts, and pattern references. WordPress parses that block markup and renders the resulting HTML.
The minimum fallback template is templates/index.html. Additional files can follow the template hierarchy, including single.html, page.html, archive.html, home.html, and custom templates.
The important enterprise detail is template precedence. WordPress looks for a matching template in this order:
- A user-saved template in the database.
- A matching template in the active child theme.
- A matching template in the parent theme.
When an editor changes and saves a template in the Site Editor, the database version overrides the file in version control. Updating the theme file later does not automatically replace that customized database template. Teams need a deliberate process for exporting approved template changes back into the theme and resetting stale overrides.
This is one of the biggest operational differences between a block theme and a traditional code-owned theme. Visual editing improves flexibility, but it also creates a second source of template state unless governance is defined.
The official block theme structure documentation and template documentation describe the required files, block markup, hierarchy, and database override behaviour.
What theme.json Does and Does Not Do
theme.json defines settings, design tokens, style defaults, custom templates, template-part metadata, and editor capabilities. It can centralize color palettes, typography presets, spacing scales, layout widths, block-level styles, and feature availability.
It does not define the complete layout of normal block templates. Layout structure belongs in template files, patterns, template parts, and user-saved templates. It also does not remove the need for CSS, PHP, or JavaScript when a design or feature requires them.
A well-designed theme.json reduces arbitrary styling and gives editors constrained choices. A poorly governed configuration can expose too many controls, generate inconsistent output, or duplicate styles that should belong in block stylesheets.
For reusable visual variations, see how to register block styles in WordPress. For a wider view of current block and API architecture, use the Modern WordPress APIs architecture guide.
Editor Freedom vs Platform Governance
The Site Editor can let a content team modify headers, footers, templates, navigation, and global styles without deploying code. That can shorten routine change cycles and reduce developer dependency.
It can also let an editor unintentionally change a template used by thousands of pages. Enterprise implementations therefore need an editing model rather than unrestricted access.
- Define ownership: decide whether templates are code-owned, editor-owned, or managed through a controlled promotion workflow.
- Constrain controls: use
theme.json, block locking, content-only editing, allowed block policies, and curated patterns. - Separate environments: test template and Global Style changes in staging before production.
- Export approved changes: copy database-edited template markup into version-controlled theme files when the change should become part of the product.
- Document rollback: know how to clear a customized template and restore the theme-provided version.
A block theme can provide stronger governance than a page builder when the design system and editing constraints are intentional. It is not automatically safer simply because it uses core blocks.
Performance: Theme Type Is Not the Benchmark
A block theme is not inherently faster than a classic theme, and a classic theme is not inherently slower. Performance depends on query design, rendered markup, CSS and JavaScript payloads, third-party integrations, image handling, caching, database health, and infrastructure.
Block themes can reduce custom template code and make block-specific asset loading easier. They can also accumulate excessive block markup, inline styles, font requests, patterns, and editor-generated overrides. Classic themes can be extremely lean, or they can ship large frameworks and page-builder bundles.
Measure the actual implementation. Track server response time, query count, HTML size, CSS and JavaScript transfer, Core Web Vitals, cache hit rates, and interaction latency. My guides to production-safe script enqueueing and modern WordPress asset management cover the asset layer in more detail.
Plugin Compatibility and Business Logic
Most plugins work independently of theme type, but integration details can differ. Older plugins may assume classic widget areas, menu locations, Customizer controls, or theme hooks at specific positions. Block themes use template parts and blocks instead of many traditional placement mechanisms.
Audit integrations that inject output into wp_head, wp_footer, content filters, sidebars, navigation, WooCommerce templates, account areas, or hardcoded theme hooks. Compatibility should be tested on the actual templates and workflows, not assumed from plugin activation alone.
Domain functionality should remain in plugins. Membership rules, product logic, custom post types, API integrations, permissions, and workflow automation should not disappear when the theme changes. The custom WordPress plugin development guide explains the separation.
Block themes can use Block Bindings for dynamic data and the Interactivity API for reactive frontend behaviour. These APIs complement theme architecture rather than replacing plugin-owned business logic.
Which Theme Architecture Should You Choose?
Choose a block theme when
- The project is new and block-first.
- Editors need controlled access to templates and site-wide styles.
- The design system maps well to patterns, blocks, style variations, and
theme.json. - The team can manage database template overrides and version-control promotion.
- Third-party integrations have been tested with block templates.
Keep or build a classic theme when
- A mature site depends on stable PHP templates and extensive custom hooks.
- Template changes must remain code-owned and deployment-controlled.
- The cost and risk of migration exceed the current business benefit.
- Required integrations are not ready for a block-theme workflow.
- The existing theme is performant, maintainable, accessible, and actively supported.
Use a staged hybrid approach when
- You want patterns, block styles, and design tokens without replacing PHP templates immediately.
- You need to modernize editorial workflows section by section.
- You are extracting business logic from a legacy theme before changing the rendering layer.
- You need evidence from prototypes before committing to a full migration.
A Production-Safe Migration Plan
- Inventory the current theme. Map PHP templates, template parts, hooks, widget areas, menus, custom fields, shortcodes, scripts, styles, and plugin overrides.
- Separate domain logic. Move custom post types, permissions, integrations, and reusable business rules into plugins before replacing the theme.
- Define the design system. Document colors, typography, spacing, layout widths, block styles, and allowed editorial variations before writing
theme.json. - Prototype representative templates. Build the most complex single, archive, landing, search, and error templates first. A homepage-only prototype hides migration risk.
- Rebuild reusable sections as patterns and template parts. Decide which patterns are synced, unsynced, locked, or content-only.
- Test integrations. Verify forms, search, navigation, WooCommerce, memberships, analytics, consent, multilingual output, accessibility, and cache behaviour.
- Define template ownership. Decide who may save Site Editor changes and how those changes return to version control.
- Run content and visual regression testing. Compare representative URLs, responsive states, structured data, headings, metadata, and conversion paths.
- Roll out with a rollback path. Preserve the previous theme, database backup, asset build, and deployment record until production validation is complete.
- Monitor after launch. Watch errors, response times, query counts, Core Web Vitals, search visibility, editor support requests, and conversion changes.
Enterprise Theme Architecture Checklist
- The theme contains presentation, while business logic remains plugin-owned.
- Template and Global Style ownership is documented.
- Database template overrides are audited and exportable.
theme.jsonexposes only approved design controls.- Patterns and templates use appropriate locking and content-only controls.
- Required plugins and theme hooks have been regression-tested.
- Performance is measured rather than inferred from theme type.
- Accessibility covers templates, navigation, focus, keyboard use, and zoom.
- Staging, version control, CI, backups, and rollback are part of the workflow.
- The architecture supports the current team, not only the initial build.
Planning a WordPress Theme Migration?
I help agencies and product teams audit legacy themes, separate plugin-owned functionality, design block systems, and migrate templates without sacrificing performance, accessibility, or editorial control.
Frequently Asked Questions
Are classic WordPress themes deprecated?
No. Classic themes remain supported and documented by WordPress. Block themes receive the Site Editor experience and much of the current theme-development focus, but a maintained classic theme can remain a valid production architecture.
Does a block theme still use PHP?
Yes. Block themes can use functions.php, plugins, PHP hooks, dynamic blocks, server rendering, REST endpoints, and other WordPress APIs. Their distinguishing feature is that front-end templates are composed from block markup.
Are block themes faster than classic themes?
Not automatically. Either architecture can be fast or slow. Query efficiency, asset loading, markup, plugins, media, caching, and infrastructure have a larger effect than the theme classification alone.
What happens when an editor changes a block theme template?
WordPress saves the customized template in the database. That version takes priority over the template file in the child or parent theme until the customization is cleared or deliberately copied back into the codebase.
Can a classic theme use theme.json and block patterns?
Yes. Classic themes can adopt many block-era features, including patterns, block styles, custom blocks, and selected theme.json settings. They do not receive the complete Site Editor template workflow unless they become block themes.
Should an enterprise site migrate to a block theme now?
Only when the business case is clear and the migration has been validated. A new block-first build is often a strong fit, while a mature classic theme may be better modernized in stages. The decision should account for governance, integrations, editor workflows, testing, and deployment ownership.





