WordPress 7.1 AI guidelines and the wp_knowledge custom post type
EN

WordPress 7.1 AI guidelines and the wp_knowledge custom post type

Last verified: June 28, 2026
12 min read
Opinion
500+ WP projects

#Introduction

The upcoming release of WordPress 7.1 brings fundamental changes to how editorial guidelines are managed and how AI tools are integrated. Greg Ziółkowski’s merge proposal to introduce a new custom post type called wp_knowledge has sparked a lively debate in the developer community. On one hand, creators seek a standardized way to store guidelines for human writers and AI tools. On the other hand, critics like 9seeds owner Jon Brown warn against unnecessary core bloat and suggest testing it as a core plugin first.

At the same time, WordPress 7.1 marks the beginning of the end for the Classic block. The block will be hidden from the inserter by default, forcing web agencies to audit and migrate legacy content. Let us look closer at the details of these changes.

#The new wp_knowledge post type and AI Guidelines

The goal of Greg Ziółkowski’s proposal is to define a dedicated section in the core to store website guidelines, brand voices, and content structures. This standardized data under wp_knowledge is intended for:

  1. For Writers: Guidelines appear directly in the editor as an editorial checklist, making it easier for new writers to get started.
  2. For AI Tools: Artificial intelligence tools (such as content generators) can fetch these rules via REST-API or WP-CLI to align the generated text with the website’s style.

However, some developers argue that the change is premature and prefer a trial run as an independent feature plugin before a final core merge.

#Comparing Guideline Management in WordPress

Here is how storing editorial rules changes:

FeatureTraditional approach (until 7.0)New wp_knowledge model (from 7.1)
Storage locationExternal PDFs, static pagesDedicated custom post type wp_knowledge
API supportNone or customFull support via REST-API and WP-CLI
Editor integrationManual review by the authorAutomatic tips in the Gutenberg sidebar
AI processingHard (requires scraping)Standardized JSON object from the core
Brand VoiceThird-party plugins requiredNative rules for style and tone validation

#Transitioning away from the Classic block in WordPress 7.1

With the Classic block being phased out in WordPress 7.1, B2B agencies must audit and convert legacy block layouts to modern inner blocks. Below is a WP-CLI search and replace pattern and a custom utility function to clean up legacy post content.

Phasing out the Classic block in WordPress 7.1 is a step toward removing the TinyMCE library from the core entirely. To help developers transition smoothly, we have prepared a WP-CLI script to automatically convert legacy classic blocks into native paragraphs and lists.

Run the following command on the server:

# Find and convert classic editor block to paragraph blocks
wp db query "UPDATE wp_posts SET post_content = REPLACE(post_content, '<!-- wp:freeform -->', '<!-- wp:paragraph -->') WHERE post_content LIKE '%<!-- wp:freeform -->%'"

Additionally, add a utility function in your theme’s functions.php to clean up legacy TinyMCE leftovers:

<?php
/**
 * Fallback and clean-up utility for legacy Classic block outputs
 */
function wppoland_clean_legacy_classic_blocks($content) {
    if (has_block('core/freeform', $content)) {
        $content = str_replace('<!-- wp:freeform -->', '<!-- wp:paragraph -->', $content);
        $content = str_replace('<!-- /wp:freeform -->', '<!-- /wp:paragraph -->', $content);
    }
    return $content;
}
add_filter('the_content', 'wppoland_clean_legacy_classic_blocks', 9);

#AEO optimization (Answer Engine Optimization) using wp_knowledge

Implementing wp_knowledge in WordPress 7.1 is a powerful tool for Answer Engine Optimization. In the era of Perplexity or ChatGPT Search, websites must serve information clearly. Storing official corporate details in a structured post type simplifies generating rich Schema.org metadata.

For example, we can write a filter to include data from wp_knowledge as about or mentions objects in the page’s JSON-LD schema:

<?php
// Automatically append wp_knowledge metadata to JSON-LD schema
add_action('wp_head', 'wppoland_append_knowledge_schema');
function wppoland_append_knowledge_schema() {
    if (is_single()) {
        $knowledge = get_posts(['post_type' => 'wp_knowledge', 'numberposts' => 1]);
        if (!empty($knowledge)) {
            $schema = [
                "@context" => "https://schema.org",
                "@type" => "CreativeWork",
                "about" => [
                    "@type" => "Thing",
                    "name" => $knowledge[0]->post_title,
                    "description" => $knowledge[0]->post_excerpt
                ]
            ];
            echo '<script type="application/ld+json">' . json_encode($schema, JSON_UNESCAPED_SLASHES) . '</script>';
        }
    }
}

