Ускорение работы wordpress. Ускоряем Wordpress. Отложенная загрузка изображений

Здравствуйте, уважаемые читатели! Сегодня у нас очень важная и интересная статья из разряда «намотай на ус». Как ускорить WordPress , чтобы страницы блога загружались в 3 раза быстрее, а нагрузка на хостинг снизилась в 2 раза!

На моем блоге уже есть статья, посвященная , но практика показала, что перечисленных в ней мер недостаточно. То время, что я мучился с хостингом , не было потрачено зря. Оно дало повод вновь взяться за оптимизацию работы моего блога. Результатом кропотливой работы стало ускорение WordPress в 3 раза и снижение нагрузки на хостинг примерно 2 раза. Очень неплохие результаты, учитывая, что мой WP был не в таком уж запущенном состоянии. Я бы даже сказал — пациент был скорее жив, чем мертв. Эх, нет предела совершенству!

Я бы выделил 10 самых важных шагов на пути ускорения WordPress. Рассмотрим подробно каждый из них.

1. Кэширование страниц.

Пожалуй, это самый важный пункт, без которого никак не обойтись. Принцип работы WP (да и большинства других CMS) таков, что страницы блога не лежат на сервере в статическом html формате, а генерируются на основе php кода при переходе на нее пользователя. Для каждого пользователя, каждая страница генерируется вновь и вновь! Это влечет неоправданный расход ресурсов сервера и значительно увеличивает время загрузки страниц.

Принцип кэширования прост — для страницы создается статическая html версия, которая отдается всем перешедшим на нее пользователям и существует в течении определенного времени (время жизни кэша), по истечении которого обновляется. Физически эта страница представляет собой файл в формате html, который лежит на сервере в отдельном каталоге.

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

  • — пожалуй, самый популярный плагин кэширования;
  • Super Cache — использую в настоящий момент.

Выбирайте любой из них. По качеству и функционалу они схожи.

2. Оптимизация скриптов и стилей плагинов wp.

Каждый новый плагин WordPress добавляет свои файлы со скриптами и стиля, при формировании страницы все они должны подключится. Это занимает определенное время. Чтобы его сэкономить, все дополнительные файлы стилей (и скриптов) следует объединить в один файл, который в последствии и будет подключаться. Не волнуйтесь, я не заставлю вас делать это в ручную (хотя можно было, просто ради прикола ), ведь есть замечательный .

3. Уменьшение объема файла style.css.

Есть замечательный сервис, который позволяет оптимизировать и сжать файл стилей style.css, за счет удаления лишних пробелов и отступов. Конечно, впоследствии с таким файлом работать крайне не удобно, поэтому настоятельно советую держать на компьютере копию в нормальном, доступном для человеческого восприятия виде.

Кроме этого, если вы постоянно переделываете свою тему (как я ), то со временем в файле style.css накапливаются незадействованные нигде стили. От таких «мертвых» элементов следует своевременно избавляться. Для их отслеживания я пользуюсь бесплатным дополнением Dust Me Selectors для браузера FireFox. Скачать его можно .

4. Оптимизация языкового пакета.

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

5. Очистка шаблона header.php от лишнего php кода.

Только настоятельно рекомендую перед любыми работами с базой данных, создавать ее резервную копию (плагин ). Если забыли забыли снять резервную копию БД и что-то пошло не так, не пугайтесь! Если вы пользуетесь , то там всегда есть свежий бэкап. Просто откатитесь на него, и дело в izgt.

7. Тестирование скорости загрузки плагинов, удаление самых тяжелых.

10. Внешние факторы.

С этим злом я столкнулся недавно. Суть его заключается в большом числе запросов с одного или разных IP адресов. Основная цель — повысить нагрузку на сервер для торможения работы блога или его полного падения (DDos атака).

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

В итоге я перенес свой блог на , где мне помогли выявит и устранить данную проблему, за что я им очень благодарен. Ребята действительно работают очень качественно и быстро. Решение заключалось в бане самых активных IP адресов и фильтрации запросов к некоторым файлам WP.

Как видите, нагрузка на сервер сократилась почти в 2 раза, а блог стал заметно быстрее работать.

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

В процессе работы над ускорением WordPress, блог нужно постоянно тестировать на предмет выявления проблемных мест. Пожалуй, самый интересный и полезный бесплатный сервис онлайн тестирования загрузки блога tools.pingdom.com . Именно благодаря ему я отследил подключение ненужной библиотеки JavaScript и выявил пару неоправданно тяжелых картинок.

А вот и результаты согласно сервису WebWait, которые показал мой блог в итоге:

Просто шикарные! Искренне желаю, чтобы и ваш блог работал так же быстро! Поверьте, этого добиться не так уж и сложно.

На этом на сегодня все. Если знаете другие способы ускорения WordPress, не стесняйтесь — оставляйте свои комментарии. Мои читатели и я будем вам очень признательны.

Спасибо, друзья, что дочитали мою статью до конца. Надеюсь, она действительно помогла ускорить WordPress и работу вашего блога. Берегите себя!

Здравствуйте дорогие читатели! В этом уроке мы с Вами поговорим о том, как увеличить скорость загрузки страниц сайта на WordPress и снизить нагрузку сайта на сервер .

Я думаю Вы согласитесь, что скорость работы сайта является практически самым важным показателем . Даже если на Вашем сайте самый лучший и полезный контент, но страницы загружаются по 8-10 секунд, то рано или поздно это начнет раздражать посетителей.

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

В случае если Ваш сайт и так быстрый, у вас есть возможность с помощью этого урока разогнать его до скорости света 🙂

Как ускорить работу сайта WordPress?

1. Оптимизируйте базу данных сайта WordPress

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

2. Отключите неиспользуемые плагины

Большое количество неиспользуемых плагинов также создает дополнительную нагрузку . Отключите ненужные плагины, и по возможности уменьшите использование ненужных скриптов.

3. Оптимизируйте изображения

Изображения на странице сайта обычно занимают много места и весят больше всего. Чем больше сжато изображение, тем быстрее браузер сможет показать страницу посетителю сайта. Благодаря оптимизации изображений Вы можете значительно улучшить работу веб-ресурса.

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

4. Используйте нормальный хостинг

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

Лично я пользуюсь хостингом ukraine.com.ua . Пользуюсь им уже почти два года без каких-либо нареканий. С плюсов могу отметить низкую цену , надежность и качество предоставляемых услуг (+ круглосуточная поддержка).

5. Сделайте кэширвание сайта

Кэширование способно многократно увеличить скорость загрузки Вашего сайта! О том, и Вы можете узнать из прошлых уроков.

С помощью кэширования Вы значительно увеличите скорость загрузки страниц и снизите нагрузку на сервер . Рекомендую к обязательному использованию .

6. С мира по нитке

Для тех кому описанного выше (не дай Бог) оказалось недостаточно, рекомендую следующее:

  • Сократите CSS и JavaScript код
  • Сократите количество забросов в БД
  • Обновите WordPress до последней версии
  • Используйте VPS-хостинг

Друзья, желаю Вам большой посещаемости и стабильной работы сайта.

Если у Вас возникли вопросы или хотите поделится опытом решения данной задачи — пишите в комментариях!

Здравствуйте дорогие читатели! В этом уроке мы с Вами поговорим о том, как увеличить скорость загрузки страниц сайта на WordPress и снизить нагрузку сайта на сервер. Я думаю Вы согласитесь, что скорость работы сайта является практически самым важным показателем. Даже если на Вашем сайте самый лучший и полезный контент, но страницы загружаются по 8-10 секунд, то рано или поздно это начнет раздражать посетителей. А если к этому всему добавить еще и большое количество посетителей сайта, нагрузка на сервер хостинга будет просто огромная. В случае если Ваш сайт и так быстрый, у вас есть возможность с помощью этого урока разогнать его до скорости света:) Сразу хочу…

От автора: скорость – качество, которым должны обладать все веб-сайты, и WordPress не исключение. У вас не будет второго шанса произвести первое впечатление на пользователя. Очень важно убедиться, что у ваших пользователей нет никаких причин покинуть сайт еще до его полной загрузки или причин, по которым они не захотят возвращаться на ваш веб-сайт.

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

Выбор хорошего хостинга

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

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

CDN

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

Кэширование

Кэширование это временное хранение контента, такого как страницы, изображения и другие файлы, участвующие в процессе рендеринга страницы. Контент хранится на локальном носителе пользователя в качестве кэша, и при повторном запросе этих файлов страница отрисовывается намного быстрее. На стороне сервера тоже есть кэширование. Вопрос технический, но есть множество популярных WordPress плагинов, помогающих настраивать и управлять кэшированием очень просто. Самые популярные из них это W3 Total Cache и WP Super Cache.

Минификация CSS и JS файлов

В процессе минификации CSS и JS файлы сжимаются до наименьшего размера, повышая тем самым скорость загрузки файлов браузерами. Если вы предпочитаете вручную минифицировать свои CSS и JS файлы, то вам пригодится YUI Compressor. Или можно воспользоваться WP Minify, который сделает всю работу за вас в автоматическом режиме. В некоторых плагинах для кэширования присутствует опция по минификации.

Сжатие изображений

Помимо того, что большие файлы изображений значительно замедляют сайт на WordPress, они еще сильно забивают пропускную способность сети. Изображения это отличный подопытный для оптимизации. Используйте WPMU DEV WordPress Smush API, плагин WP SmushIt поможет уменьшить размер изображений без потери качества. Я сам пользуюсь этим плагином и считаю удивительным то, насколько он снижает размер изображений.

Сжатие сайта

Простыми словами сжатие сайта похоже на запаковку сайта в ZIP архив. И в случае запроса пользователем любой страницы, браузер ведет себя как WinRAR, распаковывает архив и отображает контент. Звучит, как что-то ненужное, что помимо всего прочего еще и замедлит ваш сайт. Поверьте мне, не замедлит.

Плагин W3 Total Cache крайне популярен для кэширования, но с его помощь можно также сжимать сайты. Воспользоваться данной функцией можно, перейдя: admin page -> Performance -> Browser Cache -> Enable HTTP (gzip) Compression.

Оптимизация базы данных

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

Также как и ваш жесткий диск может стать фрагментированным, базы данных WordPress страдают от того же недуга. Тем не менее, для оптимизации базы данных можно воспользоваться плагином WP-Optimize или WP-DB Manager. С помощью последнего плагина можно не только оптимизировать базу данных, но и установить расписание для регулярной проверки.

Выбор правильных плагинов

Установка большого количества плагинов может серьезно захламить ваш сайт. Нет смысла ставить или хранить ненужные вам плагины. Проверка плагинов это отличный способ ускорения. Критичные для работы сайта плагины необходимо оставить, а все остальные удалить.

Отключение пингбеков и трекбеков

По умолчанию, когда другой сайт упоминает о вас, ваш сайт получает об этом уведомление. Такие уведомления называются пингбеки и трекбеки. Их можно отключить: admin page -> settings -> discussion снимите две верхние галочки, как на скриншоте ниже.

Отключение данной функции не навредит вашему сайту.

Выбор правильной темы или темы-фреймворка

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

Оптимизация структуры домашней страницы

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

Включение Keep-Alive

HTTP Keep-Alive это идея использования TCP соединения для посылки и получения множественных HTTP запросов вместо открытия нового соединения под каждый запрос. На вашем хостинге данная функция может быть уже включена, так что сначала узнайте у вашего провайдера. Но если у вас самый обычный аккаунт, скопируйте строку кода ниже в файл.htaccess.

(Последнее обновление: 05.05.2019)

Приветствую вас, дорогие друзья! Сегодня у меня снова важная тема для вас - как увеличить скорость загрузки сайта? Как ускорить ваш сайт WordPress? Об этом написано у меня подробно , а этот пост будет дополнение к нему. Лишние знание об ускорение загрузки сайта WordPress нам не повредят. Сразу признаюсь, статья не моя. Позаимствовал её с популярного сервиса pr-cy. Надеюсь они не против. И так, погнали наших городских. Плагины для ускорения загрузки сайта на WordPress ?

Первое, что влияет на впечатление пользователя от сайта - скорость его загрузки. Если сайт не загрузился в первые 3 секунды, скорее всего пользователь его закроет.

Как ускорить сайт на WordPress

Даже если на сайте выстроена идеальная воронка продаж, продумано юзабилити, продается что-то выгодное и полезное, клиент этого не увидит. Поисковые системы тоже поощряют ускорение загрузки: с 9 июля Google запустил алгоритм Google Speed Update , которые понижает в выдаче сайты, которые загружаются долго. Особенно рискуют интернет-магазины, потому что обычно они функционально перегружены.

Многие владельцы сайтов и SEO-специалисты жаловались на значительную просадку позиций после обновления алгоритма. Хотя сервисы мониторинга позиции не показывают каких-либо значительных изменений. Интересно, что по анализу Барри Шварца, владельца портала Seroundtable, апдейт больше всего навредил сайтам о здоровье. Пострадали 42% официальных ресурсов медучреждений, частных сайтов о здоровье и фитнесе, ЗОЖ. Причина такого смещения результатов неизвестна. Даже если ваш сайт далек от темы здоровья, работать над скоростью все равно нужно.

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

WordPress плагины для ускорения загрузки сайта

В подборке бесплатные русифицированные плагины для сайта на WordPress, которые исправят ошибки кода, закэшируют страницы и сделают загрузку сайта ВордПресс быстрее. Вы можете установить выбранные плагины стандартным способом. Перейти в панель администрирования вашего сайта. Перейдите в раздел плагины Добавить новый. Искать плагин по названию. Нажмите Установить. После установки активировать плагин и перейти к его настройкам.

Плагин WP Fastest Cache

Возможности:

  • кэширование страниц в браузере для более быстрой загрузки у пользователей, посещавших сайт ранее;
  • gzip-сжатие;
  • оптимизация кода;
  • уменьшение размера файлов css.

Сравнение производительности с другими плагинами

Плагин совместим с HTTPS, поддерживает SSL, CDN, Cloudflare. Не работает с режимом Multisite. Совместим с версиями WordPress вплоть до свежей 4.9.8 версии от 03.08.18. Минимальное требование - версия WordPress от 3.3. Настройка этого плагина очень проста.

Плагин PageSpeed Ninja

Плагин PageSpeed Ninja

PageSpeed Ninja - это наилучший плагин производительности для WordPress. Вы сможете сделать свои сайты загружающимися быстрее на десктопах и мобильных устройствах, в один клик исправив проблемы найденные Google Insights.

  • Простое влючение gzip сжатия для файлов;
  • Исправление блокирующих отрисовку css и javascript;
  • Улучшение критического пути отрисовки и авто-генерация критического CSS;
  • Минификация html, javascript и css файлов;
  • Объединение и подстановка javascript и css;
  • Оптимизация порядка загрузки стилей и скриптов;
  • Сжатие всех изображений для оптимизации размера;
  • Отложенная (ленивая) загрузка изображений с поддержкой предпросмотра в низком разрешении;
  • Получайте преимущества от кэширования в браузере и на стороне сервера.

PageSpeed Ninja предлагает действия по ускорению загрузки сайта

