Хочете позбутися зайвого сміття у базі даних WordPress? Вимкніть ревізії постів! Якщо цікаво, читайте далі.

Що таке ревізії?

Коли ви створюєте новий запис або сторінку на сайті, потім зберігаєте її, і ще після цього кілька разів редагуєте, "движок" автоматично зберігає всі її версії у своїй базі даних. Їх і називають ревізіями.

Навіщо відключати ревізії у WordPress?

Якщо на Вашому сайті не більше одного десятка записів, то турбується нема про що. Але в разі наявності їх не однієї сотні, тут вже варто задуматися. Адже одна стаття може піддаватися коригуванням кілька десятків разів, доки не буде опублікована. Значить у базі зберігатиметься і кілька десятків її копій. У принципі це з одного боку зручно, тому що дозволяє переглянути всі зміни, якісь з них повернути і т.д. Але після того, як публікацію виставлено на сайті, її дублікати вже нікому не потрібні.

Як вимкнути ревізії у WordPress?

Якщо Ви щасливий власник багатофункціонального преміум-плагіну, то Вам не доведеться шукати будь-яких інших рішень. Однією з його функцій є повне вимкнення створення ревізій. Для цього потрібно перейти до адмін-розділу Clearfy Proта на вкладці Додатковоактивувати налаштування Вимкнути ревізії повністю.

Інші способи

Плагін Revision Control

Revision Control – окремий плагін для керування ревізіями на сайті WordPress. Основною його особливістю є можливість вказати для яких типів записів (Сторінки або Записи) забороняти створення копій.

Отже, після його встановлення та активації слід перейти в адмінці Налаштування -> Revisions.

Ви можете вимкнути створення ревізій для відповідного типу записів. Для цього служать відповідні поля: Posts (Записи) та Pages (Сторінки). Щоб зберегти всі зміни, потрібно натиснути кнопку Save Changes.

Плагін Disable Post Revision

Disable Post Revision є окремим плагіном, який виконує лише одну функцію – повне відключення створення копій контенту. Для цього його потрібно просто встановити та активувати. Основною перевагою плагіна є відсутність будь-яких сторінок налаштувань. Він починає виконувати свою роботу одразу після активації.

Редакції (або ревізії) WordPress існують вже давно. Вони дозволяють зберігати резервну копію запису або сторінки під час кожної зміни, а потім переглядати всі версії з можливістю відновити будь-яку з них.

Незважаючи на цей корисний функціонал, кожна редакція це фактично копія самого запису, яка зберігається в базі даних. На великих сайтах з великою кількістю контенту редакції можуть істотно збільшити розмір бази даних MySQL.

У цій короткій статті ми розглянемо кілька методів для обмеження максимальної кількості редакцій на кожен запис, а також видалення всіх редакцій з бази даних WordPress.

Обмеження кількості редакцій

За промовчанням WordPress зберігає всі редакції для записів та сторінок. Це легко змінити за допомогою фільтра wp_revisions_to_keep у вашому плагіні, або за допомогою константи WP_POST_REVISIONS у файлі конфігурації wp-config.php . Наприклад, якщо нам потрібно зберігати лише 5 останніх версій записів та сторінок, наш плагін буде виглядати так:

