Редакции (или ревизии) в WordPress предназначены для хранения резервных копий записи или страницы при каждом изменении с возможностью их восстановления. Несмотря на определенную полезность, для крупных сайтов с большим количеством контента, это существенно увеличивает размер базы данных MySQL. Как с этим бороться — ниже.
Ограничение количества редакций
Как упоминалось выше, по умолчанию WordPress хранит все редакции для записей и страниц. Изменим это через константу WP_POST_REVISIONS
в файле конфигурации wp-config.php
оставив, например последние 5 версий записей и страниц:
define( 'WP_POST_REVISIONS', 5 );
Отключение редакций
Если есть желание полностью отключить данную функцию в WordPress, делаем так:
define( 'WP_POST_REVISIONS', 0 );
Обратите внимание! Выше описанные методы отключения редакций не влияют на уже существующие редакции. Кроме того, автосохранения, котороые в WordPress тоже считаются редакциями — выше описаные методы также на отключают.
Удаление всех существующих ревизий с базы данных (кроме автосохранений)
Перед выполнением ниже указаных действий, настоятельно рекомендую сделать резервную копию базы данных MySQL.
Делается это с помощью выполнения следующих запросов в MySQL через командную строку или интерфейс phpMyAdmin:
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%';
Из которых, первые два — удаляют мета-данные и таксономии наших ревизий, а последний уже удаляет сами ревизии.
На этом все.