Ускорение работы WordPress. Ограничение количества редакций записей в WordPress

Детские товары 12.05.2019
Детские товары

План статьи

Для Google, Яндекса и других поисковых систем скорость загрузки сайта является важным фактором ранжирования. Рассмотрим ускорение загрузки и работы сайта на CMS WordPress. Результаты работы можно увидеть в конце поста.

Цель: Ускорить загрузку и работу сайта на CMS WordPress плагинами (без правки кода).

Шаг 1. Анализ текущей ситуации со скоростью загрузки.

Ускорение этого блога я делал еще в феврале 2015 года, поэтому скриншота прошлого состояния не сохранилось. По памяти помню, что сервис PageSpeed Insights показывал скорость загрузки 50/55 для мобильных/ПК. Состояние было плачевное и я задумался про ускорение.

Проанализируйте свой сайт на WordPress с помощью сервиса Google PageSpeed Insights и если результат загрузки сайта меньше 85 — читайте дальше.

Шаг 2. Устанавливаем плагины для ускорения.

WP Fastest Cache

Плагин для кэширования сайта, сжатия файлов, минимизации и объединения css, js, очень широкий функционал. Плагин в нужной комплектации бесплатный.

Зайдите в админке сайта на WP в «Плагины» -> «Добавить новый». Впишите название плагина, нажмите «Поиск». Первый плагин с изображением животного кошачьего типа — наш плагин. Устанавливаем.

EWWW Image Optimizer

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

Зайдите в админке сайта на WP в «Плагины» -> «Добавить новый». Впишите название плагина, нажмите «Поиск». Первый плагин с изображением молотка, который бьет по картинкам — наш плагин. Устанавливаем.

Шаг 3. Настройка ускорения сайта на WordPress

Настроим кеширование и минимизацию css, js файлов. В панели администратора новым пунктом меню у вас появился WP Fastest Cache. Зайдите по ссылке, внизу вы увидите поле language, установите русский язык. Установите галочки во всех пунктах, как на скриншоте ниже. В другие вкладки плагина можете не заходить — там платные функции, за которые вам вряд ли захочется отдавать деньги.

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

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

Шаг 4. Результаты ускорения сайта.

Результаты шикарные. С 50 сразу стало 81 (опять-таки, по памяти). Почитав рекомендации Гугла нашел множество проблем загрузки, связанной с плагином, который предназначен для красивого вывода программного кода на блоге. После того, как я его снес — это значение поднялось до 91! Вот, что показала Яндекс Метрика — отчет по загрузке страниц:

По скриншоту четко видно, что скорость загрузки страниц снизилась с 1 секунды от 0.1 . Отмечу, что улучшились позиции в Google и даже в Яндексе, уменьшилось число отказов (некоторые люди, особенно с мобильным интернетом, не желают долго ждать и покидают сайт, если после перехода на сайт он сразу не начинает загружаться).

Дополнительно

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

Это заметно снижает скорость загрузки и отношение Google к сайту. Простой пример — в моем блоге на главной вы увидите над лентой последних постов текст и небольшое фото. Если бы я поставил в атрибут src тега img ссылку на изображение оригинал разрешением ~1000×2000 и вывел картинку 100×100, серверу пришлось бы загружать изображение 1000×2000, браузер сжал бы ее до нужных размеров, которые я прописал в стилях отображения, но реально-то загружался оригинал. Поэтому я не поленился отресайзить её в Photoshop и только после этого использовать в шаблоне. Загружайте изображения ровно в таком разрешении, в котором хотите её отобразить.

Меньше графики — быстрее сайт.

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

Меньше плагинов — меньше запросов к базе данных.

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

Если у вас возникли проблемы с ускорением сайта на WordPress или возникли вопросы по теме — пишите в комментарии или на почту через форму слева — постараюсь помочь.

Как известно поисковая система Google оценивает сайт более чем по 300-м параметрам, а Яндекс пошел ещё дальше и учитывает более 700 факторов, которые влияют на поисковую выдачу. Большинство из низ не известно, но мы совершенно точно знаем как минимум пару десятков наиболее важных параметров, которые должны быть на высоте, если вы хотите чтобы сайт пробился в топ. Один из таких скорость загрузки вашего ресурса.

