Плагин WP-Cleanup. Оптимизация базы данных WordPress: удаление ревизий и неиспользуемых данных. Один пишем, три в уме — редакции записей в WordPress и очистка базы данных Как почистить wordpress от мусора
Рано или поздно придется расплачиваться за небрежность и расточительность. Сейчас я имею ввиду небрежное отношение к порядку в файлах сайта и легкомысленное использование дискового пространства. Пожалуй многим знакома ситуации: когда файлы в медиатеку загружались неграмотно, или они не были оптимизированы, или загруженные фотки не использовались в статьях, или было загружено несколько одинаковых фотографий, только одна из которых использовалась на сайте. Подобные ошибки, от легкомыслия или незнания приводят к тому, что файлы сайта начинают занимать излишне много места на диске.
Вот и я недавно столкнулся с подобной проблемой, частично решить которую мне помог плагин Media Cleaner. Плагин мне понравился, поэтому я о нем и пишу. Плагин неплохо написан и выполняет свою функцию. Впрочем, не рекомендую пользоваться плагином без острой необходимости - он все-таки файлы удаляет. К тому же, нашел я в нем некоторые недоработки, о которых уже отписал автору - мелочи.
А что касается моей проблемы, то поработав над "пациентом" около дня, удалось уменьшить размер папки uploads с 1200МБ до 150МБ и все за счет удаления ненужных и оптимизации нужных картинок. Так что и вы будьте бдительны, не пускайте файлы на самотек, если только у вас не бесплатный хостинг.
Вместе с этой статьей рекомендую познакомится с моим плагином для создания миниатюр налету: Kama Thumbnail . С его помощью можно создавать миниатюры любых размеров, только там где они нужны, а размеры которые «полодит» WordPress просто отключить .
О плагине Media Cleaner
Media Cleaner - помогает почистить директорию загрузок (uploads) и библиотеку медиафайлов.
Что конкретно делает плагин? Плагин проверяет действительно ли:
- у ретина медиафайла (под ретина экран) есть обычный файл (файл без @2x)
физический файл прикреплен к медиатеке
медиафайл используется в записи
медиафайл используется в произвольном поле записи
медиафайл используется в WordPress галерее записей
В случае несовпадения с указанными проверками, плагин пометит найденные файлы, которые в дальнейшем можно удалить.
Какие пункты нужно проверять устанавливается в настройках плагина.
Использование плагина
Опишу коротко, как плагин работает:
После активации плагина, заходим в настройки плагина (появится меню) и отмечаем как мы хотим сканировать файлы:
Media Cleaner настройки сканирования
Затем идем на страницу Медиафайлы > Cleaner и запускаем сканирование - кнопка "Scan". После сканирования нужно обновить страницу и вы увидите найденные файлы:
Необходимые на сайте файлы, нужно пометить как игнорируемые: выделите файлы галочкой и нажать кнопку "Ignore". Все остальные файлы, которые не нужны на сайте, можно переместить в корзину (trash): выделите ненужные файлы галочкой и нажмите "Delete" или нажмите "Delete All", тогда все найденные файлы будут перемещены в корзину.
Заметка: при перемещении в корзину плагин создает новую папку: /uploads/wpmc-trash и удаляемые файлы перемещаются туда. Структура год/меся/название файла сохраняются. Тип файлов MEDIA (файлы, которые присутствуют в медиатеке) удаляются из медиатеки, а физические файлы перемещаются в папку корзины "wpmc-trash".
Чтобы полностью удалить файлы с диска (с сервера), нужно перейти в корзину, раздел Trash и использовать кнопки: "Delete" (удалит выбранные файлы) или "Empty Trash" (удалит все файлы корзины).
В этом же разделе можно восстановить файлы выбрав. Для этого используйте кнопки "Recover" (восстанавливает выбранные файлы) и "Recover All" (восстанавливает все файлы корзины).
Заметка: удаленные MEDIA файлы восстанавливается только физически, т.е. файл будет восстановлен в каталог uploads из которого был удален, но в медиатеке он уже не появится.
Имейте ввиду, перед использованием. Плагин выделяет файлы, которые не нашел в медиатеке, или в контенте записи, или в произвольных полях записи, или в галереях. Эти проверки могут не учитывать другие моменты, например если, загруженные в медиатеку или напрямую в каталог uploads файлы использоваться. Если вы загружаете и используете файлы нестандартно, например, картинки для рубрик вы загружаете в медиатеку и не используете их в записях, но эти файлы используются в шаблоне как картинки к рубрикам. Такие файлы, плагин сочтет ненужными. Поэтому, прежде чем удалять файлы с диска, убедитесь, что выбранные для удаления файлы не используются на сайте.
Критическое допущение: если у вас используются стандартные миниатюры WordPress, при этом, вы устанавливаете миниатюру записи и не используется картинку в самой записи, то плагин сочтёт такую картинку неиспользуемой!
Заметка: после удаления (деинсталяции), плагин не удаляет папку кеша (wpmc-trash) в каталоге uploads. Поэтому, возможно эту папку нужно будет удалить вручную.
Ошибки в плагине
После удаления, плагин не удаляет свои опции из таблицы wp_options. Частая ошибка авторов плагинов... Этот момент я поправил, исправленную мной версию можете скачать по этой ссылке . Надеюсь автор услышит мой комментарий и в следующем релизе поправит этот момент.
Здравствуйте, уважаемые читатели блога www.сайт. Если тексты статей на сайте, работающем на CMS WordPress, то очень скоро объем базы данных сайта увеличится многократно.
Дело в том, что начиная с версии 2.6 в WordPress был добавлен очень полезный и нужный механизм ревизий (редакций) записей.
То, что эта опция нужна, не вызывает сомнения. Навскидку можно представить себе несколько возможных причин потерять актуальное содержимое редактируемой записи. Это может быть сетевой сбой в момент обновления, перезапись устаревшей версией при редактировании из разных мест (у меня такое было), элементарная ошибка редактора и так далее.
Ревизии в WordPress позволяют избежать потери данных за счет того, что все предыдущие версии записей не удаляются из базе данных, а лишь получают другой статус — «revision »
В слове “все” предыдущего абзаца как раз и кроется причина неограниченного роста размера базы данных. Каждая редакция (ревизия) записи содержит ее полное содержание. А это значит, что если в процессе подготовки какой-либо статьи вы исправили и перезаписали ее, скажем, 10 раз, то в базе данных будет сохранено 10 копий. Если вы исправите всего один знак, в базу еще раз добавится текст целиком.
Не смотря на то, что увеличение объема базы данных, возможно, и не приводит к заметному снижению скорости отклика сайта, представляется неправильным и нецелесообразным держать в ней уже никому не нужные данные.
Странно, что после включения механизма редакций в WordPress сразу же не было сделано разумного ограничения их количества. Сделать это самостоятельно очень просто.
Управление количеством ревизий записей в WordPress
Для управления механизмом сохранения редакций записей в WordPress в файл конфигурации “wp-config.php
” после:
/** The Database Collate type. Don"t change this if in doubt. */
define("DB_COLLATE", ""); необходимо добавить всего лишь одну запись.
Для ограничения количества редакций тремя экземплярами:
define("WP_POST_REVISIONS", 3); Вместо “3” может быть любое нужное вам значение. “0” отключит сохранение ревизий. Такой же результат будет достигнут, если вместо цифры написать “false”:
define("WP_POST_REVISIONS", false);
Если по какой-либо причине нужно вновь разрешить сохранение всех редакций без удаления данной строки из “wp-config.php
”, то можно написать:
define("WP_POST_REVISIONS", true);
Тип ревизий записей в WordPress
В свою очередь редакции делятся на две категории:
- редакторские ревизии — предыдущие версии текстов, появившиеся после публикации или сохранения редактором (автором) обновленной записи;
- автосохраненные ревизии — автоматически создаются через определенные временные интервалы.
Как интересно. Пока писал этот пост заметил интересную особенность. Если запись находится в статусе «Черновик», то автосохраненные редакции у нее отсутствуют. Выходит, что на черновик автосохранение не распространяется. Стало быть, забывать нажимать на «Сохранить» при работе с черновиком в редакторе WordPress не стоит.
Количество автосохраненных редакций для записи всегда равно единице. То есть, если задать общее количество сохраняемых редакций равным, например, трем, то авторскими из них будут две. Автосохраненые ревизии никогда не перезаписывают авторские.
Автосохранение позволяет не потерять недавно набранные данные в том случае, если автор забыл сохранить их принудительно (получается, что на черновик это не распространяется).
Изменить интервал автосохранения можно добавив в файле конфигурации WordPress “wp-config.php
” строку:
define("AUTOSAVE_INTERVAL", 60); где 60 – интервал в секундах, соответствующий установленному по умолчанию. Его можно скорректировать в любую нужную сторону.
После добавления этих простейших настроек база данных WordPress сразу уменьшится до соответствующего количеству ревизий размера и уже никогда не будет расти как грибы после дождя.
Если надо удалить все релизы, то сделать это можно без установки плагинов непосредственно в базе MySQL через phpMyAdmin.
Заходим в phpMyAdmin и выбираем нужную базу в левом столбце интерфейса. Начинаем, естественно, с .
Бекап базы данных
Переходим на вкладку “Экспорт”:
В открывшемся окне оставляем настройки без изменений. Нажимаем “ОК” в правой нижней части экрана и ждем завершения операции сохранения бекапа базы данных.
Запросы к базе данных на удаление ревизий и оптимизацию таблицы wp_posts
Переходим на вкладку “SQL”. В поле запросов к базе данных пишем:
DELETE FROM wp_posts WHERE post_type = "revision";
OPTIMIZE TABLE wp_posts;
Нажимаем “OK”, подтверждаем желание выполнить запросы к базе.
После успешного завершения запросов должно появиться сообщение такого вида:
При желании можно писать и выполнять запросы последовательно.
Если после сделанных операций вновь посмотреть на размер базы данных (для простейшего сравнения можно не выходя из phpMyAdmin повторить бекап базы в новый файл), то можно с радостью убедиться, что он уменьшился в несколько раз.
Лично я на этом бы уже и остановился – максимальное число сохраняемых релизов настроено, база данных очищена и оптимизирована. При желании, по прошествии некоторого периода времени, определяемого объемом сделанных на сайте изменений текстов, очистку базы описанным способом можно повторить.
С некоторых пор я отказался от использования от плагинов, служащих для оптимизации и очистке базы данных моих сайтов на WordPress, которые показались мне менее эффективными, чем те, о которых я расскажу в этой небольшой статье. Плагинов, служащих оптимизации, чистке и восстановлению БД на Вордпресс довольно много, например , Backup WP-Optimize, DelRevisions. Оценить их значимость и необходимость сложно и такие плагины , безусловно, нужны. Очистка и оптимизация БД от всякого мусора — это, прежде всего, ускорение работы сайта, которая положительно влияет на его ранжирование.
Для оптимизации БД, до некоторых пор, пользовался плагином WP-Optimize, но, как в последствии выяснилось, его функции по очистке базы далеко не идеальны. Случайно обнаружил информацию, которая подарила мне новые знания и пользу о плагинах WP Clean Up и Plugins Garbage Collector. О них сегодня мой рассказ.
Найти его можно методом поиска в админпанели. Установить и активировать. Затем переход из «Параметры», выбрав этот плагин, откроете две таблицы.
Первая таблица служит для очистки мусора. Удалить ненужные файлы можно выборочно, можно все сразу:
Сразу отмечу: плагин удаляет записи черновиков! Если вы не желаете удалять такого вида записи, лучше переведите их в статус «На утверждении».
Вторая таблица — для оптимизации. После очистки базы, лучше произвести эту операцию сразу, перейдя в самый низ таблицы:
Плагин Plugins Garbage Collector
Тоже находим в поиске, устанавливаем и активируем. Далее в странице админпанели «Плагины», находим этот плагин, и нажимаем «Сканирование»:
Plugins Garbage Collector сканирует базу данных WordPress и показывает, те различные таблицы, которые остались от старых плагинов, были деактивированы (или удалены), но остались в БД. Их, с помощью данного плагина, если это необходимо, просто можно удалить.
Есть в этом плагине функция «Найти в структуре таблиц …». Эта функция работает не до конца. То есть вам, если таковые изменения имеются, откроют, но удалить их будет невозможно. Что-же, будем надеяться, что автор плагина в недалеком будущем совершенствует плагин.
Перед удалением таблиц с помощью плагина Garbage Collector, рекомендую создать резервную копию БД . После использования плагина, его можно отключить (деактивировать), по необходимости включать, анализировать БД и оптимизировать ее, снова деактивировать.
Вот и все.
(Visited 136 times, 1 visits today)
На связи Илья Журавлёв, прочитав данную статью вы узнаете как очистить и оптимизировать базу данных wordpress. Со временем в базе данных скапливается много не нужного мусора, который может повлиять, к примеру, на скорость открытия вашего сайта. Базу данных нагружают не только установленные плагины, но и когда вы удаляете плагин, после него может остаться не нужный код, таблицы, строки. Не многие знают о ревизии постов, когда вы пишите статью, то wordpress, при каждом изменении записи, автоматически сохраняет черновик записи в базе данных. Представьте сколько таких черновиков сохраняется при написании одной статьи.
Те кто не занимается оптимизацией, то их мусор в базе данных превышает в 2, а то и в 3, 4, 5 раз по размеру основное содержание базы данных. Представьте, что ваша база данных весит 90 мегабайт, но необходимое и основное содержание базы данных весит всего 30 мегабайт, 60 мегабайт – это груз 200, то есть мёртвый груз, не нужный мусор. Удалите этот груз и ваш сайт полетит как сокол!
Начнём очистку и оптимизацию базы данных.
Сначала очистим базу данных с помощью плагина – WP Clean Up , очень простой и понятный плагин, не нуждается в настройках, нажмёте на кнопку и всё, лучший в своём роде. Установить данный плагин вы сможете прямо из админ-панели wordpress. Перейдите по вкладке: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте открывшийся плагин.
Чтобы настроить плагин, перейдите по вкладке: Настройки – WP Clean Up .
На странице плагина, в первом поле будут отображаться типы таблиц БД, которые можно очистить. Внизу нажмите на кнопку – Delete All , чтобы очистить сразу же всё. Внимание! Если на вашем сайте есть нужные вам черновики, то при очистке всех элементов одновременно они так же будут удалены. Чтобы сохранить черновики (Draft), удаляйте все элементы по отдельности, кроме элемента Draft, нажав на кнопку – Delete, напротив значения.
Во втором поле , у вас будут отображаться все имеющиеся таблицы в вашей базе данных и их размер. После очистки, вам нужно будет оптимизировать баз данных, то есть обновить. Нажмите на кнопку – Optimize . В поле Total вы можете наблюдать насколько изменилась в размере ваша база данных.
Как видно по скриншоту, во второй таблице у меня отображаются только 11 основных таблиц БД. У вас таблиц может быть гораздо больше от 50 до 100. Кроме 11 основных, присутствуют таблицы относящиеся к установленным плагинам и к удалённым. Далее я покажу как очистить БД от не нужных таблиц удалённых плагинов. После очистки БД можете деактивировать плагин – WP Clean Up . Периодически, раз в 3-6 месяца активируйте плагин и снова проводите очистку.
Сергей Арсентьев
Как я провел чистку базы данных WordPress и оптимизировал ее в 7 раз
Чем дольше существует сайт или блог на WordPress, тем больше в его базе данных накапливается мусора и тем важнее провести ее чистку и оптимизацию, тем более, что делается это в два клика.
Буквально несколько дней назад я почистил свой блог и сайты клиентов по SEO , а сегодня уже добрался и до базы данных.
На самом деле, мне понравилось чистить свой блог
Итак, к делу.
База данных - это специальная область на сервере, где хранятся все материалы сайта, настройки, теги и прочая информация, к которой обращается программный скрипт для ее отображения на сайте.
Понятно, что чем меньше размер базы, тем быстрее происходит выборка, меньше нагрузка и в целом все шустрее работает.
Но почему она вообще засоряется?
Тут много моментов, но один из основных критериев, как я понял на своем опыте, из за того, что WordPress сохраняет:
- ревизии (редакции) всех страниц и записей,
- старые метатеги,
- черновики,
- спам,
- корзину и т.п.
То есть всевозможные материалы, даже те, которые уже никому не нужны и никогда больше не пригодятся.
То есть движок перестраховывается и на всякий случай стремится сохранить любую информацию пользователя доступными ему средствами - пока хватает ресурсов.
Это приводит к неэффективному использованию этих самых ресурсов, снижению производительности и повышению нагрузки на хостинг.
Кстати, нужно ли ее чистить всем подряд? Не уверен.
Если сайту пару месяцев, на нем десяток статей, то там особенно и оптимизировать нечего.
Другое дело - старый сайт или живущий активной жизнью блог.
Я приведу несколько критериев, каждый из которых сам по себе является весомым поводом, чтобы задуматься об очистке базы данных:
В этом случае прежде чем лезть в какие-то скрипты, почистите базу данных - возможно там уже скопилось много мусора.
Реально ли оптимизировать базу в WordPress в два клика
Как вы уже наверное поняли, я не сторонник сложных решений. У меня что ни статья, то все я стараюсь делать «в два клика» или «за пару минут».
Да, и еще.
Я ненавижу статьи типа «20 плагинов для WordPress по чистке базы данных». Их практическая польза равна нулю.
Потому что как ни крути, а прочитав такую статью, все равно в конечном итоге придется тратить время, ставить все эти плагины, сравнивать их между собой, разбираться с настройками, удалять неподходящие варианты и т.п. То есть тратить свое время.
Но чтобы это сделать, нужно ведь сначала поставить эти 20 плагинов, определить, что 10 из них - полное херня, 5 - куда ни шло, но неудобные в использовании, еще 3 - тупо не заработали, и в конце концов 2 - то, что нужно, из них 1 - вообще огонь.
Конечно, проще выпустить банальный дайджест, пробежаться по верхам - типа этот плагин платный, этот бесплатный, этот русский, этот умеет то, этот сё. Типа, я тут «идеи накидал, а ты уже сам додумай».
Меня такие статьи раздражают, поэтому я публикую только материалы по принципу - потратил свое время, нашел из кучи г.. нормальный вариант, предложил людям.
Так и здесь, когда я столкнулся с необходимостью почистить базу данных от накопившегося мусора, то нашел несколько плагинов, тихо потестил их, выявил самый толковый и предлагаю его вам.
С этим плагином реально почистить базу данных от мусора за пару минут.
Почему лично мне понадобилась чистка базы данных
Очищаем базу данных WordPress плагином
Из всего разнообразия плагинов мне сразу понравился Optimize Database after Deleting Revisions . Отличный плагин, на русском языке, плюс имеет встроенную возможность отключения ревизий.
Сохраняете, кликаете «Начать оптимизацию» и когда все будет готово (процесс обычно занимает от 10 до 60 секунд), вы увидите подробный отчет.
У меня изначально база данных в блоге занимала 112Мб:
После того, как я на ней начал экспериментировать и всячески очищать от хлама (вручную и с помощью разных плагинов) то получилось ее ужать до 24Мб.
А Optimize Database after Deleting Revisions ее очистил еще больше - до 21 Мб:
А вот посмотрите на сайте клиента, вообще не оптимизированном до этого - какая экономия:
И еще один клиент без оптимизации: