Приветствую вас, друзья!
Я недавно перешагнул небольшой рубеж в 100 постов на блоге и начал задумываться про некоторые шаги по очистке базы данных от мусора, накопившегося за это время.
Сегодня я расскажу о том, как проводится оптимизация базы данных для сайтов, в частности на движке wordpress, поскольку для меня это актуально. Вчера исполнился 1 год с момента публикации первого поста на блоге, вот как время быстро летит. Пора браться за очистку базы данных от лишних файлов, уменьшить тем самым ее вес, и ускорить блог.
Так уж устроен движок WordPress, что со временем в базе данных оседают не актуальные записи, ревизии, удаленные заметки, спам комментарии, таблицы удаленных вами не актуальных плагинов. Как навести порядок в базе данных и как часто проводить такие действия, далее я расскажу об этом подробно.
Напоминаю, что на блоге проводится марафон кроссвордов “Эрудит — 3”, в котором вышли уже два кроссворда (Кроссворд №1 и Кроссворд №2), отгадывайте, присылайте ключевые слова, участвуйте в марафоне и получайте денежные призы (подробно о марафоне).
Оптимизация базы данных 8 шагов
-
Делаем резервную копию базы данных
Это обязательное условие перед началом всех шагов, описанных далее.
Для этого зайдите в свою панель управления на хостинге. Далее выбираете “Базы данных” и открываете ту, которую собираетесь копировавать на компьютер. Просто, у вас может несколько баз данных, смотрите, не перепутайте и выберите правильную.
Далее откройте эту базу данных и нажмите “Экспорт” и, если есть, поставьте галочку внизу “Сохранить как файл”. После этого выберите место для хранения на своем ПК для этих данных.
После того, как мы создали копию, можем приступить к дальнейшим действиям.
2. Отключаем ревизии постов и выбираем минимальный срок хранения удаленных файлов из корзины
Что такое ревизии постов? Когда вы пишите пост, затем его публикуете и уже после этого вносите коррективы в содержание поста, исправления, добавляете новую актуальную на данный момент информацию, то все предыдущие версии сохраняются в базе данных. Это постепенно приводит к “раздутию ” базы данных до больших размеров.
Также при удалении не актуальных публикаций, они попадают в корзину, где хранятся и занимают лишнее место.
Для предотвращения этого мы выполним следующие действия.
Заходим в корневую папку блога (рекомендую для этих целей использовать ftp-клиент FileZilla), находим файл wp-config.php или wp-config-sample.php и открываем его при помощи Notepad++
Находим следующие строки и меняем на:
define('WP_POST_REVISIONS', false);define('EMPTY_TRASH_DAYS', 1);
Первая строка отключает ревизии постов, а вторая указывает количество дней для хранения постов в корзине.
По истечению 1 дня все удаленные посты или ревизии будут удалены автоматически.
3. Удаляем ранее сохраненные ревизии постов
С момента изменений, которые сделаны в пункте 2, наши старые ревизии будут удаляться автоматически. Однако, те, которые хранились до этого, все еще хранятся в базе.
Для их удаления необходимо перейти в базу данных MySQL, выбрать базу, которую нужно оптимизировать, после этого зайти во вкладку SQL и
Вводим такую строку:
DELETE FROM wp_posts WHERE post_type = "revision"
После этого жмем “ОК”
После этого выполните подтверждение снова, что хотите выполнить данное действие. У меня вот что получилось после этого:
У меня было удалено 167 старых ревизий постов, а у Вас?
4. Очистка и оптимизация таблицы “wp_post”
Как и в предыдущем случае выбираем базу данных, затем переходим во вкладку “SQL”
И вводим следующую строку:
OPTIMIZE TABLE wp_posts;
После этого жмем “ОК” и видим такие записи в результате.
Теперь все в порядке, таблица с постами сайта оптимизирована.
5. Оптимизация wp-postmeta
Теперь мы будем чистить ранее сохраненные ЧПУ, если они были изменены и время редактирования последних постов, поскольку это лишнее.
Для этого опять в открытое поле во вкладке нашей базы “SQL” вводим строки:
DELETE FROM `wp_postmeta`WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug')
Нажимаем кнопку “ОК”. После этого вы увидите:
У меня было удалено 267 строк, это не мало.
6. Чистим базу от спам комментариев
Как и в предыдущих пунктах во вкладке “MySQL” вашей базы вводим строку:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
После этого жмем “ОК”
У меня все было чисто в этом разделе, хотя ловец спама Akismet уже ликвидировал 7460 спам комментариев.
7. Удаляем пингбэки
Этот пункт не является обязательным, поскольку не все согласны с его эффективностью, но я его выполню. Пингбэки это уведомления, которые показывают, что на вас ссылаются. Пользы особой они не несут, поэтому для удаления введем следующую строку в поле “SQL” нашей базы:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
После этого жмем “ОК”
У меня было 0 удалено, если для вас актуально, то можете пингбэки отключить вовсе, для этого введите следующую строку:
UPDATE wp_posts p SET p.ping_status = 'closed'
Теперь оптимизация базы данных завершена. Теперь я бы рекомендовал вам установить плагин Плагин Optimize DB, при помощи которого периодически можно чистить базу данных, запускаю его раз в месяц и затем деактивировать, чтобы не давать лишнюю нагрузку.
8. Устанавливаем плагин Плагин Optimize DB
Скачать плагин можно пройдя по ссылке , выбрать свежую версию, скачать и установить.
После этого заходим в панель управления на блог =>>”Инструменты” =>> “ Optimize DB ” и жмем “Optimize Now”/
Теперь ваша база чистенькая, очищена от мусора и пыли, ваш ресурс ускорится и вашей аудитории это понравится.
После окончания процесса оптимизация, плагин деактивируйте и проводите чистку периодически не реже 1 раза в месяц. Активировали плагин, провели оптимизацию и деактивируйте до следующего раза. У меня результаты оказались значительными, страницы блога загружаются быстрей.
А вы уже оптимизировали свою базу данных? Как результаты, ускорился блог после этого? Какие еще действия по оптимизации вы используете?
Рекомендую вам почитать заметку о том, как я чищу свой компьютер от мусора, ведь не только сайт нуждается в очистке, но и ваш ПК, на котором вы пишите заметки для сайта.
До встречи!
Интересные статьи по данной теме:
Как удалить битые ссылки на сайте
С уважением, Вилков Николай
Хотите в числе первых узнавать о новых статьях и курсах?
Подпишитесь на обновления моего блога и мой канал на YouTube
Если статья вам понравилась, поделитесь с друзьями в социальных сетях. Спасибо!
View Comments (19)
Блиннн, как досадно... Помнил про первый день рождения блога...и забыл. Совсем недавно Вы, Николай, еще напоминали, что скоро состоится первый важный юбилей) Я тогда решил что обязательно в этот день поздравлю Вас с этим рубежом...Простите забыл :?:
Ну раз так, тогда принимайте сейчас мои искренние поздравления по этому поводу с пожеланиями процветания, процветания и еще раз процветания ;-)
Alegik, спасибо большое за поздравления! Уверен, что двигаюсь в правильном направлении, благодаря своим читателям.
Пост очень полезный!
Кстати, не у всех префикс баз данных вот такой - wp_
Ревизий у меня было намного меньше, 11 строк :cool: Но я как то раз уже удалял ревизии, наверное месяца полтора назад.
Плагином пользуюсь точно также, как вы и написали в статье!
А больше никаких других мер по оптимизации БД не принимаю, пока не требуется :smile:
Спасибо за полезную информацию!
Вопрос: а если сразу поставить плагин и не лазить на хостинг? Так не получится почистить? Или я чего не до-понимаю? :shock:
Nik, приветствую вас на блоге!
Можно и просто плагином, но если проделать все действия, описанные в посте, так будет больше порядка в базе данных.
Долго не отвечал, поскольку ваш комментарий в корзину влетел, сам не пойму почему.
Будут вопросы, пишите.
А я не смогла ничего сделать на хостинге... наверное, потому что у Вас другой и у меня все иначе выглядит.. и функции немного по-другому..получилось только с плагином... но эффект сразу же заметен - сайт стал гораздо быстрее грузиться! А скажите, обязательно все 8 шагов делать? Или , как в моем случае - установки плагина достаточно? Спасибо!
Ирина, приветствую вас на блоге! Желательно все шаги проделать, а затем уже плагин все будет чистить. Если нет возможности провести все шаги самостоятельно, то установка плагина хорошо поможет и так, просто останется немного мусора, но это не критично.
прочитала статью о необходимости чистить базу данных, но пока посчитала себя неспособной все эти шаги совершить правильно. Тоже, видимо, как некоторые тут писавшие, отделаюсь установкой плагина.
Мне больше по душе, второй вариант , с плагином. Но первый, буду иметь ввиду, спасибо Николай.
Привет, Андрей.
Не забывайте, что плагин почти всегда будет деактивирован. Активировали его раз в 2 недели, нажали "Optimize", оптимизировали базу данных и деактивировали плагин, но не удаляйте. Периодически чистите свою БД и она всега будет "стройной" :)
Николай, я так и делаю. Тем более что у меня их уже два, плагина. Первый бесплатный, а второй, я выиграл он платный, но тоже хорошо чистит базу :smile:
Отличный способ оптимизировать свою базу данных. Я об этом способе узнал из курса Александра Борисова.
Исправьте: "скорость загрузки уменьшилась заметно" или время загрузки уменьшилось или скорость увеличилась.
Спасибо, Евгений.
Данный пост писал давно и лишь вы мне про ошибку написали, очень признателен))
Нет худа без добра! Блог веду третий год. Но в технических вопросах не разбираюсь, поэтому никогда не проводила работ по очистке базы данных. В результате блог вообще упал, консоль не открывается. На хостинге мне сказали, что я исчерпала все запасы оперативной памяти. Но никто не рассказал, почему это произошло. Вот и пришлось лезть в интернет за знаниями. У Вас хорошая статья, хотя на эту тему статей много. Я поняла, что начинать надо с чистки базы данных. Пока не получилось, потому что я не с того начала оптимизацию памяти. Для начала я перешла но новых хостинг (с Джино на Фоззи). Когда и на новом хостинге оказалось, что памяти у меня не осталось и блог не открывается, пришлось волей-неволей думать и действовать. Но на новом что-то пока не получается. Попрошу помощи у службы поддержки. Вот такие перипетии.
Наталья, приветствую вас!
Вам желательно почистить базу данных, думаю, что у вас есть дубликаты изображений, которые могут занимать много места. Да, хостинг нужно выбирать тщательно. Судя по вашей посещаемости я могу вам порекомендовать хостинг, которым пользуюсь сам. Там замечательная поддержка, быстрый хостинг и они предоставят для вас год бесплатного хостинга. За год оцените и можете продолжить с ними сотрудничество) а можете продолжить поиски через год.
Здравствуйте, Николай! Пока только сделала 2 и 3 пункт. Дальше пошла делать, но опять красные окошечки вылезают, значит что-то не так. А картинки - надо с ними работать, это точно. Пока не все поняла по Вашей статье про картинки. Еще надо почитать повнимательнее Какой у Вас хостинг? Я сейчас на Fozzy. Пока уже более недели ничего путного не происходит - не могу войти в консоль блога. Служба поддержки отвечает, но информацию выдает по капле и то заставляет все самостоятельно делать. Это не плохо, я не обижаюсь. Но не подсказывают - мол, сделайте это, сделайте то.
У меня хостинг AdminVps, я на нем 8 месяцев, всё устраивает. Про изображения (картинки) я писал тут, почитайте.
Поддержка довольно часто общается на уровне высоких материй, ребята там думают, что все должны понимать их с полуслова))