All posts
September 24, 20266 min readBy Ship Templates

WordPress Block Theme vs Classic Theme: Which Should You Choose

WordPress block themes vs classic themes: compare full site editing, performance, development workflows, and theme.json to pick the right architecture.

wordpressblock-themesclassic-themesfull-site-editingweb-design

The WordPress theming ecosystem has undergone its most dramatic transformation since the introduction of the Customizer. With the maturation of Full Site Editing (FSE) and block themes, developers and agency teams must decide whether to embrace block-first development or stick with battle-tested classic themes built on PHP templates. Understanding the architectural differences, performance implications, and maintenance trade-offs between both paradigms ensures you pick the right foundation for your next web project.


The Fundamental Architectural Shift: Block vs. Classic

Classic WordPress themes rely on the traditional template hierarchy: index.php, header.php, footer.php, single.php, and functions.php. In a classic theme, content rendering, styling, and database queries are governed primarily by procedural PHP, standard WordPress template tags, and manual CSS/SCSS stylesheets.

Block themes, in contrast, replace PHP template files with semantic HTML files containing block markup, housed in templates/ and parts/ directories. Instead of relying on arbitrary CSS files and Customizer settings, block themes configure colors, typography, layout dimensions, and block variations centrally through a single declarative configuration file: theme.json.

  • Classic Themes: PHP-driven, highly imperative, custom hooks and filters (add_action, add_filter), reliant on page builders or custom meta boxes.
  • Block Themes: HTML and JSON-driven, declarative, block pattern based, natively integrated into the Site Editor and Gutenberg canvas.

This shift fundamentally changes who controls the presentation layer: classic themes require developer intervention for layout modifications, whereas block themes allow content teams to manipulate structural elements directly inside the Site Editor.


Full Site Editing and the Power of theme.json

At the heart of the block theme revolution is theme.json. This configuration file replaces thousands of lines of legacy SCSS, theme support declarations, and enqueue scripts by managing styles through a standardized schema:

{
  "$schema": "https://schemas.wp.org/trunk/theme.json",
  "version": 3,
  "settings": {
    "color": {
      "palette": [
        { "name": "Primary", "slug": "primary", "color": "#0f172a" },
        { "name": "Accent", "slug": "accent", "color": "#3b82f6" }
      ]
    },
    "typography": {
      "fontFamilies": [
        { "fontFamily": "Inter, sans-serif", "slug": "inter", "name": "Inter" }
      ]
    },
    "layout": {
      "contentSize": "800px",
      "wideSize": "1200px"
    }
  }
}

By defining tokens in theme.json, WordPress automatically generates optimized CSS custom properties (variables), enqueues them only when relevant blocks appear on the page, and exposes them directly to editorial users in the visual editor.

Full Site Editing also introduces block templates and template parts. A client or site administrator can customize the global header, adjust the footer column layout, or modify the 404 error page visually without editing a single PHP template or writing custom CSS overrides.


Performance, Asset Delivery, and DOM Efficiency

Website speed directly influences search rankings and conversion rates. Comparing the asset delivery models of classic and block themes reveals distinct performance characteristics:

1. Conditional Asset Loading

Classic themes traditionally enqueue massive, monolithic CSS files (such as style.css or compiled Sass bundles) across every page load, regardless of whether specific components appear on that page. Block themes leverage WordPress core's per-block CSS loading, serving only the minimal styling rules needed for the active blocks on the current URL.

2. Font Management and Core Web Vitals

Block themes natively utilize the WordPress Font Library, allowing developers to define and locally host web fonts via theme.json. This eliminates external Google Fonts render-blocking requests, boosting First Contentful Paint (FCP) and Cumulative Layout Shift (CLS) scores out of the box.

3. DOM Tree Complexity and Markup Cleanliness

One trade-off developers often observe with block themes is DOM depth. Complex nested block groups and column containers can generate deeper HTML trees compared to custom, hand-coded classic PHP templates. However, modern block themes mitigate this through block patterns, using minimal structural wrappers.


Feature Comparison: Block Themes vs. Classic Themes

To decide which architecture fits your agency or product roadmap, review how they compare across critical development dimensions:

Capability Classic Themes Block Themes (FSE)
Templating Language PHP (.php template files) HTML with block comments (<!-- wp:... -->)
Styling Architecture Custom SCSS / CSS stylesheets Declarative theme.json + CSS variables
Site Layout Editing Code-level edits or third-party builders Visual Site Editor (Header, Footer, Templates)
Client Usability Locked layouts; low risk of client breakage Flexible visual editing; requires client guardrails
Third-Party Plugin Ecosystem Decades of mature plugin compatibility Growing rapidly; some legacy plugins lack blocks
Initial Learning Curve Low for traditional PHP developers Moderate; requires understanding block markup
Development Velocity Slower layout iterations Fast assembly with reusable block patterns

Choose Classic Themes if your project depends heavily on complex legacy plugins (such as older membership suites or bespoke WooCommerce extensions) that have not adopted block architecture, or when you need strict code locks that prevent clients from altering structural layouts.

Choose Block Themes if you are building modern editorial publications, corporate marketing sites, or blogs where content teams need autonomy to design landing pages using curated block patterns without filing tickets with engineering.


Hybrid Themes: The Pragmatic Bridge for Existing Sites

For development teams managing established client websites, jumping straight into a full block theme is not always feasible. This has led many engineers to adopt the "hybrid theme" paradigm.

A hybrid theme keeps the standard classic PHP template hierarchy (header.php, footer.php, page.php) while introducing a theme.json configuration file into the theme root. This intermediate setup provides several immediate benefits:

  • Global Style Control: You can define color palettes, typography clamps, and spacing variables in theme.json, ensuring the Gutenberg block editor matches your front-end CSS without writing duplicate editor stylesheets.
  • Block Template Parts: You can embed block-based template parts inside standard PHP templates using block_template_part('header'), allowing non-technical editors to update headers and navigation menus visually.
  • Preserved Custom Logic: Complex PHP queries, legacy Custom Post Type metaboxes, and custom e-commerce checkout flows continue to function without rewriting them as React block extensions.

If you maintain a classic WordPress codebase with heavy custom functionality, introducing theme.json first is the safest stepping stone toward full site editing.


Build Faster with Modern WordPress Templates

Whether you are designing a high-volume media blog, a corporate showcase, or an online storefront, starting with a clean, high-performance architecture ensures long-term maintainability.

Discover curated templates and starter foundations on Ship Templates:

Production-Ready Starters

Skip weeks of boilerplate setup with complete source code, authentication, and modern UI.

All WordPress templates
Continue Reading
All guides →

Ready to ship faster?

Browse production-ready web framework templates and starter kits.

Browse templates