Как удалить старые чанк-блоки Gutenberg из базы данных WordPress

При активном использовании редактора Gutenberg в WordPress иногда в базе данных накапливаются устаревшие или поврежденные чанк-блоки. Они могут негативно влиять на производительность сайта, создавать конфликты при загрузке страниц и усложнять работу с контентом. В этой статье мы подробно рассмотрим, как обнаружить такие старые чанк-блоки и безопасно удалить их из базы данных на платформе WPengine, а также приведём примеры кода для автоматизации процесса.

Что такое чанк-блоки Gutenberg и почему их нужно удалять

Гутенберг (Gutenberg) — это современный блочный редактор WordPress, который хранит контент в виде JSON-блоков. Для оптимизации загрузки и редактирования эти блоки разбиваются на «чанки» — отдельные части кода, которые сервер загружает по мере необходимости.

Со временем, особенно при частом редактировании и обновлении контента, в базе данных могут оставаться старые чанк-блоки, которые уже не связаны с актуальными постами. Они занимают место, замедляют запросы и могут вызывать ошибки при рендеринге страниц.

Удаление таких данных помогает поддерживать базу в чистоте, снижает нагрузку на сервер и повышает стабильность работы сайта.

Как обнаружить старые чанк-блоки в базе данных WordPress

Для начала нужно понять, где именно хранятся чанк-блоки. В WordPress контент постов хранится в таблице wp_posts, а блоки Gutenberg — в поле post_content. Однако чанк-блоки, которые мы хотим удалить, обычно находятся в дополнительных таблицах или метаданных, например в wp_postmeta или в кэшах плагинов.

На платформе WPengine можно использовать доступ к базе через phpMyAdmin или консоль MySQL. Для поиска устаревших чанков можно выполнить запросы с фильтрацией по ключам метаданных или по содержимому поля с блоками, например:

SELECT post_id, meta_key FROM wp_postmeta WHERE meta_key LIKE '_wp_block_chunk_%';

Данный запрос покажет все метаданные, связанные с чанками Gutenberg. Чтобы определить, какие из них не связаны с текущими постами, нужно сопоставить post_id с существующими публикациями.

Автоматический поиск неиспользуемых чанков

Для автоматизации поиска можно написать функцию, которая проверит наличие чанков без соответствующего поста и вернёт список таких элементов:

function wpengine_find_orphan_gutenberg_chunks() {
    global $wpdb;
    $chunks = $wpdb->get_results("SELECT pm.meta_id, pm.post_id FROM {$wpdb->postmeta} pm
        LEFT JOIN {$wpdb->posts} p ON pm.post_id = p.ID
        WHERE pm.meta_key LIKE '_wp_block_chunk_%' AND p.ID IS NULL");
    return $chunks;
}

Данная функция вернёт метаданные чанков, для которых отсутствуют посты — это и есть кандидаты на удаление.

Как безопасно удалить старые чанк-блоки из базы

Удаление данных из базы — операция критичная, поэтому сначала обязательно сделайте резервную копию через инструменты WPengine или с помощью плагина для бэкапа.

Если вы точно определили устаревшие чанк-блоки, их можно удалить с помощью SQL-запроса:

DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE pm.meta_key LIKE '_wp_block_chunk_%' AND p.ID IS NULL;

Этот запрос удалит все метаданные чанков, не привязанные к существующим постам.

Для выполнения из кода WordPress можно использовать следующий пример функции с префиксом wpengine_:

function wpengine_delete_orphan_gutenberg_chunks() {
    global $wpdb;
    $deleted = $wpdb->query(
        "DELETE pm FROM {$wpdb->postmeta} pm
        LEFT JOIN {$wpdb->posts} p ON pm.post_id = p.ID
        WHERE pm.meta_key LIKE '_wp_block_chunk_%' AND p.ID IS NULL"
    );
    return $deleted;
}

Вы можете запускать эту функцию вручную из административной панели или автоматизировать через крон-задачи WordPress.

Использование плагина Clearfy Pro для очистки

Плагин Clearfy Pro, доступный на wpshop.ru, предлагает удобные инструменты для оптимизации базы, в том числе очистку устаревших данных и кэшированных блоков Gutenberg. Он автоматически сканирует и удаляет неиспользуемые чанк-блоки, снижая нагрузку на сайт без необходимости ручного вмешательства.

Как предотвратить накопление старых чанк-блоков в будущем

Чтобы ваша база данных оставалась чистой, рекомендуется соблюдать несколько правил:

  • Регулярно обновляйте WordPress и используемые плагины, чтобы минимизировать ошибки в обработке блоков.
  • Используйте проверенные плагины для очистки базы данных, например Clearfy Pro или WP-Optimize.
  • Автоматизируйте удаление устаревших данных через WP-Cron, вызывая функцию wpengine_delete_orphan_gutenberg_chunks раз в неделю или месяц.
  • Избегайте частого удаления и повторного создания сложных блоков без необходимости.

Также стоит мониторить ошибки PHP и логи на WPengine, чтобы своевременно реагировать на сбои, связанные с блоками Gutenberg.

Пример автоматизации через WP-Cron

Добавьте следующий код в файл functions.php вашей темы или в плагин, чтобы создать задачу, которая будет еженедельно очищать базу от устаревших чанков:

function wpengine_schedule_chunk_cleanup() {
    if (!wp_next_scheduled('wpengine_weekly_chunk_cleanup')) {
        wp_schedule_event(time(), 'weekly', 'wpengine_weekly_chunk_cleanup');
    }
}
add_action('wp', 'wpengine_schedule_chunk_cleanup');

add_action('wpengine_weekly_chunk_cleanup', 'wpengine_delete_orphan_gutenberg_chunks');

Такой подход позволит автоматически поддерживать базу данных в оптимальном состоянии без лишних усилий.

Автоматизация обновлений WordPress с WPengine: настройка и примеры
14.12.2025
Как разделить базу данных WordPress по таблицам для улучшения производительности
09.04.2026
Как отключить Gutenberg в WordPress: лучшие способы и практические примеры
03.12.2025
Оптимизация базы данных WordPress для ускорения работы сайта
23.12.2025
WooCommerce: как автоматически удалять товары без заказов
02.05.2026