Плагин может быть несовместим с некоторыми сайтами, поэтому проверьте совместимость на сайте PageSpeed.Ninja (http://pagespeed.ninja/ ). Введите свой домен, результаты появятся на экране и придут на почту. Совместим с версиями WordPress от 4.0.1 вплоть до последней на сегодня версией 4.9.8. Минимальное требование - версия от 4.0.1.

PageSpeed Module

Плагин PageSpeed Ninja

Плагин открывает дополнительные настройки страниц для ускорения загрузки, если на сайте используется веб-сервера с открытым исходным кодом Apache или Nginx. Возможности плагина:

Возможности:

  • очистка кэша от модулей;
  • включение режим разработчика для обхода кэширования PageSpeed.

Панель настроек плагина PageSpeed Module

Для работы нужно, чтобы был установлен веб-сервер Apache или Nginx. Плагин совместим с версиями WordPress вплоть до свежей 4.9.8 версии от 03.08.18. Минимальное требование - версия WordPress от 4.4.

Jetpack от WordPress.com

Jetpack от WordPress.com

Удобный дизайн, маркетинговые инструменты и средства безопасности - всё собрано вместе. Плагин от WordPress.com, его функциональность позволяет улучшить оформление сайта, обеспечить пользователям безопасную работу, отследить маркетинговые данные. с чистого листа и настройте его по своему усмотрению. Плагин установили более 5 000 000 пользователей.

Создайте сайт WordPress с чистого листа и настройте его по своему усмотрению

Возможности Jetpack:

  • отложенная загрузка изображений для ускорения работы на мобильных устройствах;
  • темы для оформления;
  • поддержка статистики и аналитики;
  • автоматический постинг в соцсети с планированием публикаций;
  • статистика и аналитика сайта
  • Elasticsearch - поиск похожего контента на сайтах;
  • фильтрация спама;
  • ежедневное резервирование;
  • поддержка системы оплаты;
  • двухфакторная аутентификация для входа на сайт;
  • и другие возможности для безопасной работы на сайте и маркетинга.

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

AMP project. Плагин ускоряет загрузку страниц, преобразовывая их в AMP

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

  • преобразование страниц в вид AMP, тогда к URL каждой страницы добавится /amp/;
  • отображение сайта как «Native AMP», тогда у каждого адреса будет только одна AMP-версия URL;
  • обновление кэша по расписанию.

Поддерживает CDN. Совместим с версиями WordPress вплоть до свежей 4.9.8 версии от 03.08.18. Минимальное требование - версия WordPress от 4.7.

Плагин All in One SEO Pack

Плагин работает с ускорением загрузки страниц, но предназначен в целом для автоматизации работы с SEO сайта. Более 45 000 000 установок. Возможности:

  • поддержка Google AMP для ускорения загрузки мобильных страниц;
  • уведомление Google об изменениях на сайте;
  • автоматическая оптимизация заголовков и генерация метатегов;
  • поддержка Google Analytics;
  • встроенный API, который позволяет дорабатывать плагины под себя;
  • и другая функциональность для SEO.

Совместимость с PHP 7. Совместим с версиями WordPress вплоть до свежей 4.9.8 версии от 03.08.18. Минимальное требование - версия WordPress от 4.4.

Настройки плагина Autoptimize

Плагин работает с кодом, скриптами и стилями страницы, ускоряя загрузку. Настройка плагина, читайте . Возможности:

  • оптимизация JavaScript и CSS;
  • исправление кода, блокирующего отображение верха страницы.
  • кэширование и объединение скриптов и стилей;
  • работа с заголовками;
  • перемещение скриптов в нижний колонтитул;
  • упрощение HTML.

Совместим с версиями WordPress вплоть до свежей 4.9.8 версии от 03.08.18. Минимальное требование - версия WordPress от 4.0.

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

  • трансляция контента для Яндекс.Новостей;
  • поддержка режима Турбо Страниц.
  • настройка категорий, которые попадут в трансляцию;
  • и другие настройки RSS-ленты для Яндекс.Новостей.

Плагин Yandex.News Feed by Teplitsa

Плагин имеет минимум необходимых настроек. Минимальное требование - версия WordPress от 3.9. Смотрите другие плагины для турбо-страниц яндекса .

Подборка бесплатных плагинов поможет выбрать подходящий инструмент, чтобы ускорить загрузку страниц. Это позволит не потерять клиентов, которые не любят ждать долгой загрузки сайта, и не попасть под обновление алгоритма Google, которое опускает медленные сайты в выдаче.

И последнее. Очищайте базы данных .

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

(function(w, d, n, s, t) { w[n] = w[n] || ; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-292864-4", renderTo: "yandex_rtb_R-A-292864-4", async: true }); }); t = d.getElementsByTagName("script"); s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks");

Прежде чем заниматься ускорением WordPress нужно всё таки задуматься о своём хостинге, возможно незначительное повышение тарифа или переезд на другой хостинг решат ваши проблемы. Иногда с переездом нужно просто смириться, невозможно держать гигантский проект на самых дешёвых тарифных планах хостинга.

Шаг 1: Подготовка

Первым делом необходимо обновить WordPress до последней версии, которую вы можете .

Шаг 2: wp-config.php

Файл wp-config.php — является файлом конфигурации WordPress и находится в корневой папке сайта.

Я хочу вам рассказать про несколько методов с помощью которых мы сможем уменьшить нагрузку на хостинг:

  1. В оригинальной сборке есть минус — то, что используются различные языковые файлы для административной части и главной страницы сайта. Если мы будем использовать один файл, то это нам позволит значительно снизить нагрузку, для этого нужно заменить строку: define ("WPLANG", "ru_RU");

    If (strpos($_SERVER["REQUEST_URI"], "wp-admin")) define ("WPLANG", "ru_RU"); else define ("WPLANG", "ru_RU_lite");

    Так же не забудьте добавить в директорию http://вашсайт.ru/wp-content/languages/.

  2. Так же рекомендую сразу выставить необходимое количество ревизий при написании поста.
    Ревизии — это черновики, которые автоматически сохраняются во время написания поста, тем самым позволяя ему вернуться на некоторое время назад при написании. Ревизий может быть несколько, а так же можно указать через какое время они должны обновляться. Я использую одну ревизию, которая перезаписывается каждые 60 секунд, на некоторых своих сайтах на WordPress я их вовсе отключаю, так как пользуюсь внешним редактором. Отключение ревизий даёт прирост в скорости работы редактора и админки WordPress.
    Для того, чтобы была одна ревизия и она сохранялась каждые 60 секунд, нужно добавить следующую строчку в wp-config.php перед последним закрывающимся?>: define("AUTOSAVE_INTERVAL", 60); define("WP_POST_REVISIONS", 1);

    а если мы хотим отключить ревизии, то нужно воспользоваться плагином Disable Revisions .

Шаг 3: Robots.txt

Файл Robots.txt – это текстовый файл, находящийся в корневой директории сайта, в котором записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации некоторые разделы или страницы на сайте, указывать на правильное «зеркалирование» домена, рекомендовать поисковому роботу соблюдать определенный временной интервал между скачиванием документов с сервера и т.д. ©Robotstxt.org.ru

Посещение поисковыми роботами вашего сайта приводит к значительной нагрузке на ваш сайт. Так как нас интересуют только поисковые роботы Яндекса, Google и Рамблера, в некоторых случаях ещё и Yahoo, то остальных роботов (в том числе различные парсеры и грабберы, которые воруют ваш контент), можно закрыть от индексации. Для этого необходимо вставить в файл Robots.txt, если у вас его нет, то необходимо его сначала создать в корневой директории сайта. Эффект наступит не моментально, но в течении месяца практически все роботы из списка сведут свои заходы к минимуму или вовсе перестанут посещать ваш сайт.

Если вы хотите так же заблокировать доступ для Yahoo, что помимо снижения нагрузки на хостинг скроет и ваши беки по версии Yahoo, то необходимо добавить ещё следующие строчки в Robots.txt:

User-agent: Slurp Disallow: /

Шаг 4: .Htaccess

Файл.Htaccess — это файл дополнительной конфигурации веб-сервера. С его помощью мы сможем дать дополнительные команды для сервера, которые стоит обрабатывать до загрузки сайта.

  1. Сейчас очень распространено копирование информации, в основном это делается с помощью автоматических программных решений. Эти программы копируют не только тексты, но и изображения с ваших сайтов. Так как ссылки на изображения с сайтов скопировавших информацию ведут на изображения на вашем сайте, то следовательно они посылают постоянные запросы на ваш хостинг, тем самым его дополнительно нагружая. Это называется хотлинкингом. С этим бороться можно и я расскажу вам как.
    Я хочу вам предложить два метода борьбы, первый — это заменить изображения на сайтах, которые используют ваш сервер. Изображение которое будет отображаться на сайтах вместо вашего можно заменить например на рекламный баннер. RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?undsoft\.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.net/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feedburner\.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mail\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?poisk\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.ru/.*$ RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*\.(jpeg|jpg|gif|bmp|png)$ stophotlinking.gif [L]

    *В данном коде нужно заменить yourdomain на название вашего домена, то же самое касается и доменной зоны. Изображение которое будет показываться на чужих сайтах должно находиться в корневой директории вашего сайта и иметь название stophotlinking и формат gif.

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

    RewriteRule .*\.(jpe?g|gif|bmp|png)$ stophotlinking.gif [L]

    RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]

    Если выше приведённый пример не заработает, попробуйте альтернативный метод:

    RewriteEngine On #Replace ?mysite\.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don"t hotlink" image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

  2. С помощью.Htaccess мы можем сделать кеширование файлов jpg,gif,png,css,js и других в браузере пользователя на сутки с помощью ниже приведённого кода, если же в содержимом произойдут изменения, то кеш обновится: FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 1 year"

    *В браузере обязательно должно быть включено кеширование.

  3. Так же рекомендую делать автоматическое сжатие файлов в перед передачей пользвателю, чтобы сайт грузился быстрее, для этого нужно вставить следующий код в.htaccess: mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

    *На одном сайте сайте не может работать gzip и zlib компрессия, поэтому выберите что-то одно.

  4. Практически каждый сайт на CMS WordPress сталкивается с проблемой спама в комментариях, чтобы отсечь весь автоматический спам ещё на подходе, можно фильтровать спаммеров по Referrer.
    Referer — это один заголовков запроса клиента, то есть если вы перейдёте с одной страницы на другую, то вторая страница сможет узнать по referer адрес первой страницы. Так как программы с помощью которых делается спам делают переход напрямую сразу на страницу комментирования, то мы их сможем отсечь. Это не значит что можно отказываться от плагинов для предотвращения спамма, но это поможет вам снизить количество спамма и нагрузку на ваш сайт. Для реализации необходимо вставить ниже приведённый код в.htaccess: RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourdomain.ru.* RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$

    *Не забудьте заменить yourdomain .ru на адрес вашего сайта

  5. Многие используют плагин для переадресации стандартного RSS на Feedburner, хотя это можно сделать сделав небольшую вставку в.htaccess, тем самым мы уменьшаем нагрузку на сайт: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/puzat

    Если не заработает редирект, то попробуйте поместить данный код в самое начало файла.htaccess.
    *Не забудьте заменить «http://feeds2.feedburner.com/puzat» на адрес своего фидбёрнера.

Шаг 5: Пинги

Когда вы публикуете новый материал на сайте, то WordPress отправляет пинги на множество сервисов, чтобы их известить об этом, мной был составлен большой список пинг сервисов, после тестов по их нагрузке на сервер и эффекту индексации было принято решение, что стоит оставить только необходимые пинги для поисковиков Яндекс и Google, а именно:

  • http://ping.blogs.yandex.ru/RPC2
  • http://blogsearch.google.com/ping/RPC2
  • http://blogsearch.google.ru/ping/RPC2

Этого вполне достаточно чтобы ваш пост был проиндексирован максимально быстро, в дополнение для ускорения индексации можно .

Шаг 6: WordPress плагины

  1. Первым делом рекомендую вам пересмотреть список ваших плагинов и удалить те, которыми вы не пользуетесь.
  2. Так же постарайтесь максимально уменьшить количество используемых плагинов за счёт отключения необязательных и их удаления.
  3. Практически каждый плагин подгружает свои CSS и JS, их с помощью онлайн-сервисов: онлайн-сервис по сжатию CSS , онлайн сервис по сжатию JS кода .
  4. Убедитесь что необходимые вам плагины загружаются только на необходимых вам страницах, часто встречается, что плагины подгружаются на всех страницах, это можно проверить посмотрев исходный код страницы и поискав название плагина или его сокращения. Для того, чтобы плагин обратывался только на необходимых вам страницах нужно будет написать условие внутри кода плагина.

Шаг 7: Оптимизация кода темы(шаблона) сайта

Для тех, кто не знает где находится ваш шаблон на сайте, вы можете зайти в исходный код страницы нажав на странице своего сайта правой кнопкой мыши и выбрав «Исходный код страницы», там необходимо найти строку:

media ="screen " type ="text/css " href ="http:// yourdomain .ru/wp-content/themes/yourthemes/style.css " rel ="stylesheet " >

Вместо « yourdomain .ru» будет название вашего сайта, а вместо «yourthemes» будет директория с вашей темой. После чего мы заходим в эту папку и можем видеть все файлы темы. Так же тему можно редакторировать и через админку WordPress для этого необходимо зайти в админку->Внешний вид->Редактор.

    1. Первым делом нужно удалить лишние обращения к базе данных, например в файле шапке (header.php) часто используется стандартная вставка: > ; charset=" />

Все эти обращения к базе данных через php запросы, можно заменить на:

*но нужно учитывать, что если у вас другая кодировка, то в charset=ВАШАКОДИРОВКА
Тоже самое касается ссылки на стили:

" type="text/css" media="screen" />

заменить на:

*Незабудьте заменить yourdomain.ru на ваш сайт, а так же поменяйте название темы.

Код пингбеков:

" />

заменить на:

*Незабудьте заменить site.ru на ваш сайт.

Код фида:

RSS Feed" href="" />

заменить на:

*Незабудьте заменить site.ru на ваш сайт, а так же надпись «ВАШ САЙТ» на название вашего сайта.

  1. Так же можно удалить излишние мета-теги сайта из wp_head, вставив следующий код в файл функций (functions.php) вашей темы. remove_action("wp_head", "feed_links_extra", 3); remove_action("wp_head", "feed_links", 2); remove_action("wp_head", "rsd_link"); remove_action("wp_head", "wlwmanifest_link"); remove_action("wp_head", "index_rel_link"); remove_action("wp_head", "parent_post_rel_link", 10, 0); remove_action("wp_head", "start_post_rel_link", 10, 0); remove_action("wp_head", "adjacent_posts_rel_link", 10, 0); remove_action("wp_head", "wp_generator");
  2. Старайтесь размещать все ваши скрипты прямо перед , чтобы они грузились только после того, как весь основной код будет загружен, это в особенности касается скриптов, которые выполняются с внешних ресурсов.
  3. Если вы используете Jquery библиотеки, а тем более если вы их подгружаете с внешних сайтов, то рекомендую посмотреть наличие необходимой вам Jquery библиотеки в http://code.google.com/apis/ajaxlibs/ , если вы нашли там то что вам нужно, то лучше использовать оттуда, так как с Google файлы грузятся моментально, получится паралельное закачивание файлов, то есть пока грузится ваш сайт, библиотеки загрузятся с Google, а так же если браузер скачал себе данную библиотеку, то он не будет её скачивать второй раз.
  4. Если вам позволяют знания, то можно отключить от плагинов обращения к их CSS и JS и вынести их в сам шаблон, тем самым вы уменьшите количество запросов, всё будет грузиться из одного места, что конечно же ускорит работу вашего сайта. Не забывайте про правило, что стили мы вставляем в header.php, а скрипты в footer.php перед .
  5. Сразу после вставьте

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

Шаг 8: Изображения

Шаг 9: Кеширование

  1. Необходимо установить плагин кеширования сайта, из тех которые я использовал на мой взгляд самые лучшие WP Super Cache (бесплатный) и скрипт Cache Maxsite (платный). Мне лично больше понравился Maxsite Cache, но если вы не готовы платить 30$ за плагин, то можно обойтись и WP Super Cache. Основной минус WP Super Cache в том, что он не кеширует виджеты, но с этой проблемой нам поможет справиться следующий плагин WP Widget Cache .
  2. Так же к выше перечисленным плагинам можно добавить плагин WP-CSS , который сжимает CSS в GZIP, а так же плагин Autotimize , который рекомендуют использовать вместе с WP Super Cache.

Шаг 10: База данных

  1. Помимо файлов сайта у нас есть база данных, которую тоже нужно время от времени чистить и оптимизировать, чтобы это сделать в ручную нам потребуется больше времени, чем установить плагин Optimize DB . Активируйте его только на время оптимизации базы данных, после чего деактивируйте, не оставляйте его постоянно включённым, чтобы он не создавал дополнительную нагрузку на сайт.
  2. Если вы не используете ревизии, то их таблицу можно удалить из базы данных, найдите таблицу с названием «wp_post_revision» и удалите.

Шаг 11: Мелочи

  1. Большие посты разбивайте на несколько страниц с помощью .
  2. Не нужно выводить полные посты на страницах, используйте excerpt.
  3. Не выводите на главной странице больше 5 постов.
  4. Не выводите больше 50 комментариев на одну страницу, включите навигацию по комментариям. Для этого нужно зайти в админку WordPress->Обсуждения->и поставьте галочку напротив «Разбивать комментарии на странице по 50 штук».
  5. Более ранние версии WordPress потребляют меньше ресурсов, но я же рекомендую использовать последнюю версию WordPress для СДЛ и сателлитов, а для ГС можно использовать более ранние версии например WordPress 2.3.3 . Не забывайте про риск уязвимостей и недоработок, так как это всё таки старые версии.
  6. Для того чтобы замерить количество запросов к базам данных wordpress нужно добавить в код следующую строчку: запросов за секунд.
  7. Не поленитесь, сделайте код валидным, онлайн сервис проверки кода на валидность с рекомендациями по исправлению .
  8. Реализуйте поиск по сайту с помощью стороннего сервиса, например Google, так же вы на этом сможете заработать, зарегистрируйтесь для этого в Google и перейдите в систему Google Adsense .
  9. Используйте сторонние сервисы для хранения видео и просто вставляйте их код в пост, например Youtube. Это всё в тему параллельности процессов загрузки страницы.

Шаг 12: Сервер

В подробности серверной настройки я не вдавался, но если кому потребуется, то на мой взгляд, один из лучших материалов настройка сервера Апач на максимальную производительность . Владельцам своих серверов рекомендую воспользоваться eAccelerator и PHP-Speedy, про его работу с WP Super Cache можно , все материалы на английском языке.