Full Site Editing
A WordPress feature that lets you customize your entire site — headers, footers, templates — using the block editor instead of PHP template files.
Full Site Editing (FSE) is WordPress’s way of letting you build and modify every part of your site using blocks. Before FSE, you could only edit post and page content with the block editor. Headers, footers, sidebars, and archive layouts? Those lived in PHP template files. Now they live in the Site Editor, accessible to anyone who can drag and drop.
WordPress introduced FSE progressively starting with version 5.9. It requires a block theme — classic themes don’t support it.
How It Works
FSE relies on a block theme structure. Instead of traditional PHP templates like header.php and single.php, a block theme stores templates as HTML files containing block markup.
Here’s what a simplified block theme template looks like inside templates/single.html:
<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
<!-- wp:group {"layout":{"type":"constrained"}} -->
<div class="wp-block-group">
<!-- wp:post-title {"level":1} /-->
<!-- wp:post-content /-->
</div>
<!-- /wp:group -->
<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
No PHP. No the_content() calls. Just block markup that WordPress renders on the front end.
You access the Site Editor from Appearance → Editor in the dashboard. From there, you can modify:
- Templates — the layout for specific content types (single posts, pages, archives, 404)
- Template Parts — reusable sections like headers and footers
- Styles — global typography, colors, spacing, and layout settings stored in
theme.json
Changes you make in the Site Editor get saved to the database, overriding the theme’s default HTML files. This is worth knowing. Your customizations live in wp_posts with the wp_template and wp_template_part post types — not in theme files on disk.
Common Use Cases
Building a custom homepage without code. You can assemble a homepage using query loops, cover blocks, and columns directly in the Site Editor. No page builder plugin required.
Editing headers and footers site-wide. Need to add a banner above your navigation? In a classic theme, that means editing header.php or using a hook. With FSE, you open the header template part and drop in a block.
Creating custom archive layouts. Want your category pages to display posts in a grid instead of a list? The Site Editor lets you modify the archive template and configure the Query Loop block’s display settings visually.
Applying global style changes. The Styles panel lets you change fonts, colors, and spacing across every page at once. These settings map to theme.json under the hood, which means they generate proper CSS custom properties — no inline styles scattered everywhere.
Why It Matters
FSE shifts power from developers to site owners. That’s the pitch, anyway. But what happens when a non-technical user accidentally deletes the header template part? Or overrides a carefully built template without understanding the cascade? These are real scenarios I see on client sites.
From a security perspective, FSE templates stored in the database mean your site’s structure depends on database integrity. If someone gains editor-level access, they can rewrite your entire site layout — not just post content. That’s a wider attack surface than classic themes where templates sit as read-only files on the server.
For developers, FSE means learning theme.json configuration and block markup instead of PHP template tags. The tradeoff: you lose fine-grained PHP control but gain a system that’s easier to maintain for teams where not everyone writes code.
For site owners, FSE reduces plugin dependency. You need fewer plugins for layout customization, which means fewer update cycles, fewer compatibility issues, and fewer potential vulnerability points. Every plugin you don’t install is one less thing that can break — or get exploited.
The practical advice: if you’re starting a new WordPress project today, build on a block theme. The ecosystem has matured enough. But test your templates, back up your database before major edits, and lock down user roles so only trusted users can modify site-wide templates.