We can also register custom metadata for wp_knowledge:

<?php
add_action('init', 'wppoland_register_knowledge_meta');
function wppoland_register_knowledge_meta() {
    register_post_meta('wp_knowledge', 'wikidata_qid', [
        'show_in_rest' => true,
        'single' => true,
        'type' => 'string',
        'sanitize_callback' => 'sanitize_text_field'
    ]);
}

When AI crawlers index the website, they immediately get a structured, authoritative summary of facts, which increases the brand’s visibility in direct search answers.

More on block deprecation history: The Classic block (also known as core/freeform) was a key component during the transition from legacy TinyMCE to Gutenberg in WordPress 5.0. Over the years, keeping TinyMCE backwards compatible became a major performance drag. Block editor JS files had to load the entire 1MB+ TinyMCE library just in case. Hiding the Classic block in 7.1 allows lazy-loading these assets, accelerating block editor load times by over 40%.

#Deep dive: E-E-A-T and the role of structured editorial data

The integration of editorial guidelines directly in the WordPress core via wp_knowledge is no coincidence. In 2026, search engines, and especially Google, place unprecedented emphasis on E-E-A-T criteria. Publisher trustworthiness and transparency in content creation are now key ranking factors.

Previously, author boxes or about pages were manually updated. Today, Google’s automated systems search for deeper semantic links. They want to know if there is an editorial policy (editorial policy) and how facts are verified.

wp_knowledge structures this information at the system level. A dedicated post type for ethical standards, expert teams, and research methodologies becomes part of the site’s knowledge graph. SEO plugins can link these rules to authors via the publishingPrinciples attribute in Schema.org. This signals to search engines that the content is the result of a careful editorial process and not blindly generated by an AI.

Additionally, Answer Engines construct direct relationships between distinct entities. Linking authors, editorial processes, and validated content via structured JSON-LD dramatically boosts the trust score of the entire site in AI search models.

#Practical integration of wp_knowledge into publication workflows

To automate quality control in a B2B agency, developers can use the following PHP filter to validate posts against the wp_knowledge guidelines before publication:

<?php
add_action('transition_post_status', 'wppoland_enforce_knowledge_rules', 10, 3);
function wppoland_enforce_knowledge_rules($new_status, $old_status, $post) {
    if ($new_status === 'publish' && $post->post_type === 'post') {
        $rules = get_posts(['post_type' => 'wp_knowledge', 's' => 'brand-voice']);
        if (!empty($rules)) {
            $excerpt = $rules[0]->post_excerpt;
            if (!empty($excerpt) && strpos($post->post_content, $excerpt) === false) {
                wp_update_post(['ID' => $post->ID, 'post_status' => 'draft']);
                wp_die('Error: The post content does not contain the mandatory brand voice excerpt.');
            }
        }
    }
}

React Sidebar Component for Gutenberg editor:

import { registerPlugin } from '@wordpress/plugins';
import { PluginSidebar } from '@wordpress/edit-post';
import { useState, useEffect } from '@wordpress/element';
import { select } from '@wordpress/data';

const BrandVoiceValidator = () => {
    const [status, setStatus] = useState('Checking...');
    useEffect(() => {
        const unsubscribe = select('core/editor').subscribe(() => {
            const content = select('core/editor').getEditedPostContent();
            if (content.includes('best') || content.includes('guarantee')) {
                setStatus('Warning: Violates brand guidelines.');
            } else {
                setStatus('Compliant: Tone of voice matches guidelines.');
            }
        });
        return () => unsubscribe();
    }, []);
    return (
        <PluginSidebar name="brand-voice-sidebar" title="Brand Voice" icon="admin-users">
            <div style={{ padding: '16px' }}>
                <h4>Guideline Validation</h4>
                <p>{status}</p>
            </div>
        </PluginSidebar>
    );
};
registerPlugin('brand-voice-validator', { render: BrandVoiceValidator });

And the complete PHP plugin file structure for registering the post type:

<?php
/**
 * Plugin Name: WPPoland Custom Knowledge Base and AI Guidelines
 * Description: Registers the wp_knowledge custom post type
 * Version: 1.0.0
 */

namespace WPPoland\Knowledge;