Кроме того сама характеристика скорости делится на несколько пунктов, а именно:

  • Кеш браузера
  • Код JavaScript и CSS
  • Код HTML
  • Размеры изображений и их «вес»
  • Сжатие gzip
  • Размеры элементов
  • Всплывающие окна
  • Работа сервера
  • Количество элементов на страницу

Начинаем битву за скорость WordPress

Шаг №1. Как проверить скорость загрузки сайта и определить проблемные места?!

Сервисы для анализа сайта

Сервисы для анализа сайта

Для начала мы проверяем свой сайт для этого воспользуемся двумя замечательными бесплатными сервисами. Определение скорости загрузки – Google PageSpeed Tools и анализ сайта PR-CY . Есть и другие, но я думаю это лучшие, они дают наиболее точную оценку.

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

Шаг №2. Меняем размеры и «вес» изображений на сайте

Как уменьшить изображения

Как уменьшить изображения

Это один из самых важных моментов, так как картинки тормозят загрузку больше всего. И одно из решений это уменьшить их вес. Для этого можно использовать несколько методов.

Уменьшаем размер перед загрузкой на сайт.

Можно менять размер перед «заливкой», для этого применяются графические редакторы или специальные программы. Самый простой откорректировать в банальной «Paint». Уменьшить до нескольких десятков килобайт.

Используем плагины WordPress.

Я пользуюсь именно этим методом в комплексе с первым. Для начала большие изображения уменьшаю в редакторе, а затем они автоматически сжимаются при загрузке на сервер с помощью плагина WP Smush . Он является самым популярным и удобным в обращении. Простой интерфейс и автоматическая работа. Кроме того вы можете сжать уже загруженные изображения до установки данного плагина. Делается это достаточно просто, заходите в библиотеку медиафайлов и возле каждого нажимаете «Smush Now».

При загрузке новых изображений, они корректируются автоматически.

Наряду с WP Smush есть и другие плагины, которые также пользуются спросом. Он вызван тем, что некоторые вызывают конфликты между уже установленными. Поэтому можно выбрать тот, который подходит именно вам. Вот их перечень.

Плагины WordPress для сжатия изображений:

  • Плагин WP — EWWW Image Optimizer
  • Плагин WP — TinyPNG / TinyJPG
  • Плагин WP — Resize Image After Upload
  • Плагин WP — ShortPixel Image Optimizer
  • Плагин WP — Kraken Image Optimizer
  • Плагин WP — Imagify
  • Плагин WP — Optimus
  • Плагин WP — CW image optimizer
  • Плагин WP — SEO Friendly Images
  • Плагин WP — Lazy load
  • Плагин WP — Compress JPEG and PNG images
  • Плагин WP — BJ Lazy Load
  • Плагин WP — Prizm Image

Также отмечу, что некоторые имеют как бесплатную версию, так и платную. Основное отличие – количество уже загруженных изображений, которые можно сжать на сервере.

Шаг №3. Оптимизируем отображение картинок на страницах wordpress. Улучшаем «юзабилити»

Пользователь сам определяет размер

Я думаю не стоит обсуждать, что быстрее загрузится картинка в полном размере или её миниатюра. Ответ очевиден! Но миниатюра не дает возможность рассмотреть ваш скрин или фото в полном объеме. Особенно если на них имеются надписи. Как быть!? Есть золотая середина, увеличение картинок по клику мышки, в этом нам поможет плагин wp — . Уверен он лучший в своем роде, у него вообще нет настроек. Установили – он работает – очень удобно и просто.

Итак что мы делаем. Устанавливаем и активируем плагин Auto-highslide . Все изображения должны отображаться в среднем размере, а в разделе ссылка должно стоять – «Медиафайл» — иначе плагин Auto-highslide не будет работать. Смотрите на скрин ниже.

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

К слову, плагин wordpress — Auto-highslide не доступен для скачивания из админки, вы можете скачать его с нашей группы ВКонтакте в разделе документы . А полная статья о нём .

Шаг №4. Кеширование страниц сайта wp

Настраиваем кеш WordPress

Настраиваем кеш WordPress

Кеширование страниц – это важнейший параметр скорости загрузки сайта. Вы можете иметь ошибки в CSS и JavaScript, но кеш должен быть настроен обязательно. Он способен увеличить скорость загрузки вашего ресурса в несколько раз. Да, да вы не ослышались в несколько раз!

Есть несколько вариантов

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

FileETag MTime Size

ExpiresActive on

ExpiresDefault «access plus 1 year»

Второй способ , наиболее распространенный – использовать плагин кеширования. Самый простой среди них – это WP Super Cache. Он не конфликтный, простой в настройке и подходит большинству блогов на wordpress.

Скачать WP Super Cache можно из админки. Устанавливаем и активируем.

Настройки WP Super Cache

Всё делаем как на скринах ниже:

И не забывайте сохранять настройки на каждой вкладке!

Есть также и другие плагины wordpress для кеширования:

  • Плагин WP — WP-Cache
  • Плагин WP — Hyper Cache
  • Плагин WP — WP-Cache.Com
  • Плагин WP — WP Rocket
  • Плагин WP — WP Fastest Cache
  • Плагин WP — WP Fast Cache
  • Плагин WP — Wordfence Falcon
  • Плагин WP — W3 Total Cache
  • Плагин WP — Super Static Cache
  • Плагин WP — Really Static
  • Плагин WP — Next Level Cache
  • Плагин WP — Lite Cache
  • Плагин WP — Hyper Cache Extended
  • Плагин WP — Gator Cache
  • Плагин WP — Flexicache
  • Плагин WP — Cachify
  • Плагин WP — AIO Cache
  • Плагин WP — Alpha Cache
  • Плагин WP — Bodi0’s Easy Cache
  • Плагин WP — Zen Cache (formerly Quick Cache)
  • Плагин WP — Quick Cache (Speed Without Compromise)

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

Ускоряем отображение элементов страниц

Шаг №6. Уменьшаем количество HTTP запросов, сжатие gzip

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

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

Продолжаем ускорять wordpress. Первое что мы делаем в этом разделе – устанавливаем Far Future Expiration Plugin. Это достаточно простой плагин, он уменьшает количество HTTP запросов. Кроме того позволяет использовать gzip сжатие.

Настройки Future Expiration Plugin

Важно!!! Если вы уже используете gzip сжатие с другим плагином, то поставьте галочку Enable Gzip Compression, дабы не было конфликтов. Напомню – если вы установили плагины кеширования, то обратите внимание – они тоже используют gzip. Если у вас стоит W3 Total Cache или WP Super Cache, то галочка также должна стоять в Enable Gzip.

Шаг №7. Оптимизируем CSS, JavaScrit и HTML коды

Как оптимизировать коды на wordpress

При оптимизации кодов и их сокращения варианта два – ковырять блог или установить плагин. Я предложу самый простой из них. Вы уже наверно догадались?! Берем плагин Autoptimize. Он описан в статье .

Устанавливаем, активируем. И сохраняем настройки по умолчанию. Там сложного ничего нет.

У него кстати есть альтернативный вариант – это Better WordPress Minify.

Шаг №8. Как уменьшить время ответа сервера wordpress

Проблема на сервере или на сайте

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

Как решить проблему на сайте.

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

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

Шаг №9. Уменьшаем количество элементов на странице

Делаем сайт простым и понятным

Обратите внимание на тяжеловесов в сети, сайты с большой аудиторией, наиболее популярные ресурсы. Их отличает простота! Удобное меню, хорошее юзабилити, интуитивно понятная навигация.

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

Но есть одно важное уточнение, по мере того как вы будете изменять сайт добавлять что-то новое, новые плагины или элементы меню, сайдбаров и прочего, результаты тестов могут меняться!!!

За сим Всё. Если у вас есть вопросы или дополнения к статье – пишите их в комментариях!

Ускорение сайта WordPress до максимума. Увеличиваем скорость загрузки сайта.

Как известно поисковая система Google оценивает сайт более чем по 300-м параметрам, а Яндекс пошел ещё дальше и учитывает более 700 факторов, которые влияют на поисковую выдачу. Большинство из низ не известно, но мы совершенно точно знаем как минимум пару десятков наиболее важных параметров, которые должны быть на высоте, если вы хотите чтобы сайт пробился в топ. Один из таких скорость загрузки вашего ресурса. Кроме того сама характеристика скорости делится на несколько пунктов, а именно: Кеш браузера Код JavaScript и CSS Код HTML Время ответа сервера Загрузка видимого контента Размеры изображений и их «вес» Сжатие gzip…

Обзор

  • Перевод

Скорость и отказоустойчивость – одни из тех факторов, что неизменно влияют на популярность вашего ресурса, ведь даже с лучшим в мире контентом медленно работающий сайт будет раздражать читателей и рано или поздно вы их потеряете. В этой статье мы будем оптимизировать самый популярный блоговый движок - Wordpress, работающий на PHP. А заодно рассмотрим несколько общих моментов в оптимизации сайтов.

