Ускорить WordPress затратив минимум усилий

WordPress необычно популярен: вебмастера ставят на нем сайты самого различного назначения, начиная с сайтов-визиток и заканчивая полноценными интернет-магазинами для онлайн торговли. При этом, специальных знаний подчас не требуется: установил сборку WordPress, активировал нужные плагины и сайт, собственно, готов! Однако в процессе эксплуатации сайта, очень скоро обнаруживаются не совсем приятные моменты. Самые распространенные из-них: сайт начинает долго открываться, либо хостер присылает извещения о том, что сайт использует ресурсы, не предусмотренные вашим тарифным планом (проще говоря, вызывает нагрузку)!

Поскольку это самые распространенные ситуации с сайтами на WordPress, сегодня я попытаюсь объяснить вам как от них избавится, раз и навсегда!

Профессиональная оптимизация сайтов на WordPress - довольно хлопотное занятие, она подразумевает оптимизацию кода HTML и CSS используемой темы, валидацию кода, ускорение работы и загрузки сайта, оптимизацию работы самого ядра WordPress и т.д. Кому интересна данная услуга, могут заказать ее для своего сайта на этой страничке. А кто хочет сделать поверхностную оптимизацию своего сайта, затратив при этом минимум усилий и знаний, могут читать дальше.

Когда WordPress начинает капризничать

WordPress, как Windows: после установки с чистого листа, сайт летает, а спустя некоторое время (в процессе эксплуатации) вы обнаруживаете разного рода косяки: то объем сайта начинает увеличиваться, то тормозится загрузка страниц, то на почту приходят письма от хостера с просьбой перейти на более дорогой и производительный тариф и т.д. А ведь как все просто начиналось, с знаменитой 5-ти минутной установки! Но тут надо понимать, что это не косяки самого WordPress, а скорее всего нежелание разработчиков погружать пользователя в бесчисленные настройки и кодекс движка. Поэтому работа ядра WordPress оптимизирована по умолчанию оптимально для разных пользователей. А уже тонкие настройки под конкретные нужды пользователь обязан контролировать собственноручно. Поэтому и обнаруживается вскоре, что в работу сайта на WordPress обязательно требуется вмешательство.

Основные настройки в работе сайта на WordPress пользователь может задать через консоль (права администратора) в разделе "Настройки". Но для динамичных и развивающихся сайтов, таких настроек явно будет маловато и вскоре сайт начнет "капризничать". И вот тут уже потребуются дополнительные настройки в файле конфигурации - wp-config.php (корень сайта), использование необходимых хуков (hooks) в файле functions.php (такой файл есть в папке с вашей темой) и установка (при необходимости) нужных плагинов (Консоль - Плагины - Добавить новый), заточенных под конкретные нужды.

Ускоряем WordPress: первая помощь

Итак, какие же настройки вводить и самый интересный вопрос: зачем это нужно? Мы рассмотрим самые распространенные моменты, зачастую мешающие правильной работе сайту на WordPress, а также попытаемся их ликвидировать самостоятельно.

Отключаем ревизии

В  WordPress есть такая замечательная функция как "Редакции записей" - Revisions. Она записывает все текстовые изменения в записях и позволяет сравнивать различные редакции записей для контроля изменений и т.д. Очень странно, но эта функция включена по умолчанию и не ограничивает число "редакций записей". Проще говоря, сколько раз вы редактируете опубликованную запись, столько же сохраняется ее копий в базе данных! Таким образом объем базы данных будет в несколько раз больше чем того требует ваш сайт, а на динамичном (например, новостном сайте объем БД вскоре может принять катастрофический размер). Более того, некоторые не пользуются ревизиями вообще, тем не менее со временем этот "шлак" накапливается в базе данных, засоряя её.

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

define('WP_POST_REVISIONS', false ); //полностью отключает ревизии

define('WP_POST_REVISIONS', 1); //ограничивает число ревизий. Можно поставить число "1" - сохраняется лишь последняя редакция

Вы можете использовать одну из двух этих строчек в зависимости от нужной вам конфигурации.

Отключаем создание ненужных фотографий

Наверное вам известно, что загружая фотографию на хостинг через редактор записей либо через пункт "Медиафайлы"  WordPress заботливо готовит копии этих фотографий различных размеров. Это предусмотрено на случай необходимости использовать различные варианты размеров изображений. Таким образом, помимо оригинальной загруженной фотографии, рядом с ней будут созданы по умолчанию еще 3 так называемых копии: маленькая, средняя и крупная. Несложно подсчитать, что загрузив к статье 3 фотографии, на самом деле на хостинге физически будет размещено... 12 фотографий! Это минимум, поскольку некоторые плагины или темы дополнительно формируют миниатюры под свои нужды. Согласитесь, что весьма целесообразно отключить создание таких "фотокопий", особенно, если в них нет никакой необходимости в используемой вами теме. Итак, если ваша тема не использует миниатюры или создает их динамически, а в записях вы прикрепляете фотографии в оригинальном размере, пора избавить ваше файловое пространство от мусора.

Для того чтобы отключить автоматическое создание миниатюр достаточно в меню Параметры -> Медиафайлы установить размер нужных вам медиафайлов (которые не используются вами на сайте) равным 0х0 (как на скрине):

Отключение создания ненужных медиафайлов (Вордпресс)
Отключение создания ненужных медиафайлов (Вордпресс)

Отключаем проверку обновлений в WordPress

Заботливость WordPress отчетливо прослеживается и в области обновления, как ядра, так и отдельных его элементов (плагинов и шаблонов). Это похвально, но каждый раз проверять наличие новых версий - это уж слишком, особенно, если пользователь установил с три десятка плагинов :)

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

Способ 1

В файле functions.php прописываем (можно в самом конце перед ?> )

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_plugins' );

remove_action( 'load-update-core.php', 'wp_update_themes' );
add_filter( 'pre_site_transient_update_themes', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_themes' );

add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_version_check' );

 Способ 2

В файл wp-config.php (в корне сайта) прописываем:

define('AUTOMATIC_UPDATER_DISABLED', true);
define('DISALLOW_FILE_EDIT',true);
define('DISALLOW_FILE_MODS',true);

Использование этих кодов нецелесообразно на сайте, который находится в стадии разработки, а также время от времени (1 раз в полгода) стоит снять эти коды, чтобы обновить плагины и движок, поскольку в новых версиях устраняются ошибки в предыдущих - а это вопрос прежде всего безопасности Вашего детища!

Делаем сайт на WordPress легче

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

 <link href="http://сайт.ру/wp-content/themes/hemeforest/css/ie7.css" media="screen" rel="stylesheet" type="text/css">

Подсчитайте их количество, а также откройте любой файл со стилями в браузере: сколько там комментариев, переводов строк, пустых строк или знаков табуляций? Совершенно верно: все это мусор, тормозящий загрузку вашей страницы в браузер пользователя. При чем очень и очень серьезно тормозящий, поскольку требуется поэтапное обращение браузера к разным файлам, размещенных в разных местах. Вот если бы все эти файлы со стилями объединить в один файл и убрать из него весь мусор!!! Наверняка бы скорость загрузки сайта возросла!

И такое решение есть - нужно поставить и активировать на сайте плагин для компрессии CSS (а в некоторых случаях и JS файлов). Можно воспользоваться плагином WP-Minify (его братом Better WordPress Minify, если сам он не работает) или плагином Autoptimize. У всех функционал один и тот же. Скачав и активировав, в настройках активируем:

  • компрессию CSS (включайте всегда);
  • компрессию JS файлов (осторожно, могут не работать Ява-скрипты, счетчики статистики и т.д.);
  • компрессию HTML (осторожно, может слететь валидация кода, если она у вас была конечно).

Я всегда выбираю один лишь первый пункт (компрессию CSS), этого вполне достаточно чтобы существенно ускорить загрузку сайта (в зависимости от шаблона и используемых компонентов, скорость может вырасти в разы) и сделать его более доступнее и практичнее для конечных пользователей. Он сжимает все файлы со стилями в один  CSS файл и убрав из него весь мусор, кэширует его!

Делаем сайт на WordPress устойчивее

Существенный недостаток сайта на WordPress - открытая по умолчанию, ничем не защищенная админка. Ее адрес известен каждому боту - /wp-login.php и этот факт вскоре огорчает многих. Сайты на WordPress, благодаря именно этому моменту, являются предметом активных брут-атак (перебор пароля к админке). Даже если Ваш сайт никому не интересный, рано или поздно при открытой админке он будет подвержен брут-атаке (это может случится через месяц после запуска, а может и через 2 года)! Именно этот факт является причиной в 90% случаев неожиданной нагрузки на хостинг, о которой тот всегда спешит сообщить администратору. Выход довольно-таки банальный - всего лишь сменить стандартный адрес админки!

админка Вордпресс
Лаконичная, но незащищенная админка Вордпресс

Воспользуемся плагином «Lockdown WP Admin». Активировав, переходим в настройки. Напротив «Yes, please hide WP Admin from the user when they aren’t logged in» ставим галочку. В разделе WordPress Login URL прописываем новый адрес админки, например, «newlogins». Сохраняем настройки. Теперь наша админка доступна по адресу http://сайт.ру/newlogins  а стандартный адрес входа в админку будут отдавать ботам ответ 404. Все! Неожиданные (как снег на голову) нагрузки исчезнут и для хостера вы будете образцовым пользователем :) !

Ускоряем WordPress: финальный удар

Выполнив эти нехитрые манипуляции, Вы обнаружите, что ваш сайт стал легче, быстрее и безопаснее! Естественно, это лишь малая толика из перечня оптимизационных процедур, которые возможно реализовать на сайте под управлением WordPress (их обзор был бы слишком продолжительным и утомительным), но их стоит проделать над Вашим сайтом, если Вы думаете о своих посетителях.

И конечно же, мы сделаем контрольный выстрел - последний удар по нашему расшатанному сайту. Этот удар нужно наносить после того, как мы сделали все вышеописанные процедуры. Этот удар нанесет плагин WP-Optimize.

После его установки и активации, мы увидим в настройках, что он может:

  • Удалить все изменения записей (т.е. не нужные ревизии)
  • Удалить автоматические черновики записей (Это также удалит все записи из корзины)
  • Удалить спам-комментарии (Это также удалит комментарии из корзины)
  • Удалить неразрешенные комментарии
  • Удалить временные настройки
  • Удалить несвязанные метки сообщений
  • Удалить пингбэки
  • Удалить трэкбэки
  • Оптимизировать таблицы базы данных

Смело ставьте все галочки и база данных вашего сайта будет оптимизирована, что существенно сократит время обращения к ней скриптов вашего сайта.

Пока все! Оптимизируйтесь и оптимизированы будете!  Спасибо что дочитали мой нудный пост! :)

Оцените материал:
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (15 голоса, рейтинг: 4,80 из 5)
Загрузка...

Вячеслав - типичный интернетчикВячеслав Скоблей (ака files) - типичный интернетчик. Скитаюсь интернетом, пишу на PHP, увлекаюсь созданием веб-сайтов на Wordpress, решаю многочисленные проблемы, которые до появления интернета не существовали...

Специализируюсь на безопасности сайтов: защищаю сайты от атак и взломов, занимаюсь лечением вирусов на сайтах и профилактикой...

Наверняка у Вас есть вопросы, просьбы или пожелания. Не стесняйтесь спросить, я отвечаю всегда быстро...

7 комментарий

  1. Спасибо за полезные статьи. Даже с учетом даты их написания и уже имеющихся знаний много полезных вещей нашел.
    Плагин для сжатия кода поставил Autoptimize, поскольку описанный в статье WP-Minify уже не актуален.

  2. Ирина says:

    Спасибо за полезную статью. Я правильно поняла, что последние 3 плагина после использования можно сразу удалить?

    1. Вячеслав Скоблей says:

      Последний плагин WP-Optimize, да. Можете поставить, выполнить операцию очистки и удалить.

  3. says:

    Спасибо огромное за полезные рекомендации в статье. Вчера обратился к Вам за услугой чистки сайта от мусора и вирусов. Остался очень доволен Выполненной Вами работой. Соотношение цена - качество 5++. Свой отзыв о проделанной Вами работе оставил на Вылеченном Вами сайте. Рекомендую всем воспользоваться вашими профессиональными услугами.

  4. Все замечательно написано а про вход в админку вообще супер взял на борт WP ...но хотелось бы добавить про ускорение может кому пригодится есть плагин правда платный но он того стоит это плагин MAXCACHE ускоряет в разы ....

  5. Спасибо большое за советы =) Добавила, буду наблюдать
    А обновление плагинов лучше отключать через функции или конфиг?

    1. Вячеслав says:

      Анастасия. Оба методы хороши, хотя и работают по разному.
      Используйте 2-ой способ (отключение в конфиге) если нужен максимальный эффект: в нем есть как плюсы, так и минусы. Он выключает обновления всех плагинов, их редактирование, отключает редактирование темы (упрощается админка).

      Чтобы запретить плагинам обновляться, но при этом иметь доступ к их редактированию - подойдет 1-ый способ.

Добавить комментарий

Ваш адрес email не будет опубликован.