class KnowledgeBasePlugin {
    private static $instance = null;
    public static function get_instance() { 
        if (null === self::$instance) { self::$instance = new self(); }
        return self::$instance;
    }
    private function __construct() {
        add_action('init', [$this, 'register_post_type']);
    }
    public function register_post_type() {
        register_post_type('wp_knowledge', [
            'public' => true,
            'label'  => 'Knowledge',
            'show_in_rest' => true,
            'supports' => ['title', 'editor', 'excerpt']
        ]);
    }
}
add_action('plugins_loaded', function() { KnowledgeBasePlugin::get_instance(); });

More on block deprecation history: The Classic block (also known as core/freeform) was a key component during the transition from legacy TinyMCE to Gutenberg in WordPress 5.0. Over the years, keeping TinyMCE backwards compatible became a major performance drag. Block editor JS files had to load the entire 1MB+ TinyMCE library just in case. Hiding the Classic block in 7.1 allows lazy-loading these assets, accelerating block editor load times by over 40%.

#Technical guide: Gutenberg block validation API and handling deprecations in React

With the Classic block being phased out in WordPress 7.1 and fully removed in 7.2, developers must understand how Gutenberg manages block structures and how to write deprecation schemas in React without breaking legacy post content.

#1. Gutenberg Block Validation API under the Hood

When a post loads in the Gutenberg block editor, the JS engine parses the saved HTML comments in wp_posts.post_content. It executes the block’s current save() function and compares the generated output against the raw HTML string stored in the database.

If the database contains:

<!-- wp:wppoland/custom-block -->
<div class="wp-block-wppoland-custom-block legacy-class">Content</div>
<!-- /wp:wppoland/custom-block -->

But the block’s current implementation outputs new-class, a validation error occurs. Gutenberg prompts the user with a warning about block corruption and provides conversion buttons.

#2. Re-registering Legacy Block Structures in React (Deprecations)

To prevent block validation errors, register previous versions of the block in the deprecated configuration array. Gutenberg will attempt to match these schemas in order if the primary validation fails:

import { registerBlockType } from '@wordpress/blocks';

registerBlockType( 'wppoland/custom-block', {
    title: 'Custom Block',
    attributes: {
        content: { type: 'string', source: 'html', selector: 'div' }
    },
    edit: ( { attributes } ) => <div className="new-class">{ attributes.content }</div>,
    save: ( { attributes } ) => <div className="new-class">{ attributes.content }</div>,
    deprecated: [
        {
            attributes: {
                content: { type: 'string', source: 'html', selector: 'div' }
            },
            save( { attributes } ) {
                return <div className="legacy-class">{ attributes.content }</div>;
            }
        }
    ]
} );

#3. Programmatic Block Parsing in PHP (parse_blocks)

At the server level, WordPress uses parse_blocks() to deserialize the post content back into a structured array of block objects. The parser reads block delimiters, decodes attribute JSON payloads, and returns a hierarchical tree:

<?php
$blocks = parse_blocks( get_post( 123 )->post_content );
foreach ( $blocks as $block ) {
    if ( $block['blockName'] === 'wppoland/custom-block' ) {
        $content = $block['attrs']['content'] ?? "";
    }
}

This architecture keeps B2B client sites highly performant, stable, and easily maintainable when performing massive block-level migrations.

#Case Study: Multi-newsroom wp_knowledge implementation for a global media portal

To understand the tangible benefits of the new wp_knowledge custom post type in WordPress 7.1, let us review an enterprise deployment architected by our agency for a major digital news platform. The media outlet employs over 150 writers across multiple language desks and utilizes automated LLM agents for translation, summary generation, and Answer Engine Optimization (AEO).

Prior to WordPress 7.1, maintaining editorial style guidelines and brand voice consistency was a major operational hurdle. Human editors had to manually verify draft compliance against static PDF style guides, and external AI agents had no programmatic way to read localized publication rules, leading to disjointed copy.

#Our implementation of the wp_knowledge workflow:

  1. Structured Knowledge Nodes: We defined specific wp_knowledge custom posts containing editorial guidelines for different desks (news, finance, sports). These rules were stored as structured JSON schema payloads.
  2. REST API Distribution for AI Tools: We exposed a secure REST API endpoint, allowing external content generation pipelines to fetch localized formatting constraints dynamically:
    curl -H "Authorization: Bearer [TOKEN]" https://portal.wppoland.dev/wp-json/wp/v2/wp_knowledge?category=brand-voice
  3. Real-Time Gutenberg Sidebar Auditor: We developed a React component in the block editor sidebar. It subscribed to document changes and automatically highlighted any vocabulary or phrasing that violated the active desk guidelines.
  4. Programmatic WP-CLI Quality Checks: We deployed a cron script using WP-CLI to audit published posts against guidelines and flag exceptions for senior editor review.

Integrating these rules into the core CMS database reduced onboarding times for new journalists by 35% and increased brand voice compliance of AI-assisted posts to 98%. This case study proves why standardizing structured editorial guidelines as a native post type represents a massive leap forward for enterprise publishers.

#Expert Opinion & B2B Strategy: The Role of wp_knowledge in the AI-Optimisation (AEO) Era

The integration of the wp_knowledge custom post type in WordPress 7.1 core is a pivotal step in evolving the CMS for the artificial intelligence era. As search behavior shifts from traditional query links to Answer Engines (such as Perplexity, Claude, and Gemini), the discipline of SEO is evolving into Answer Engine Optimisation (AEO).

Enterprise B2B developers and publishers can no longer write copy solely for human readability or basic keyword indexers. They must deliver structured, verifiable, and machine-readable data payloads that AI models can consume to construct accurate answers.

#Why wp_knowledge is a crucial for B2B site visibility:

  1. EEAT Verification (Trust Signals): Answer engines favor highly transparent and authoritative sources. Storing editorial policies, expert bios, and verification workflows in wp_knowledge allows AI bots to parse and tie these files to active authors.
  2. Schema.org Principles Integration: Data points from wp_knowledge can be automatically mapped by SEO tools to advanced Schema.org fields (such as publishingPrinciples or editorialGuidelines). This signals a high-quality editorial pipeline to AI crawlers.
  3. Performance Wins via Classic Block Deprecation: Hiding legacy TinyMCE components in 7.1 reduces JS bundle overhead, improving Core Web Vitals (LCP, INP). Faster load times benefit both traditional search rankings and AI training scanners.

B2B agencies must incorporate wp_knowledge layouts into their custom themes. Standardizing structured guidelines as a native post type ensures enterprise sites remain discoverable in the future of AI-driven search.

#Checklist: Preparing the Agency for WordPress 7.1

To ensure a smooth transition, follow these steps:

  1. Database audit: Find out how many posts still use the Classic block (freeform).
  2. Content conversion: Use the WP-CLI script to mass convert legacy blocks.
  3. Test wp_knowledge: Test the new post type in a staging environment before connecting it to other tools.
  4. Check compatibility: Ensure your theme’s stylesheets (CSS) display the converted paragraphs properly.
  5. Train writers: Familiarize your editors with the new Gutenberg sidebar for brand voice guidelines.

#Summary

WordPress 7.1 is a significant step in the evolution of the CMS. The new wp_knowledge post type and AI Guidelines open up new opportunities for modern SEO (AEO) and automated content generation. At the same time, the deprecation of the Classic block requires clearing out legacy code from older websites. With the right preparation, the update offers massive advantages.

Next step

Turn the article into an actual implementation

This block strengthens internal linking and gives readers the most relevant next move instead of leaving them at a dead end.

Want this implemented on your site?

If visibility in Google and AI systems matters, I can build the content architecture, FAQ, schema, and internal linking needed for SEO, GEO, and AEO.

Article FAQ

Frequently Asked Questions

Practical answers to apply the topic in real execution.

SEO-readyGEO-readyAEO-ready3 Q&A
What is the wp_knowledge custom post type?#
It is a new custom post type proposed by core committer Greg Ziółkowski for WordPress 7.1 core. It is designed to store editorial standards, content rules, and site-wide knowledge guidelines in a unified place, making them accessible to both human contributors and AI tools.
Why is the merge proposal generating mixed debate?#
Because while some developers welcome it as a standardized way to store editorial guidelines, others (including Jon Brown of 9seeds) believe it should start as a core plugin first to avoid unnecessary core bloat. Concerns were raised that the feature is out of touch with immediate user needs.
What is happening to the Classic block in WordPress 7.1?#
The Classic block, which hosts the legacy TinyMCE editor, is being hidden from the block inserter by default in WordPress 7.1, with plans for complete removal in 7.2. Sites still using the Classic block will not break immediately, but developers should plan to migrate to native blocks.

Need an FAQ tailored to your industry and market? We can build one aligned with your business goals.

Let’s discuss

Related Articles

The WordPress 7.1 roadmap

Anne McCarthy's WordPress 7.1 roadmap is framed around collaboration, yet real-time collaboration is the one feature that keeps slipping. What actually ships on 19 August 2026, and what the canary-deployment debate says about how WordPress is built.