1 Тестируем текущую скорость

Чтобы узнать изменилось ли что-нибудь после нашей оптимизации, не помешает замерять для начала текущую скорость загрузки страниц блога, чтоб было с чем сравнивать. Есть несколько инструментов, которые помогут сделать это:

Не забудьте обновить до последней версии PHP и Apache .

3.1 Отключите неиспользуемые сервисы
Вы можете получить больше доступной оперативной памяти, отключив неиспользуемые службы и оптимизировав MySQL и Apache.
  • Удалите ClamD;
  • Настроить SpamD на использование только 1 дочернего процесса;
  • Удалите Mailman, если, конечно, вы не собираетесь запускать почтовый сервис.
3.2 MYSQL Query Cache
Поскольку стабильность и скорость Wordpress довольно сильно зависит от работы БД, стоит убедиться, что настройки в my.cnf соответствуют возможностям сервера. В первую очередь следует установить настройки кэширования запросов, добавив в my.cnf следующие строки:
query_cache_type = 1
query_cache_limit = 2M
query_cache_size = 20M

Чтоб настройки вступили в силу придется перезапустить сервис MySQL сервис.
3.3 Кэш компилятора: XCache или Eaccelerator?
Кэш компилятора увеличивает производительность откомпилированных скриптов на сервере, кэшируя их – это поможет сократить время выполнения PHP скриптов. Стоит попробовать и то и другое решение, однако по результатам опытов увеличение производительности при использовании Xcache на 5% выше, чем с Eaccelerator.
3.4 Увеличьте максимальное число соединений на Apache
Увеличение максимального количества соединений в httpd.conf повысит производительность, т.к. сервер сможет обрабатывать большее количество подключений за раз. Однако, следует изменять этот параметр осторожно, дабы не исчерпать весь объем оперативной памяти и не замедлить работу сервера, потому всегда тестируйте новые настройки прежде чем запускать их в работу. Установим к примеру 150 коннектов:
max_connections = 150

Не забудьте рестартить сервис Apache, чтоб применить настройки.

4 Оптимизация кода и графики

Итак, сервер заработал и теперь настало самое время поиграть с кодом Wordpress.
4.1 Отключите хотлинки
Каждый раз когда вы используете свой сервер для хранения изображений вы существенно больше используете его ресурсов. Довольно часто люди заимствуют ваши изображения, ставя хотлинки на своих серверах. Это не только занимает канал, но и создает определенную нагрузку на сервер.
Добавьте следующий код в .htaccess файл, заменив example.com на имя вашего домена, чтобы отключить использование хотлинков:
< IfModule mod_rewrite .c >
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/.*$
RewriteRule .*\.(gif|jpg|png|ico)$ -
4.2 Используйте внешний хостинг для хранения изображений
Хостинг изображений на внешних серверах поможет значительно снизить нагрузку на сервер. В примере ниже вы можете видеть снижение объема используемой оперативной памяти на одном из блогов после переноса изображений на сервис Amazon S3 .

4.3 Сжимайте java-скрипт код
Сжатие javascript довольно простая задача. Поскольку он выполняется при каждом просмотре страницы, вы можете уменьшить размер Javascript, удалив все незаполненное пространство. Вот простой инструмент, который поможет сделать это за вас - JavaScript Compressor .
4.4 Javascript в начале страницы
Часто случается так, что сайт начинает загружаться медленно или вообще останавливается, т.к. другой ресурс, с которого вызывается javascript(на пример Digg badges, Tweetmeme и т.д.), не доступен или оффлайн. Чтобы избежать этого вынесите весь javascript код в конец страницы, а то что по каким-то причинам вынести не удалось – попробуйте заключить в iFrame.
4.5 Используйте кэш браузера
Сам по себе кэш браузера, конечно не сделает ваш блог быстрее, однако поможет снизить нагрузку на сервер, кэшируя часто загружаемые объекты(стили, элементы интерфейса и т.п.).
Попробуйте вставить следующий код в .htaccess файл:
FileETag MTime Size
< ifmodule mod_expires .c >
< filesmatch "\.(jpg|gif|png|css|js)$" >
ExpiresActive on
ExpiresDefault "access plus 1 year"

