Gutenberg Block Control
Take control of the block editor by disabling blocks you don’t need. Simplify the editor for clients, enforce design consistency by removing problematic blocks, or clean up the inserter by hiding rarely-used options.
Use Cases
- Simplify the editor for clients by disabling 40+ advanced blocks, leaving only paragraph, image, and heading
- Enforce brand consistency by removing Custom HTML and Shortcode blocks that could break designs
- Focus WooCommerce product editors by hiding content blocks not needed for product descriptions
How It Works
- Open the Gutenberg Block Control settings
- Browse or search for blocks to disable
- Click blocks to toggle their disabled state
- Save settings
- Disabled blocks no longer appear in the block inserter
Settings Interface
Search
Type to filter blocks by name. Categories with no matching blocks are hidden.
Block List
Blocks are organized by category:
- Text - Paragraph, Heading, List, Quote, etc.
- Media - Image, Gallery, Video, Audio, etc.
- Design - Columns, Group, Separator, etc.
- Widgets - Archives, Categories, Latest Posts, etc.
- Theme - Site Title, Navigation, Query Loop, etc.
- Embed - YouTube, Twitter, Vimeo, etc.
Visual Indicators
- Enabled blocks - Normal appearance
- Disabled blocks - Marked with red ✕
Refresh Button
Click “Refresh Block List” to reload available blocks. Useful after installing new plugins that add blocks.
First-Time Setup
To see all available blocks (including those from plugins), first open any post in the block editor, then return here and click “Refresh Block List.”
Blocks are cached when you load the editor. If the list seems incomplete:
- Open any post or page in the block editor
- Return to Switchboard
- Click “Refresh Block List”
- The page will reload with all blocks visible
Common Blocks to Disable
For Non-Technical Clients
- Custom HTML
- Shortcode
- Code
- Preformatted
- Classic (if using only Gutenberg)
For Design Consistency
- Custom HTML (prevents arbitrary code)
- Columns (if layout should be controlled)
- Table (if using custom table styling)
- Buttons (if using theme buttons only)
For Focused Editing
- All embed blocks (if not using embeds)
- Widget blocks (if not needed)
- Theme blocks (for content-only editing)
Verification
After disabling blocks:
- Open any post or page in the block editor
- Click the + button to open the block inserter
- Verify disabled blocks don’t appear
- Search for disabled blocks—they should not be found
FAQ
Will disabling blocks affect existing content?
No. Existing blocks in your content remain intact. You just can’t add new instances of disabled blocks. If you need to edit existing disabled blocks, temporarily re-enable them.Can I disable blocks per user role?
This module disables blocks for all users. Role-based block control would require custom code or a different solution.Why don’t I see plugin blocks?
Plugin blocks are only registered when the block editor loads. Open a post in the editor first, then refresh the block list in Switchboard.What’s the difference between ‘Buttons’ and ‘Button’?
“Buttons” is the container block that holds multiple buttons. “Button” is an individual button. Disable “Buttons” to remove the container; disable “Button” to prevent adding buttons inside a Buttons block.Can users still paste disabled blocks?
If content is copied from another source containing disabled blocks, pasting behavior depends on WordPress version. Generally, the block converts to a different format or shows as unsupported.Start by disabling obviously unnecessary blocks (like legacy widgets or embeds you don’t use), then get feedback from your team before disabling more.
Block Categories Reference
| Category | Examples |
|---|---|
| Text | Paragraph, Heading, List, Quote, Verse, Preformatted |
| Media | Image, Gallery, Audio, Video, Cover, File |
| Design | Buttons, Columns, Group, Row, Separator, Spacer |
| Widgets | Archives, Calendar, Categories, Latest Comments |
| Theme | Navigation, Site Logo, Site Title, Query Loop |
| Embed | YouTube, Twitter, Vimeo, Spotify, TikTok |
Technical Notes
This module uses two methods to disable blocks:
- PHP filter (
allowed_block_types_all) - Removes blocks server-side - JavaScript (
wp.blocks.unregisterBlockType) - Removes blocks client-side
This dual approach ensures blocks are properly hidden regardless of caching or loading order.
Get access to all 147 modules with a single license