Оптимизация MySql базы данных блога WordPress

Оптимизация MySql базы данных блога WordPress

Доброго здоровья всем читателям блога! Сегодняшняя тема очень важна для каждого вебмастера, а посему немедленно даю вам информацию по вопросу оптимизации Mysql базы данных, которая преследует цель ускорения загрузки страниц блога WordPress.Почему это так важно? На это есть несколько причины, важнейшие из них две. Во-первых, скорость загрузки вебстраниц влияет на ранжирование ресурса в поисковой выдаче, это ”медицинский” факт. Кстати, о раскрутке ресурсов в условиях действия алгоритмов поисковых систем я писал в конкурсной статье о продвижении сайта под Пингвином. Во-вторых, быстро загружаемые страницы задерживают посетителей на сайте, ведь приятно, когда быстро можно переходить из раздела в раздел, не тратя лишних нервов. Поэтому, если даже материал на сайте заслуживает всяческого уважения, но медленно открываются страницы, читатель скорее всего уйдет и поищет более удобный с этой точки зрения ресурс. Мой блог тоже до сегодняшнего дня не отличался хорошими показателями по скорости загрузки, поэтому я решил исправить ситуацию и провести оптимизацию MySql базы данных. С алгоритмом оптимизациия и хочу с вами поделиться. Честно говоря, я пришел в ужас, когда вплотную решил заняться оптимизацией базы данных MySl и увидел ее размер, использовав для этого панель phpMyAdmin:
Таблицы базы данных MySql блога WordPressНа самом деле, объем базы данных такого небольшого ресурса, как мой блог, превышающий 30 МБ, катастрофа. Поэтому я решил немедленно уделить процессу оптимизации часть драгоценного времени. Далее представлю вам, уважаемые читатели, подробную инструкцию, что необходимо сделать, чтобы исправить ситуацию. Прежде всего, необходимо войти на страницу phpMyAdmin. Я уже писал, что сделать это можно с панели управления вашим хостингом.Поищите, там обязательно должна быть ссылка «phpMyAdmin» или что-то в этом роде. Там на левой стороне выбираете базу данных Mysql своего блога, кликнув по ней, в результате чего получите список таблиц этой базы. Теперь внимание! Прежде чем, приступить непосредственно к оптимизации, необходимо сделать резервную копию (бэкап) базы данных, используя соответствующую опцию программы phpMyadmin. Это необходимо для того, чтобы в случае ваших ошибочных действий ее можно было без проблем восстановить.
Действия по оптимизации Mysql базы данных

Теперь переходим к делу. Прежде всего, необходимо удалить лишние таблицы из базы данных MySql. Как это определить? Дело в том, что  когда вы только создаете свой ресурс, то в первичной базе данных Mysql образуются следующие таблицы:

wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
wp_usermeta
wp_users

Но при дальнейшем развитии ресурса, например, при установке различных плагинов, образуются новые таблицы. Очень часто случается так, что приходится то или иное расширение (плагин) удалить, например, для замены его соответствующим кодом (опять же для ускорения сайта). В этом случае таблицы, соответствующие удаленному расширению, остаются и лежат мертвым грузом.
Например, у меня был плагин WP-Monalisa, который генерирует смайлики для отражения в комментариях. Но ввиду лишней нагрузки на сервер, создаваемой этим расширением, я его удалил, тем более при сильном желании смайлы можно использовать, вводя код в поле для комментариев. Теперь показываю, как я удалил оставшиеся от него таблицы. Для этого галочкой надо отметить соответсвующую строчку и нажать на значок удаления:
Удаление таблиц базы данных MySql блога WordPressВсе, лишние таблицы удалены. Теперь приступаем к следующему шагу. Сначала необходимо внести определенные изменения в файл wp-config.php. Обычно он располагается в папке httpdocs или public_html. Для  его редактирования лучше всего использовать замечательный редактор notepad++, который позволяет загрузить  файлы с хостинга при помощи ftp-соединения и отредактировать. Конечно, можно редактировать прямо через админ панель хостинга, но с недавних пор я пользуюсь именно notepad++. Итак, открываем notepad++ и загружаем wp_config на компьютер. Вставляем в файл две следующих строки:

define('WP_POST_REVISIONS', FALSE);
define('EMPTY_TRASH_DAYS', );

Очень внимательно отнеситесь к операции редактирования файла, чтобы избежать неприятных минут в дальнейшем. Вставьте две вышеупомянутые строчки сюда:
Код удаления ревизий в файле config.php блога WordPressПервая строчка отключает ревизии постов. Что это такое? Допустим, вы написали статью, затем отредактировали ее и не единожды, все эти варианты (ревизии) будут храниться в базе данных, что создает лишнюю нагрузку, поэтому нужно отключить их образование.
Вторая строка лимитирует время хранения файлов в корзине. Здесь можно поставить любые значения вплоть до 0. Но имейте ввиду, что если отметите 0, то это значит, что полностью отключите корзину и все файлы будут удаляться безвозвратно, так что будьте здесь осторожны. Я поставил значение 1, как видите из скриншота. После изменения сохраните файл там же в редакторе notepad++ и нажмите «upload» для загрузки уже отредактированного файла wp_config обратно на хостинг.
Теперь удалим все ранее скопившиеся ревизии. Для этого в админ панели phpMyadmin выберите базу данных и перейдите во вкладку «SQL», где введите следующий запрос:

DELETE FROM wp_posts WHERE post_type = "revision"

Это будет выглядеть следующим образом:
Запрос удаления ревизий в админ панели phpMyAdmin хостингаПосле ввода запроса нажмите кнопку «ОК» в нижнем правом углу. Почти сразу получаете результат, вывод которого занимает доли секунды:
Результат удаления ревизий в админ панели phpMyAdmin хостингаКак видите, удалено более 2000 строк. Далее таблицу wp_post необходимо оптимизировать, вновь используя вкладку «SQL» и введя следующий запрос:

OPTIMIZE TABLE wp_posts;
DELETE FROM wp_comments WHERE comment_approved = 'spam';

После этого можно удалить все спам-комментарии на блоге Вордпресс с помощью соответствующего запроса:
Далее удаляем пингбеки. Это уведомления, которые приходят, когда, например, проставляется ссылка на ваш ресурс с другого сайта или блога, без них в принципе можно обойтись. Вводим такой запрос:

DELETE FROM wp_comments WHERE comment_type = 'pingback';

Теперь вообще отключим запись пингбеков в базу данных Mysql c помощью очередного запроса:

UPDATE wp_posts p SET p.ping_status = 'closed'

Вот и вся работа по оптимизации MySql базы данных. Однако теперь необходимо оценить результат проделанной работы, вот он:
Результат работы по оптимизации базы данных MySql блога WordPress
Если вы сравните этот скриншот с тем, который я приводил в начале поста, то увидите, что объем базы данных уменьшился в 10 раз! Конечно, до такого доводить нельзя и  действия по очистке базы желательно производить хотя бы раз в месяц. Надеюсь, вы получили стоящую информацию, прочитав статью, если желаете и впредь получать подобные материалы, не забывайте подписываться на обновления блога. На сегодня позвольте откланяться, новые статьи не заставят себя долго ждать.

Читайте также  jQuery, AJAX и русские буквы - проблема с кодировкой
Как вывести первое изображение из записи... Вывод непосредственно первого изображения, если его нет то «заглушку» из списка. Для этого нужно в functions.php дописать: function first_image() { ...
Работаем с типами записей в WordPress 3.0... Одна из самых интересных фишек WordPress 3.0, это индивидуальные типы записей, вы можете добавлять не только Записи и Страницы, но и например Фильмы...
Подсчет постов в категориях меню WordPress... Использование wp_nav_menu очень облегчает создание меню любой сложности с возможностью редактирование их структуры через админ-страницу. Но у таких ...
Учимся работать с Post Meta полем в WordPress... По умолчанию, WordPress дает вам возможность создавать два типа содержимого – Посты и Страницы. Посты и страницы можно заполнять контентом в виде ст...

Сохрани, чтобы не потерять