4.6 Сжимайте статические данные
Вы можете уменьшить размер загружаемой страницы позволив браузеру принимать и передавать данные в сжатом виде. Это также снизит загрузку канала и количество загружаемых данных.
Следующий код в .htaccess может помочь вам в этом:
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
4.7 Используйте CDN для статических файлов
Если хранить все изображения на одном и том же домене, то браузер будет ожидать их загрузки одного за другим. Допустим на странице их у вас есть 12 штук, если вы разделите их между тремя поддоменами, они будут загружаться одновременно из трех «разных» источников вместо того, чтоб загружаться браузером по очереди из одного.
Можете попробовать перенести все css & javascript файлы на files.yoursite.com , а изображения и временные файлы на static.yoursite.com . Или же просто использовать CDN (Content Delivery Network) – большая сеть серверов, расположенных по всему миру, которые позволят не только хранить ваши файлы на разных поддоменах, а значит загружать их параллельно, но и доставлять пользователю данные с самого близкого к нему сервера. Все это позволит загружать данные намного быстрее.

5 Wordpress

В этой части статьи мы рассмотрим приемы для улучшения производительности, которые можно применить непосредственно к Wordpress.
5.1 Обновитесь до последней версии
Обновления до более новых версий позволяют не только устранять обнаруженные уязвимости, но и улучшают производительность. Для примера в wordpress 2.8 была существенно оптимизирована работа с БД.
5.2 Отключите Post Revisions
Во всех версиях wordpress, начиная с 2.6, редакции ваших статей каждый раз во время правки автоматически сохранялись. Это замедляет работу БД и увеличивает ее размер без особой надобности.
Чтоб отключить post revisions, добавьте следующую строку в wp-config.php :
define("WP_POST_REVISIONS", false);

Чтобы удалить сохраненные ранее ревизии текста, выполните следующий запрос в PHPmyadmin:
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = "revision"
5.3 Сократите количество запросов
Уберите ненужные запросы, чтоб ускорить генерацию страницы. Например, следующий типичный код, встречающийся во всех темах для wordpress:
< meta http-equiv ="Content-Type" content ="< ?php bloginfo ("html_type" ); ?> ; charset= " />

Мы запросто можем переписать в:
< meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" />

Уже на два запроса меньше. Довольно просто, не правда ли?
6 Wordpress Plugins
И на последок предлагаю вашему вниманию несколько плагинов, которые могут повысить производительность wordpress. Как только все, описанное выше, будет выполнено, эти плагины помогут добиться еще более высокой производительности.

Представляю наиболее полную инструкцию с способами по ускорению работы сайта на WordPress. Благодаря описанным ниже способам я ускорил загрузку своего сайта с 24,40 секунд до 1,41 секунды. Увеличил скорость загрузки в 17,3 раза! Хороший результат. Чтобы узнать как — читайте полную статью.

Замеры скорости работы сайта я проводил сервисом Pingdom Speed Test . Тестировал главную страницу сайта. Смотрите ниже показатели сайта «до» и «после» улучшений, и короткую и полную инструкцию по ускорению сайта.

Показатели сокрости загрузки сайта

Скриншот замера скорости ПЕРЕД оптимизацией блога:

Скриншот замера скорости после оптимизации и проведенных ниже рекомендаций.
.

Короткое резюме по ускорению сайта на WordPress

Основное влияние на скорость оказали такие факторы как смена хостинга с использованием SSD дисков, оптимизация изображений, включение плагина кеширования W3 Total Cache, оптимизация БД сайта, удаление старых ревизий, включение сжатия файлов на стороне сервера, включение кеша для статичных файлов на стороне браузера. Далее следует полная развернутая инструкция по ускорению сайта на WordPress.

Полная инструкция как ускорить сайт на WordPress

1. Качественный SSD хостинг, быстрый пинг

Хостинг должен быть на SSD дисках. Желательно чтобы сервера хостинга располагались в вашей географической зоне, на которую ориентирован сайт. Если хостинг будет на SSD, но в США, а ваш блог ориентирован на Россию и страны СНГ, то толку от такого SSD будет мало. Так как будет идти долгий пинг для связи с сервером. Поэтому месторасположение дата центра хостинга также важно. Это важный параметр хостинга — быстрый пинг, отклик серверов. И чтобы хостер не делал оверселлинг услуг. Про тип хостинга — конечно лучше брать как VDS (виртуальный выделенный сервер) с необходимыми для вашего сайта параметрами, вместо обычного shared хостинга. Какую именно конфигурацию VDS выбрать — это зависит от нагрузки которую ваш сайт создает не сервер и от размера его суточной аудитории. Я бы советовал брать минимум 1Gb Ram, 1 ядро процессора и 10 Гб SSD. В начале у меня был VDS на обычных HDD дисках, затем я поменял его на SSD VDS хостинг.

