How Gutenberg Guidelines store editorial rules in 22.7

Gutenberg 22.7 shipped Gutenberg Guidelines, and the documentation makes it look like a settings page. Read the source and it is clearly plumbing for something larger: one place where both human editors and AI agents can read the site’s editorial rules. I have watched enough “editorial guide” plugins come and go to know that only native integration survives.

For years, keeping a site’s voice consistent meant a PDF sitting in a Slack channel that nobody opened. Now the rules live in the database. There is a wider overview of the release in my notes on Gutenberg 22.7; this post sticks to the storage side and why it changes how you treat site data.

How Gutenberg Guidelines are stored

The first thing I did was check the database. Gutenberg Guidelines does not dump everything into a serialized option. It registers a custom post type called wp_content_guideline, and each category (Site, Copy, Images, Blocks) is stored as post meta with revision support. So you get atomic updates, and you can roll a change back when an editor gets creative with the tone of voice.

The REST side is just as tidy. The endpoints sit at /wp/v2/content-guidelines, and if you are building a custom block or an AI integration you can filter by category or by block type, as in ?block=core/paragraph. That filtering is worth having: you are not pulling down a 50KB JSON blob when all you need is the rule for image alt text.

Extending guidelines for your own rules

The UI only captures and retrieves for now, and the plugin API for custom categories is still moving, but nothing stops you from consuming the data today. This fetches the copy Gutenberg Guidelines in JavaScript, roughly the shape you would want behind a custom pre-publish checklist:

async function bbioon_fetch_copy_guidelines() {
    try {
        const response = await fetch('/wp-json/wp/v2/content-guidelines?category=copy');
        if (!response.ok) throw new Error('Network response was not ok');
        
        const guidelines = await response.json();
        
        // Log the editorial tone to the console for debugging
        guidelines.forEach(item => {
            console.log(`Guideline: ${item.meta.content_guideline_value}`);
        });
    } catch (error) {
        console.error('Failed to fetch Gutenberg Guidelines:', error);
    }
}

Note the manage_options requirement. Core locks these endpoints down by default, so your internal “voice and tone” rules are not readable by unauthenticated visitors. Forgetting the capability check is the usual mistake in hand-rolled API work, and here you do not get the chance to make it.

What this gives an AI assistant

Automated workflows need context, and an assistant with no guidelines is guessing at your brand’s personality. Structured rules stored in the admin are effectively a prompt library that persists across the whole site, which is the part I got excited about when I wrote that the Guidelines experiment is huge for the ecosystem.

If this Gutenberg Guidelines work is eating your dev hours, hand it over. I have been wrestling with WordPress since the 4.x days and I know where core experiments break in production.

What to do with it now

Putting content standards in a revision-tracked CPT with its own REST API turns editorial rules into data that other code can act on. The block-level rules are the practical part: an alt text requirement or a short-sentence preference can apply to one component instead of the whole site. The experiment lives under Gutenberg > Experiments if you want to switch it on, and the tracking issue on GitHub is where the breaking changes turn up.

author avatar
Ahmad Wael
I'm a WordPress and WooCommerce developer with 15+ years of experience building custom e-commerce solutions and plugins. I specialize in PHP development, following WordPress coding standards to deliver clean, maintainable code. Currently, I'm exploring AI and e-commerce by building multi-agent systems and SaaS products that integrate technologies like Google Gemini API with WordPress platforms, approaching every project with a commitment to performance, security, and exceptional user experience.