Видаляємо старі редакції та звільняємо місце у базі даних Wordpress. Управління ревізіями 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 автоматично зберіг весь мій пост! Не повірите, наскільки я був вдячний розробникам за таку функцію.

Але є й зворотний бік медалі. За замовчуванням, ревізії WordPressробляться кожні 60 секунд, і кожна ревізія записується до бази даних. А тепер порахуйте, скільки у вас в середньому ревізій на пост і помножте на кількість постів у блозі. Дико багато! Розмір бази даних може складатися наполовину з ревізій. У мене так і було. Подивіться, як зменшився розмір БД після видалення всіх ревізій. В два рази!

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

Для відключення ревізій WordPressвідкриваємо файл wp-config.php, він лежить у корені вашого сайту.

Заходимо до нього і дописуємо наступні рядки:

define("WP_POST_REVISIONS", 0);

Число в дужках показує, скільки ревізій можна робити для одного запису. Також можна вказати інтервал автозбереження в секундах (за промовчанням 60).

При написанні та редагуванні записів у WordPress відбувається їхнє автоматичне збереження — робиться резервна копія запису (ревізія). За допомогою ревізій можна відновлювати статтю, перейшовши кілька кроків тому. Щоб відновити статтю, необхідно лише вибрати необхідну ревізію.

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

Відключення ревізій у WordPress

Для того, щоб вимкнути ревізії у WordPress до версії 3.0.3 потрібно перейти до файлу конфігурації «config.php» і відкрити його за допомогою текстового редактора, наприклад Notepad++. Після цього необхідно знайти рядок:

define("WP_POST_REVISIONS",0);

Якщо у нас WordPress версії 3.0.3 або новішої - відключення ревізій відбувається у файлі "default-constants.php" (перебуває в папці "wp-includes"). Шукаємо рядок:

define("WP_POST_REVISIONS", true);

Після цього міняємо true на false, як показано нижче:

define("WP_POST_REVISIONS", false);

Зберігаємо файл "default-constants.php". Таким чином, ревізії буде відключено.

Всі створені ревізії WordPress можна легко видалити. Щоб видалити старі ревізії необхідно зайти phpMyAdmin та вибрати базу даних. Потім потрібно перейти на вкладку SQLі в вікні, що відкрилося, в поле введення вставити рядок:

DELETE FROM wp_posts WHERE post_type="revision";

Приклад показаний на малюнку:

Потім натискаємо кнопку "ОК" і всі збережені раніше ревізії будуть видалені. Такий спосіб видалення ревізій підходить для всіх версій движка WordPress.

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

Що таке редакції та для чого вони потрібні

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

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

Кількість редакцій у WordPress можна обмежити двома способами:

  1. За допомогою константи WP_POST_REVISIONS;
  2. За допомогою хука wp_revisions_to_keep (цей хук також дозволяє вибрати тип записів, для яких встановлюється обмеження, будь то стандартні або довільні типи записів).

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

Define("WP_POST_REVISIONS", 1);

Тепер для кожного посту та сторінки в базі зберігатиметься по одній ревізії.

Як уже писав вище, хук wp_revisions_to_keep дає більше можливостей. Нижче наведено приклад коду обмеження кількості збереження редакцій з коментарями, який потрібно додати до файлу functions.php Вашої теми:

/** * Обмеження кількості збереження ревізій за допомогою хука wp_revisions_to_keep * @param integer $count - кількість ревізій * @param object $post - об'єкт запису */ function limit_save_revisions_db($count, $post) ( if ($post->post_type = = "page") (//для стандартних сторінок WordPress зберігаємо 1 ревізію return 1; ) elseif ($post->post_type == "post") (//для стандартних записів WordPress зберігаємо 3 ревізії return 3; ) elseif ($post ->post_type == "reviews") (//для довільного типу записів "Відгуки" не зберігаємо ревізій return 0; ) else (//для всіх інших зберігаємо 3 ревізії return 3; ) ) add_action("wp_revisions_to_keep", "limit_save_revision 10, 2);

Повне відключення та видалення ревізій

Якщо Ви вирішили взагалі відключити редакції на своєму сайті, то можна також скористатися хуком wp_revisions_to_keep, додавши до файлу functions.php Вашої теми наступний код:

/* * Повне відключення редакцій * @param integer $count - кількість ревізій */ function deactivate_revisions($count) ( return 0; ) add_filter("wp_revisions_to_keep", "deactivate_revisions");

Крім того, після повного вимкнення редакцій їх бажано видалити з бази даних. Адже до відключення вони все одно зберігалися і тепер лежатимуть там непотрібним мертвим вантажем. Щоб це зробити, потрібно перейти в PHPMyAdmin , знайти потрібну базу та відкрити таблицю wp_posts . Далі натискаємо на вкладку SQL і виконуємо наступний запит:

DELETE FROM `wp_posts` WHERE post_type = "revision";

Тепер потрібно видалити всі метадані (таблиця wp_postmeta) та таксономії (таблиця wp_term_relationships) редакцій. Для цього виконуємо ще 2 запити:

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%");

Звісно, ​​перед виконанням цих запитів краще зробити резервну копію бази даних.

На цьому все. Сподіваюся, стаття була корисною для Вас. Всім удачі!!!

Більшість користувачів WordPress навіть не підозрюють про таке поняття, як “ревізії WordPress”, проте корисно уявляти, що це таке, а в деяких випадках бажано знати, як ці ревізії відключити.

Отже, ревізії (або редакції) – це копії ваших постів, створювані при кожному збереженні або автозбереженні сторінки під час її зміни. Робиться це випадок, якщо вам захочеться повернутися до попередньої редакції тексту або на випадок несподіваного збою в роботі комп'ютера або зв'язку.

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

Побачити сформовані ревізії (у термінах російського WordPress) можна під вікном редагування.

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

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

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

Налаштування ревізій

Як же видалити редакцію Wordpress? По-перше, можете вказати у файлі wp-config.php (перебуває в кореневій папці вашого сайту) таку інструкцію:

define("WP_POST_REVISIONS", 0);

що означає збереження лише трьох останніх ревізій.

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

1. Видалення прямо в базі

Заходимо в phpMyAdmin потім у потрібну базу даних. Потім у верхньому меню переходимо на вкладку - SQL. З'явиться вікно, в якому потрібно ввести команду SQL:

І тиснемо внизу кнопку - "OK" (або "Вперед"). Усі, редакції видалені.