Хостинг «До»:

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

5. Настройка файла.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 .*.(jpe?g|gif|bmp|png)$ - [F]

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

Настройка №2. В файле.htaccess можно и следует указать кэширование для некоторых объектов сайта (изображений, css и js фалов) чтобы браузер кешировал их на своей стороне и не загружал их каждый раз. Для этого в.htaccess ниже первого кода добавляем следующий код:

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 1 year"

Настройка №3. Включим gzip сжатие страниц перед отправкой их пользователю. Вставим в.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.*

Настройка №4. Ограничение спама в комментариях. Большинство спам комментариев отправляются автоматически. Этим кодом мы запретим напрямую отсылать комментарии минуя форму комментирования. Теперь спам боты не смогу отправлять комментарии.

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}/$

Настройка №5. Если вы пользуетесь системой FeedBurner, то у вас явно установлены плагины, которые отправляют RSS-контент на сайт FeedBurner. Сегодня вы можете их удалить, потому что перенаправить контент можно и без плагинов, уменьшив нагрузку на хостинг.

RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://yourdomain.ru

ВНИМАНИЕ!!! Не забудьте в примерах выше заменить адрес yourdomain.ru на адрес своего сайта.

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

Важное значение в скорости работы сайта имеет База Данных. При сохранении постов по нескольку раз WordPress создает ревизии записи — состояния постов в разные моменты их редактирования. В результате со временем база данных содержит большое количество ненужных ревизий постов, и их необходимо очищать и оптимизировать. Сделать это можно с помощью плагина Optimize DB . Установить его можно из админки WordPress. Например запустив его на своем сайте я удалили более 1200 ревизий постов. Что значительно улучшило скорость работы БД.

7. Оптимизация кода шаблона (темы)

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

Настройка №1. Найти код, который отвечает за стили в файле header.php:

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

Заменить на:

Внимание!!! Не забудьте изменить yoursite.ru на ссылку своего сайта.

Настройка №2. Изменить код пинбеков:

" />

Настройка №3. Изменение кода RSS ленты:

RSS Feed" href="" />

Заменить с исправлением yoursite.ru на свою ссылку:

Настройка №4. Довольно часто в подвале сайта (footer.php), разработчики тем оставляют совершенно ненужные запросы к Базе данных. Например:

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

1) Если ваш сайт не использует комментарии, не стоит их скрывать с помощью плагинов, это создает совершенно ненужную нагрузку. Так как вам комментарии совершенно не нужны, просто удалите следующий код из файла темы (single.php):

2) Старайтесь не использовать внешние скрипты, такие как, комментарии от Вконтакте, различные виджеты социальных сетей. Да, это выглядит красиво и эффектно, но создает приличную нагрузку на сайт. Из примеров могу сказать что мой сайт значительно грузил код веб-визора от ЯндексМетрики, виджет Add.This. Кнопки соц сетей я поменял на отельный JS плагин.

