Ускоряем Wordpress. Использование кэша и удаление заголовков. Выбор качественно хостинга

Рано или поздно все начинающие веб-мастера сталкиваются с проблемой скорости загрузки страниц сайта. Владельцы сайтов на платформе WordPress не являются исключением. Спустя месяц-два все сайты на WordPress начинают «тупить», причиной того может стать много факторов. В данной статье мы разберем основные причины и способы как ускорить сайт на wordpress.


Навигация по странице:

10 советов по ускорению загрузки сайта на WordPress

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

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

Давайте перечислим как возможно ускорить сайт на wordpress:

  • gZIP сжатие;
  • уменьшаем css и JavaScript;
  • сокращение размера заголовка отзыва;
  • очистка базы данных от мусора;
  • убрать лишний JavaScript;
  • использовать кэширование для статического контента;
  • расположение css и JavaScript;
  • пользуйтесь поддоменами для паралельного скачивания;
  • откажитесь от ненужных плагинов;
  • выберите быстрый хостинг для своего сайта.

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

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

Как проверить включено ли gzip сжатие

Для того что бы проверить включено ли сжатие на вашем сервере можно воспользоваться сайтом whatsmyip.org который покажет сжимаются ли ваши данные и на сколько эффективно.

Если по результатам проверки вы получите следующее:

Значит ваши данные сжимаются и у вас все правильно работает.

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

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

Чем больше у нас на загружаемой странице компонентов, таких как:

  • картинки;
  • скрипты;
  • флеш анимации и т.д.

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

Бывает так, что веб-мастер по незнанию или забывчивости забывает чистить базу данных, которая имеет свойство чрезмерно расти, особенно в WordPress.

Загрязненная БД приведет к огромным задержкам при загрузке, из-за того что количество переборов будет очень велико. Правильно настроена корректировка внесения данных в базу и ее от «шлака» поможет вам сохранить скорость и чистоту, позволит неплохо ускорить сайт на wordpress.

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

Совет 6. Использование кэширования позволит как ускорить сайт на wordpress

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

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

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

Совет 7. Правильно располагайте ваши css и JavaScript включения.

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

В то же время Google рекомендует опускать все файлы стилей вниз документа, якобы они мешают загрузке контента, по сути так оно и есть. Что же выбрать в данном случае? Этот спор поможет решить небольшой эксперимент. Если у вас «тяжелый» CSS файл, с огромным количеством правил, и при загрузке страницы сайта, все элементы прыгают, тогда размещайте в хедере, если же при расположении подключения стилей в футере ничего такого не происходит, тогда лучше оставить его внизу. Нужно из двух зол выбирать меньшее.

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

Совет 8. Пользуйтесь поддоменами для параллельного скачивания

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

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

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

Представлена отдельно.

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

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

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

Привет, друзья! Сегодня я бы хотел написать о том, как ускорить wordpress. Вы узнаете 10 способов, которые помогли моему блогу работать в несколько раз быстрее.

Для чего нужно ускорять блог?

2. Запретите обновления сайта.
У вас установлен wordpress и много плагинов. Все эти плагины и сам движок время от времени обновляются. И сайт начинает искать эти обновления в интернете. Таким образом, скорость вашего сайта уменьшается. Чтобы этого не было, я советую запретить обновления блога. Для этого есть разные плагины, но ми не будем ставить плагин, а воспользуемся вод таким кодом.

// обновления wordpress
add_filter ("pre_site_transient_update_core",create_function ("$a", "return null;"));
wp_clear_scheduled_hook ("wp_version_check");
// обновления плагинов
remove_action ("load-update-core.php", "wp_update_plugins");
add_filter ("pre_site_transient_update_plugins", create_function ("$a", "return null;"));

Этот код нужно вставить в файл functions.php в самый низ перед вод таким знаком ?>

3. Отключите ревизию постов и удалите корзину.
Например, вы написали статью в блог. Через некоторое время решили ее отредактировать. После этого увеличивается количество ревизий поста. А все эти ревизии нагружают базу данных. Точно также, все статьи, которые вы удалили, автоматически попадают в корзину. И опять же, увеличивается нагрузка на базу. Если вы решили удалить пост, значит, он вам не нужен. И корзина также не нужна.

А теперь обо всем по порядку. Для того, чтобы отключить ревизии, зайдите в wp-includes — default-constants.php
и замените там строчку

define ("WP_POST_REVISIONS", true);

define ("WP_POST_REVISIONS", false);

Чтобы отключить корзину, откройте файл wp-config.php и пропишите там строчку

define ("EMPTY_TRASH_DAYS", 0);

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

/** Имя базы данных для WordPress */
define ("EMPTY_TRASH_DAYS", 0); /** удаления корзины */
define ("WP_CACHE", true); /** кэширования */
define ("DB_NAME", "a40210_site");

4. Оптимизируйте базу данных для ускорение сайта.
Для этого есть замечательный плагин Optimeze DB . Скачайте его, установите, а потом активируйте. Дальше зайдите в Панель управления — плагины и нажмите на кнопку «optimize» Потом плагин можно деактивировать, чтобы он не нагружал сайт. И, примерно раз в две недели можете его активировать и нажимать на кнопку «optimize» .

И еще один совет. Не забывайте указывать ширину и высоту картинки. Так она будет быстрее загружаться.


Вод так неправильно:

А вод так правильно:

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

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

7. Оптимизируйте файл style.css для ускорение сайта.
Для этого нужно перейти на сайт styleneat.com и загрузить или скопировать и вставить туда свой файл стилей. Этот сайт поможет сжать файл, и таким образом стили будут загружаться намного быстрее, а значит и увеличиться скорость сайта. Но перед тем, как сжимать файл, я советую сделать его копию, поскольку после сжатия, сайт может отображаться не совсем правильно.

8. Защитите блог от спама
Это также очень важно для ускорение wordpress. Если спамеры будут сильно атаковать сайт, то это увеличить нагрузку на сервер и соответственно снизится скорость ресурса. Для того, чтобы от спама есть очень много плагинов. Я, например, установил Akismet , и мне его вполне хватает.

9. Перенесите все скрипты с header.php в footer.php
У каждого сайта есть очень много разных скриптов. Возможно, вы установили, какую-то статистику для сайта, или или еще что-то. Так вот, в инструкции по установлении скриптов часто советуют, что нужно вставлять код в файл header.php перед тегом . Иногда это действительно необходимо, но не всегда. В большинстве случаев коды лучше вставлять в файл foter.php перед тегом

Дело в том, что header.php это верх сайта, а footer.php низ. Сначала загружается верх, а потом соответственно низ. Так вот, чем меньше будет разных скриптов в файле header.php, тем блог будет быстрее грузиться. Поэтому, перенесите все скрипты с файла header.php в footer.php

10. Выберите быстрый хостинг.
Этот пункт, наверное, нужно было бы написать самим первым для ускорение wordpress, поскольку хостинг очень сильно влияет на загрузку любого ресурса. Я, например, выбрал для своих сайтов Макхост.
Он очень быстрый и дешевый. А самое главное то, что технична поддержка онлайн. Я очень часто задаю им разные технические вопросы, которые даже не касаются работы хостинга и ребята всегда отвечают. Они даже сами удалили вирус с моего сайта;-).

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

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

Ну что же, наверное, все что касается вопроса: «Как ускорить wordpress?» Надеюсь, вам понравилась статья;-). Если вы знаете еще какие-нибудь способы для ускорение сайта, то поделитесь в комментариях;-).

Скорость работы сайта очень важна не только для пользователей, но и для поисковых систем, которые в свои алгоритмы включили и данный показатель. Если ваш ресурс грузится, к примеру, секунд 10 и страница «весит» много, есть все шансы, что сайт или определенная продвигаемая страница не попадет в ТОП-10. По мнению Googleи любых других крупных поисковых систем этот показатель очень важен, особенно сейчас – в 2014 году, когда у вебмастеров имеется куча инструментов для «облегчения» сайта в пару кликов и быстрый интернет повсюду.

Самыми легкими являются сайты на голом HTML, но их функциональность оставляет желать лучшего. Используются ресурсы подобного рода уж в очень специфических ситуациях, когда предполагается, что контент менять в ближайшие годы не придется. Например – сайт какой-то фирмы с описанием услуг и телефоном, сдает хозяин 3 квартиры, их фото поместил на 1-2 страницы и оставил свои телефоны. Что ещё нужно потенциальному клиенту, особенно, если речь идет о небольшом городе…

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

Эта CMS полностью бесплатна и имеет огромное сообщество, сможет любой человек, даже если ранее HTML в глаза не видел. Инструкция проста до безобразия, а некоторые хостинг-провайдеры и вовсе устанавливают этот и другие CMSв один клик из панели управления хостингом. При должной настройке WordPress-ресурс будет просто летать, но у большинства людей с этим возникает проблема. Казалось бы – сайт выглядит совершенно обычно и ничего сверхъестественного на его просторах не происходит, а грузятся страницы долго, причем с любой точки мира.

С этой проблемой сталкивался и я. Сегодня расскажу вам, каким образом можно настроить и ускорить WordPress для того, чтобы страницы «весили» минимально и открывались практически моментально. Эта статья по ускорению ВордПресса рассчитана на новичков, есть методы с копанием в коде, настройкой баз данных и отдельных элементов, но люди, разбирающиеся в этом, не нуждаются обычно в наглядных инструкциях. Я расскажу все поэтапно для тех, кто только-только начал осваивать WordPress.

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

Проверка скорости работы сайта сервисом WebWait

Адрес сервиса webwait.com

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

Как видите, я проверил 2 ресурса. Первый – известный в кругах «вордпрессеров» ресурс, на котором распространяют модули, темы и многие другие полезные «плюшки» для данной CMS, второй сайт – одностраничный сайт на WordPress с минимумом графики и текстом. Показатели хорошие у двоих – 2.45 считается нормальным временем, если у вас 3-4 и более секунды, тогда читайте далее, на что же обратить внимание и как ускорить WordPress с помощью специальных инструментов.

Переходим к «ускорению» WordPress:

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

Больше всего «грузят» систему всевозможные эффекты и «бирюльки» у шаблонов, иногда эти самые эффекты просто выполнены «кривым» способом, так что обратите свое внимание на то, чтобы шаблон был с минимумом таких элементов, а за большую часть «красоты» отвечал CSS. В случае с моим «пациентом», которого я привел выше, можно заметить – просто «левый» сайт на этой CMSс минималистичным шаблоном грузится куда быстрее, чем «папа» wordpress.org, вы можете добиться того же с минимальными усилиями, просто скачав подходящий шаблон и вырезав из него все лишнее.

Мой данный сайт грузится вот так

Как видите меньше двух секунд это хороший показатель и советую вам стремится к нему.

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

Согласно последним исследованиям компании Microsoft, время ожидания пользователями загрузок страниц сократилось с 12 секунд до 8 секунд, люди стали более нетерпеливыми. Более того, как показали исследования, 40% пользователей покинут ваш ресурс, если он загружается дольше 3 секунд. Поэтому оптимизация и ускорение WordPress просто необходимо.

1. Оптимизация WordPress и регулярное пополнение собственной базы данных.

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

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

  • Ревизия постов: Функция «Ревизия постов » быстро заполняет базу данных, после чего интернет-проект начинает работать медленно. Каждый обновленный пост сохраняется в базе данных. Так база данных заполняется. Данную функцию можно либо отключить совсем, либо ограничить. Чтобы ограничить ревизии, нужно в файл настроек wp-config.php добавить следующие строки:
define("AUTOSAVE_INTERVAL", 300); //секунды define("WP_POST_REVISIONS", 5);

После изменений кода WordPress хранит максимум 5 изменений поста и только 5 минут. В случае необходимости можно снова включить функцию «Ревизия постов».

  • Если нет желания менять код для файла wp-config.php, можно установить плагин — Revision Control или плагин для удаления ревизии постов— WP Clean Up . Тогда оптимизированный WordPress автоматически начнет управлять ревизиями постов. Более подробно как установить и управлять можно .
  • Ссылки на блог и трекбэки : ссылки на блог и трекбэки также могут заполнить базу данных. Их тоже можно отключить. Это можно сделать так: Настройки/Обсуждение/Разрешить оповещения с других блогов (уведомления и обратные ссылки) на новые статьи
  • Комментарии в блоге : Комментарии в блоге — это совсем не плохо, но только если это не тысячи спам-комментариев, которые занимают место в базе данных. Обязательно нужно регулярно удалять такие комментарии, чтобы не «засорять» базу данных.
  • Плагины. Некоторые плагины собирают данные и загружают их в базу данных. Сначала они кажутся полезными, но на самом деле просто занимают много места. Например, один плагин может использовать до 160 мб. пространства базы данных. Это только один плагин! А если их несколько?
  • Аналитика и регистрации. С осторожностью нужно относиться к плагинам, которые анализируют историю и регистрацию данных на веб-проекте. В основном они используют большой объем базы данных, что может привести к медленной работе страницы и ухудшит оптимизацию WordPress.
  • Можно установить плагин WP-Cleanup и использовать его для чистки и оптимизации базы данных.
2. Оптимизация изображений в WordPress.

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

Существует 2 способа оптимизации собственных картинок:

· регулярно оптимизировать и уменьшать размер фотографий; это можно делать без ухудшения качества фото;

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

Кстати если у вас большое количество изображений, можете воспользоваться кодом купона скидки для платного режима и скидкой 5%, копируйте код dSAdDeN2xj7_Nr9B1LH68MoyeuJxMeUY

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

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

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

3. Использование кэша и удаление заголовков.

Большинство веб-ресурсов на WordPress могли быть вдвое быстрее, если бы использовали кэширование.

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

Для эффективного использования кэширования, можно использовать плагин, который я сам использую WP Super Cache . Этот плагин ускоряет загрузку WordPress и оптимизация получается за счет того, что сохраняет уже готовые страницы на диск сервера. Благодаря чему при запросе страницы браузером, блогу не надо каждый раз формировать страницу с нуля. В случае стандартной загрузки ему надо сделать много запросов к базе, обработать программу на PHP и так далее. С кэшом же выдаётся уже готовый результат, сразу.

Кэширование позволяет заметно увеличить скорость работы вашего блога. Было установлено, что возможность полного кэширования может ускорять работу блога на WordPress от 2.4 секунды до 900 миллисекунд.

После включения кэширования, можно также включить модуль истечения времени заголовков, это модуль http сервера Apache mod_expires . Эта оптимизация позволит увеличить скорость работы WordPress, оповестив браузеры посетителей, когда запрашивать определенные файлы с сервера. И засталя его хранить файлы в браузере пользователя нужное время. Модуль mod_expires может сэкономить ресурсы сервера и значительно увеличить скорость открытия страницы. Подробно какие писать записи в.htaccess для активации модуля и правильной его настройки, читайте в статье " ". У нас на хостинге , этот модуль включен по умолчанию для всех веб-сайтов. Тем самым уже изначально улучшая их оптимизацию.

4. Включение GZIP Compression через mod_deflate .

Какой самый популярный инструмент для сжатия файлов к формату Zip на компьютере? 7-Zip? WinRar? Многим приходилось сжимать файлы и наблюдать удивительную эффективность, когда файл размером от 200 Мб уменьшается до размера в 40 Мб? Как это происходит? Разве невозможны подобным образом технологические сжатия? Все возможно, можно сделать так и для блога, и тем самым обеспечить его быструю работу и отличную оптимизацию.

GZIP Compression помогает сжимать файлы страницы в формат Zip, и передавать целиком посетителям, за счет этого достигается оптимизация скорости загрузки. Для этого используется модуль http сервера Apache mod_deflate . Другими словами, посещаемость интернет-страницы та же, но сам блог работает быстро, так как посетителей обслуживает сжатая версия.

Мы проверили веб-ресурс, который был сжат с помощью GZIP Compression от 68 кб до 13 кб, Worpress ускорил свою загрузку в 5 раз.

Как запустить и настроить этот модуль на хорошем хостинге , такой как наш, описано в статье " ".

5. Использование CDN .

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

Скорость загрузки контента страницы зависит от того, где размещен хостинг, на котором располагается веб-проект. Например, если хостинг размещен в Индии, а вход происходит, например, из США, то сайт будет грузиться медленнее, чем если бы это происходило бы в Индии. Как выйти из такой ситуации? Люди с ограниченной скоростью доступа в интернет, для ускорения загрузки сайта могут воспользоваться сервисом CDN.

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

6. Оптимизация и изменение темы WordPress.

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

7. Объединение заднего фона изображения с перемещаемым спрайтом.

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

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

8. Использование только несинхронных вызовов для кодов JavaScript.

Замечали, что при зависании Facebook, остальные веб-ресурсы начинают работать заметно медленнее? Что интересно, этого не происходит, когда загружаются коды Facebook. Подобное случается, когда используются синхронные коды с других сайтов — особенно аналитики или трекинг. Если код установлен синхронно на WordPress, сначала загружается он — в зависимости от части кода — перед загрузкой других элементов сайта.

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

Подробно, что это такое, можно .

9. Включить HTTP Keep-Alive.

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

У нас поддержка Keep-Alive включена для всех клиентов бесплатно!

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

10. Использование лучшего хоста.

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

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

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

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

Прежде чем заниматься ускорением 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 можно , все материалы на английском языке.