/** * Plugin Name: My Revisions Config */ function my_revisions_to_keep($revisions) ( return 5; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

За допомогою фільтра можна також обмежувати редакції в залежності від типу запису. Наприклад, якщо нам необхідно 10 редакцій для сторінок і всього 5 редакцій для записів (та інших типів), то наш плагін буде виглядати так:

Function my_revisions_to_keep($revisions, $post) ( if ("page" == $post->post_type) return 10; else return 5; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep", 10, 2);

Ви також можете встановити обмеження за допомогою директиви WP_POST_REVISIONS у файлі конфігурації WordPress wp-config.php , але поділ на типи записів за допомогою цього методу вже зробити буде неможливо:

Define("WP_POST_REVISIONS", 5);

Як вимкнути редакції

За допомогою цих же методів, ви можете взагалі відмовитися від редакцій в WordPress. Для цього необхідно встановити нульове обмеження:

Function my_revisions_to_keep($revisions) ( return 0; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

Або за допомогою файлу wp-config.php:

Define("WP_POST_REVISIONS", 0);

Зверніть увагу, що подібне вимкнення редакцій не вплине на вже існуючі редакції. Усі ревізії, які існували до моменту відключення, залишаться доступними, а нові редакції при збереженні створюватися не будуть. Варто також зазначити, що автозбереження в WordPress теж є редакціями і описані вище методи їх не відключають.

Як видалити всі редакції

Після того, як ви відключили редакції WordPress, ви напевно захочете видалити всі створені раніше редакції з бази даних WordPress. Зробити це легко за допомогою пари запитів 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%";

Цей запит видаляє всі редакції з бази даних WordPress, крім автозбережень. Перед виконанням будь-яких подібних запитів рекомендуємо зробити резервну копію вашої бази даних MySQL.

Радимо також розглянути плагін Revision Control, який дозволяє переглядати та видаляти редакції в WordPress, а також надає інтерфейс для встановлення обмеження на кількість редакцій для записів та сторінок.

Якщо у вас виникли проблеми або питання при керуванні редакціями WordPress — залиште коментар і ми з радістю вам відповімо.

Добрий день. Сьогодні я написав вам чисто технічну статтю, що дозволяє оптимізувати базу даних WordPress блогу за рахунок чищення ревізій (автоматично збережених копій статей). Ми докладно розглянемо та розберемо призначення ревізії, їх сутність, а також, я покажу як видалити та вимкнути чи обмежити появу ревізії у WordPress. Опублікований нижче матеріал супроводжуватиметься докладними картинками з коментарями.

Як бачите, питань вивчення досить багато. Щоправда, для багатьох власників інтернет ресурсів вона буде не нова, але "найрозумніші" мій блог не читають, його читають ті, хто хоче навчитися. Початківцям для створення популярного, надійного і стабільного сайту, необхідно розбиратися у всіх технічних тонкощах і мати практичне поняття про ревізії і ще багато про що. Будемо вчитися.

Що таке ревізії у WordPress

Можливо, ви помічали, що під час написання поста або редагування система в автоматичному режимі робить його копію – резервне збереження. У цей час кнопка «Опублікувати» та «Зберегти», розташовані у вікні праворуч, стають неактивними. Саме ця дія і називається ревізією.

Ревізії WordPress – це автоматичне резервне збереження вмісту запису або сторінки, щоб уникнути втрати даних. З них можна відновити попередні копії документів.

Багато хто, напевно, здогадався про те, що ревізії WordPress служать для того, щоб уникнути втрати даних. Вони налаштовуються в автоматичному режимі та роблять резервну копію через певний проміжок часу (кожні 60 секунд). Вони складаються до бази даних (MySql - phpMyAdmin). Переглянути список ревізій у WordPress можна трохи нижче вікна редагування запису (в режимі редагування). Якщо прокрутити сторінку, то нижче їх можна побачити у вікні «Редакції». Виглядають вони так:

Напевно, у вас уже постало питання «Навіщо видаляти чи відключати ревізії?», якщо вони виконують таку корисну роль. Вся проблема полягає в тому, що копії записів, статей або постів дуже завантажують базу даних, до якої вони заносяться. Це призводить не тільки до майбутньої проблеми її редагування та внесення змін, але й до повільного завантаження сторінок сайту. Раджу прочитати піст «». Пошукові системи стали звертати особливу увагу на цей параметр. Також, до речі, від цього залежить поведінковий чинник, показник якого формується з оцінки поведінки користувачів.

Природно, ревізій потрібно позбуватися, якої б користі вони в собі не несли. Від цього не тільки скоротиться розмір та обсяг бази даних, але й завантаження сайту проходитиме значно швидше.

Як видалити ревізії у WordPress

Існують різні способи видалення ревізій, я покажу два. Один орієнтований на чайників, таких, яким нещодавно був я, а другий на людей більш підготовлених (які не бояться серверів та баз даних).

Спосіб №1. Плагін Better Delete Revision

Ми використовуватимемо спеціально створений плагін для видалення ревізій – Better Delete Revision. Завантажте його через адміку та встановіть. Після активації в розділі налаштування з'явиться пункт з назвою аналогічною до імені плагіна – це налаштування.

Можете одразу оптимізувати базу даних або перейти у вкладку "Перевірити записи ревізій" і вже з неї почистити свій блог від зайвих копій документів.

Спосіб №2. Видалення прямо з бази даних

Цей трохи складніший у плані реалізації. Не хочу вас лякати, але якщо ви боїтеся зробити щось не так, то краще його пропустити. Видаляти копії статей у цьому способі ми будемо безпосередньо через саму базу даних. Тільки перед тим, як туди лізти, раджу зробити її копію. Якщо ви не знаєте, як це робиться, прочитайте пост .

Після вибору потрібної бази, знайдіть вкладку SQL, відкрийте її так, щоб перед вами з'явилося порожнє поле.

У нього потрібно скопіювати розташований нижче код і натиснути на кнопку «ОК». Цією дією ви зробите SQL запит видалення ревізій з бази даних.

DELETE FROM wp_posts WHERE post_type = "revision";

Повинно вийти як на картинці:

Якщо ваші дії виявляться вдалими, у відповідь ви побачите повідомлення наступного виду. Якщо раніше ревізії ви не видаляли або не відключали, кількість рядків буде відмінною від нуля.

Як вимкнути ревізії WordPress

Для того, щоб щоразу не витрачати час на чищення, створення резервних копій статей можна вимкнути. Тоді у вас просто зникне вікно «Редакції» і перестануть відбуватися постійні збереження. Перед тим, як це робити, дуже добре подумайте, тому що у вас більше не буде можливості відкрити або повернутися до попередньої версії запису.

Щоб вимкнути ревізії, вам потрібно пройти на хостинг та відредагувати файл wp-config.php, який розташований у кореневій папці. У нього вставте код із параметром:

Define("WP_POST_REVISIONS", 3);

Цифра встановлює кількість версій документа, які зберігатимуться у базі даних. Обмежте її необхідною кількістю, наприклад, одиниця означатиме, що у вас є одна опублікована та одна резервна (остання правка).

Після внесення змін натисніть кнопку «Зберегти». Тепер ваша база не роздуватиметься як тісто на дріжджах при кожній правці статей.

На цьому я закінчую цей пост. Сподіваюся, що для вас ця інформація була корисною. Якщо виникнуть питання, прошу залишати їх у коментарях.

Збереження змін у постах може бути дуже корисним при роботі в WordPress. Якщо щось піде не так, і ви втратите інформацію з поста, ви завжди можете отримати доступ до попередньої збереженої версії вашого поста, для цього достатньо натиснути на посилання в меню Редакціїпід вікном редактора.

Багато-багато ревізій

Якщо ви працювали з WordPress деякий час, то ви, безперечно, користувалися цією функцією раз чи два. Але ви, напевно, помітили, що ці зміни зазвичай накопичуються.

Якщо ви пишете повідомлення в редакторі, WordPress зберігає редакції автоматично і при збереженні поста. В результаті, не рідкість коли буває понад 20 постових редакцій. Помножте це на кількість повідомлень на вашому сайті, і ви отримаєте мегабайти додаткових повідомлень, що зберігаються у базі даних.

Як позбутися старих редакцій

Деякі люди не люблять зберігати всі ці старі версії у своїй базі даних. Вони вважають, що вони уповільнюють свій сайт. Це міф.

Розробник WordPress Mike Little у коментарі на сайті WPBeginner відповів, "Запити WordPress до бази даних не отримують редакції, тому кількість редакцій не впливає на швидкість виконання запитів. Єдиний раз, коли редакції завантажуються на сторінку, це при редагуванні окремого посту. І це не впливає на швидкість завантаження сторінок вашого сайту."

Тим не менш, багато хто до цих пір вважає, що мати маленьку і легку базу даних дуже добре, і тому вони, як і раніше, воліють позбавлятися своїх старих ревізій.

Якщо ви один із них, то один із трьох плагінів наведених нижче, допоможе вам зробити це.

1. Better Delete Revision

Better Delete Revisionвидаляє старі версії постів та оптимізує вашу базу даних.

На сторінці плагіна говориться: "За допомогою оптимізації та видалення старих редакцій, цей плагін буде робити вашу базу даних легше і менше протягом усього часу використання. Видалення старих редакцій та оптимізація баз даних є однією з найкращих речей, які ви можете зробити, щоб ваш блог працював так швидко, як це можливо.

Подивіться сторінку налаштувань плагіна, а також процес видалення.

Плагін відрізняється від Better Delete Revisionтим, що він не виконує групове видалення ваших редакцій, однак це дасть вам дві функції, які Better Delete Revisionне має.

Він дозволяє спочатку визначити, скільки редакцій було збережено.

І це дозволяє видаляти окремі редакції на сторінці редагування.

3. Revision Cleaner

Плагін Revision Cleanerдозволяє кожному користувачеві встановити інтервал часу автоматичного видалення його редакцій. Це можна зробити на сторінці профілю користувача.

Що таке ревізії Wordpress і навіщо вони потрібні?

Ревізії- Це резервне збереження запису (поста) в Вордпрес, яке виконується двигуном в автоматичному режимі.

Я думаю, ви бачили, що під час публікації нового посту на блозі, в адмінці, під час редагування запису, кнопка «Опублікувати» час від часу стає неактивною. Так ось, саме в цей момент wordpress виконує ревізію.

Тобто іншими словами, якщо ви в адмінці виконуєте редагування посту, вордпрес стару копію цього посту зберігає собі в базу, щоб ви будь-якої миті могли повернутися до неї. Такі збереження він виконує раз на 60 сек. (це за промовчанням, але можна поставити будь-який час).

Як ви вже здогадалися, робиться це з метою, щоб убезпечити вас від непередбаченої втрати даних. Адже ніхто не застрахований від форс мажору, наприклад, у мене був випадок, коли при публікації посту мій браузер з якоїсь причини сам закрився, а після запуску показав мені повідомлення про фатальну помилку. І звичайно в цьому випадку всі сайти, які були у вкладках, закрилися, і відповідно всю інформацію було втрачено. Саме в таких ситуаціях рятують ревізії, які робить wordpress.

До речі, список всіх ревізій ви можете подивитися все там - в адмін панелі вордпрес. Вони знаходяться трохи нижче редагованого запису:

Тут у вас може виникнути питання: якщо такі ревізії корисні, то чому ж їх потрібно видаляти? Пояснюю.

Справа в тому, що такі резервні копії постів, істотно роздмухують базу даних, вони, можна сказати, забивають її зайвим сміттям, якого потрібно позбавлятися. Адже подумайте самі, коли вам потрібно в запис внести багато змін, ви його редагуєте, а в цей час Wordpress зберігає одну за одною старі копії постів. Ці копії складають основу і збільшують її обсяг. А якщо так розібратися, то вони нам, по суті не потрібні, ну хіба що останні 2-3 копії, а решта ні. Тому, природно таких речей потрібно позбавлятися, в цьому випадки і база даних стане легше і вордпрес швидше працюватиме.

Видаляємо ревізії wordpress

Зараз є кілька способів видалення ревізій. Можна видалити резервні копії вручну, безпосередньо в базі даних, ввівши спеціальний SQL запит, а можна виконати цю операцію за допомогою спеціалізованих плагінів. Всі ці методи ми з вами зараз розглянемо.

Перший спосіб- SQL запит до бази даних. Насамперед я вам рекомендую зробити резервне копіювання бази даних, на той випадок, якщо ви зробите щось не так, щоб ви могли швидко відновити всі дані.

Отже, переходимо в phpMyAdmin на хостингу, вибираємо базу даних, на яку ви хочете очистити ревізії.

Після цього у верхній панелі переходимо у вкладку SQL і в поле, що з'явилося, вставляємо ось цей запис:

DELETE FROM wp_posts WHERE post_type = "revision";

Запит до бази даних

Якщо ви все зробите правильно, перед вами з'явиться напис, який сигналізуватиме про успішне видалення ревізій з бази. Повідомлення про успішне виконання SQL запиту

Другий спосіб– Використовуємо плагін Revision Control. Тут все просто, спочатку скачуємо плагін, далі встановлюєте його. Поле установки на панелі «Інструменти» у вас з'явиться ще один розділ - « Revision Control», Плагін дуже простий і розібратися в ньому я думаю у вас не складе ніякої праці.

Ось і все, ревізії видалені!

Це два основні способи для очищення бази даних від ревізій. Є, звичайно, ще кілька плагінів, які дозволяють виконати дану маніпуляцію (якщо конкретніше, то це DelRevisionі WP_Optimize) але я думаю, що цих двох способів вам вистачить з повного.

Ще хочеться сказати, що у вас також є можливість взагалі заборонити wordpress робити ревізії. Правда тут завжди потрібно мати на увазі, що у випадку форс мажорної ситуації відновити втрачені дані вам не вдасться.

Для того щоб заборонити резервне збереження даних вам необхідно зробити низку дій, а саме:

Перейти на хостинг у файловий менеджер (або зв'язатися з хостингом через FTP клієнт).

Знайти на сервері папку wp-includes(Як правило, вона знаходиться в кореневій директорії вашого сайту / ваш сайт / wp-includes.)

В папці wp-includesзнайти файл default-constants.phpта відкрити його у текстовому редакторі.

У цьому файлі знайти напис:

define('WP_POST_REVISIONS', true);

І замінити її на:

define('WP_POST_REVISIONS', false);

Все, після цього ревізії Wordpress будуть відключені!