3) Почистите весь код вашего сайта от комментариев, данные комментарии вставляются с помощью тегов и /*код/. Оставьте только нужное, так как сайту приходится тратить лишние силы на их загрузку…

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

5) Все дополнительные коды на подобии счетчика сайта от Live Internet, либо Google Analytics стоит размещать в подвале сайта, что бы они так же как и другие скрипты грузились только в самую последнюю очередь.

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

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

1) Удалите ненужные плагины. Ненужные плагин Со временем работающие плагины накапливаются, и можно насобирать много ненужных пагинов которые помимо занимаемого места будут создавать ненужную нагрузку на сайт.

2) Деактивируйте ненужные плагины. Постарайтесь использовать как можно меньше Активированных плагинов. Некоторым плагинам не обязательно давать работать постоянно.Например плагин для оптимизации БД можно включать только на период работы с ним.

10. Ускорение сайта с помощью кэширования

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

1) WP Super Cache – лучший и бесплатный плагин для кэширования в WordPress. Рекомендую его установить и использовать. Также хорошие плагины WP Total Cache, WP Rocket.

2) Плагин Autoptimize – рекомендуют использовать вместе с Wp Super Cache. Никаких сверх настроек делать не нужно, просто активируйте плагин, в разделе «Настойки» → «Autoptimize» поставьте галочки, и плагин будет работать. Будьте осторожны, проверьте работоспособность сайта после изменения настроек, что бы предостеречь себя от неприятностей.

3) Плагин WP Widget Cache – позволяет кэшировать виджеты, с чем не справляется плагин Wp Super Cache.

11. Используйте CDN сети для более быстрой загрузки контента

Еще один способ ускорить загрузку сайта — использовать CDN сети, Content Delivery Networks. Каждый раз когда пользователь открывает ваш сайт, он загружает всю информацию с вашего сервера, на котором расположен сайт. Если регион пользователя и регион расположения сервера с вашим сайтом одинаковы, скажем Москва Россия — то все олично. Но если пользователь заходит на Ваш сайт скажем с Азии, или США, то доставка контента к нему уже будет происходить с меньшей скоостью, т.к. тут влияет расстояние. Использование CDN сетей дает возможность загружать файлы вашего сайта (изображения, скрипты, стили) не только с вашего хостинга, а с дата-центров по всему миру. Таким образом заходя на сайт, пользователь автоматически загрузит файлы сайта из наиболее близкой для него точки с серверами CDN сети, что значительно ускорит загрузку сайта.

Можно исюпользовать плагин Jetpack Photon который дает возможность использовать CDN сеть WordPress для загрузки изображений вашего сайта.

Можно использовать другие CDN сети, например MaxCDN, NGENIX или Amazon CloudFront. Я CDN сети не использовал, поэтому в этом пункте ограничися лишь кратким ознакомительным описанием этой технологии.

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

Несколько мелочей, которые в также помогут вам ускорить загрузку сайта:

  1. На главной странице сайта выводите только анонсы статей , не нужно выводить полные статьи.
  2. Очень большие статьи разделяйте на страницы с помощью тега .
  3. Не стоит выводить на главной странице больше 5-6 статей.
  4. Не стоит выводить под статьей больше 50 комментариев, пользуйтесь так же переключением страниц между комментариями.
  5. Установите поиск по сайту от Google или Yandex. Сайт будет искать информацию быстрее.

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

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

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

Итак, разгоняем наш любимый WordPress в 2017 году. Поехали!

1. Используйте надежный фреймворк/тему

За каждым WordPress-сайтом лежит тема или фреймворк, и это иногда может приводить к проблемам. Каждая тема написана по-разному, и потому одни зачастую темы лучше, чем другие. Дефолтные WordPress-темы типа Twenty Fifteen, очень быстрые, потому что легковесные.

Будьте осторожны, когда покупаете темы на таких мега популярных сайтах, как ThemeForest и Creative Market. Несмотря на то, что там много великолепных тем, вы должны понимать, что разработчики часто добавляете функции просто, чтоб увеличить продажи. Так что главное — найти правильных разработчиков. И именно о таких мы не раз на страницах этого сайта.

Так же, такие легкие фреймворки, как Thesis Theme framework и Genesis также известны тем, что на их основе разрабатываются быстрые и хорошо написанные темы.

2. Использование кэширования

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

Плагины кэширования

Вот несколько лучших бесплатных и платных плагинов кэширования:

Установка и правильная настройка плагина кэширования может привести к увеличению производительности в 200-300%!

Обход PHP для кэшируемых страниц

Ниже представлена более продвинутая конфигурация Nginx обхода PHP для кэширования страниц. Этот пример оптимизирован для плагина Cache Enabler.

Пример конфигурации Nginx

Set $cache_path $request_uri; # bypass cache if query string not empty if ($query_string) { set $cache_path "nocache"; } # bypass cache for POST requests if ($request_method = POST) { set $cache_path "nocache"; } # bypass cache for admin area if ($request_uri ~ /wp-admin/) { set $cache_path "nocache"; } # bypass cache for logged in users if ($http_cookie ~ (wp-postpass|wordpress_logged_in|comment_author)_) { set $cache_path "nocache"; } location / { try_files /wp-content/cache/cache-enabler/${http_host}${cache_path}index.html $uri $uri/ /index.php?$args; }

Кэширование браузера – добавьте заголовки Expires к WordPress

Вы также можете добавить кэширование браузера, добавив заголовки expires. Заголовки Expires говорят браузеру, должны kb они запросить определенный файл с сервера или они должны захватить их из кэша браузера. Добавляя их, вы можете уменьшить количество HTTP-запросов, которые им нужны. Некоторые плагины кэширования для WordPress позволяют добавить их, но вы также можете просто добавить код в ваш файл .htaccess

# Enable expirations ExpiresActive On # Default directive ExpiresDefault "access plus 1 month" # My favicon ExpiresByType image/x-icon "access plus 1 year" # Images ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" # CSS ExpiresByType text/css "access plus 1 month" # Javascript ExpiresByType application/javascript "access plus 1 year"

Кэширование сервера

Помимо плагинов кэширования для WordPress и кэширования браузера вы можете использовать преимущества кэширования со стороны сервера. Такой вид кэширования обычно используется на сайтах с большим количеством трафика. Кэширование с Varnish может быть очень мощным, если его скомбинировать с плагином кэширования и CDN.

Prefetch обычно используемых доменов

Prefetching – это нечто сходное кэшированию в том смысле, что вы тоже говорите браузеру, типа Chrome, что нужно найти DNS-настройки перед тем, как они на самом деле понадобятся. Благодаря этому «прошиваются» страницы и запросы любых prefetched-доменов, которые еще не кэшируются, и они начинают работать быстрее.

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

Prefetch Google шрифты:

Prefetch Google код (jQuery)

Prefetch Google Analytics

Удаляем Query Strings из статичных ресурсов

Также можно извлечь пользу из удаления query strings из ваших статичных ресурсов, так как они могут приводить к возникновению проблем с прокси кэша и CDN. В WordPress для этого есть парочка опций.

Отредактируйте ваш файл functions.php , чтоб включить туда функцию, которая удалит query strings.

Function _remove_script_version($src){ $parts = explode("?ver", $src); return $parts; } add_filter("script_loader_src", "_remove_script_version", 15, 1); add_filter("style_loader_src", "_remove_script_version", 15, 1);

Если вы используете плагин кэширования типа W3 Total Cache, то у вас есть опция, которая предотвращает создание query strings. Есть бесплатные WordPress-плагины, которые также могут удалить query strings, и это плагины Query Strings Remover и .

3. Внедрение сети доставки содержимого (Content Delivery Network)

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

Загрузка всех ассетов из WordPress CDN

Убедитесь в том, что вы загружаете даже самые мелкие файлы, типа фавикона, из вашей CDN. Если загружено все из CDN, то создается одно единое соединение. Чтобы твикнуть ваш фавикон, просто киньте его в корневой каталог вашей инсталляции WordPress с помощью FTP, а затем добавить следующее в ваш header.php между тегами head.

Как вы видите из примера ниже, загружено 100% ваших ассетов из CDN.

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

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

Отключение и ограничение количества версий постов в WordPress

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

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

Отключение создания версий WordPress-постов

Чтоб отключить создание версии постов в WordPress, вам нужно добавить следующий код в ваш файл wp-config.php . Таким образом вы сначала измените интервал авто сохранения по умолчанию с 60 секунд на 5 минут, а затем и вовсе отключите создание версий записей. По умолчанию останется одно авто сохранение на пост.

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", false);

Также есть бесплатный маленький плагин, который называется Disable Post Revision . Он делает тоже самое без необходимости копаться в коде.

Ограничение количества сохраненных версий WordPress-постов

Чтоб ограничить количество создаваемых версий WordPress-постов, вам нужно добавить следующий код в ваш файл wp-config.php. Таким образом вы измените интервал авто сохранения по умолчанию с 60 секунд на 5 минут и ограничите количество создаваемых версий до трех. Впрочем, вы можете указать любое желаемое количество сохраняемых версий.

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", 3);

Удаление старых версий постов из вашей базы данных

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

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

Предупреждение об ограничении WordPress в 100 сраниц

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

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

Решение? Вам нужно начать использовать кастомные типы записей. Вы можете использовать бесплатный плагин типа Post Type Switcher , если у вас много страниц, и вы хотите конвертировать их в кастомные типы записей.

5. Оптимизируйте картинки, используя компрессию без потерь

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

6. Компрессия Gzip

18. Выберете надежный веб-хостинг

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

О наиболее бюджетных и провернных в .



Рекомендуем почитать

Наверх