Рейтинг@Mail.ru

Отключаем ревизии в WordPress для экономии места в базе данных

Даже если в вашем блоге немного постов, WordPress может хранить необоснованно много записей в базе данных. Это связано с тем, что в данной CMS нет понятия “ревизии”: при каждом редактировании поста, в таблицу записывается еще одна его полная копия. Таким образом, если, например, у вас всего один пост, но вы редактировали его 70 раз, в таблице будет присутсвовать 71 одна запись. База данных быстро растет в размерах, что может стать проблемой на бесплатных хостингах, где размер базы данных жестко ограничен.

Чтобы этого не произошло, для начала нужно отключить данный функционал в найстройках. Для этого откройте файл
wp-config.php измените true на false, либо добавьте полностью следующий код если его нет:

define('WP_POST_REVISIONS', false);

Больше WordPress ревизии хранить не будет.
Теперь нужно удалить уже имеющиеся ревизии. Для этого можно воспользоваться плагином, а можно удалить с помощью SQL-запроса. Для этого запустите редактор базы данных (как правило, используется myadminPHP) в панели управления вашего хостинг-провайдера, откройте базу данных вашего сайта, перейдите в окно SQL и выполните следующий код:

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

Вот и все, ненужные ревизии удалены.
Рекомендую на всякий случай периодически повторять чистку.

Leave a Comment