Я всегда хотел создать подобную страницу и записывать свои действия по оптимизации скорости и юзабилити сайтов, которые поддерживаю, но никак не мог найти время на это. Тут будут собраны правки кода в популярных  плагинах, настройка кеширования, параметры  htaccess и в таком духе (с миру по нитке — присоединяйтесь в комментариях).

Предисловие

WordPress — очень мощный движок для сайтов, сейчас он поддерживает и располагает в своём арсенале:

  • мультисайтовость;
  • один из лучших WYSIWYG редакторов для записей и страниц;
  • неограниченные таксономии, форматы и шаблоны записей;
  • тысячи бесплатных и платных плагинов и столько же тем оформления.
Львиная доля сайтов на WordPress — это блоги и визитки компаний. Вторые можно приравнять к статичным сайтам, так как новости компании и структура сайта сохраняется на довольно долгий период.
При грамотной настройке такие сайты можно не обновлять по полгода и дольше. Также все мы прекрасно знаем, что скорость работы ресурса и загрузки его страниц играют немаловажную роль в выдаче Яндекс и Google.
Оптимизаторы за тонкую настройку сайта берут от 200 до 1000 долларов, поэтому попробуем немного сэкономить и разобраться, как сделать свой сайт быстрым и удобным.

Факторы

На скорость  сайта на Wordpress влияют в порядке убывания:
  • качество хостинга (в Украине могу советовать — Украина[мой сайт тут] и Hostpro);
  • качество дизайна сайта (советую собрать немного денег и купить платную тему тут);
  • количество установленных плагинов и их качество;
  • настройка самого сайта.
Касательно плагинов могу привести самый яркий пример. Вам нужно сделать таблицу с прайсом, идеальное решение — WP Table Reloaded или Websimon Tables (примеры реализации), но таких страниц у нас 2-3 на весь сайт, а CSS и JS для поддержки таблиц загружается на всех страницах сайта(больше 100 кб).
Три четыре таких плагина и Ваша страница уже весит более 500 кб, не считая картинок, дизайна и текста.

Советы по оптимизации сайта на WordPress

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

Это минимальный набор, все плагины бесплатные. По поводу Use GL — активируйте его первым, затем активируйте тему оформления, и остальные плагины, иначе могут быть большие «глюки».


Как использовать Leverage browser caching с помощью htaccess ?


Это позволит использовать кеш браузера по максимуму. В файл .htaccess добавляем:

ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 3 day"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 2 day"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"


Подключаем WP-Table Reloaded 1.9.3 только на определённых страницах


Ищем файл controller-frontend.php в папке controllers. В нём находим строку function __construct() {. Сразу после фигурной скобки добавляем:

global $post;

Затем находим if ( $this->options[‘enable_tablesorter’] ) { и перед этой строкой вставляем:

if (!isset($post->ID) || !in_array($post->ID, array(2, 15, 53, 89))) return;

Где 2,15,53,89 — это ID страниц, на которых Вы хотите загружать файлы плагина.


Использование специфического CSS или JS только в определённых постах


Вы можете использовать любой CSS или JS код в постах и страницах с помощью мета-боксов. Для этого почитайте эту статью — Способ вставить CSS или JS в пост

Загружать стили и скрипты Quform только на определённых страницах


Те, кто приобрёл конструктор форм для WordPress Quform могут сократить вес страниц сайта и загружать файлы конструктора только на определённых страницах сайта (экономия до 200 кб). Для этого:
1. Находим файл iphorm-form-builder/includes/common.php . В этом файле находим функцию function iphorm_enqueue_styles().  После открывающей фигурной скобки функции добавляем:

global $post;
if (!isset($post->ID) || !in_array($post->ID, array(1, 5, 3, 9))) return;

Где 1, 5, 3, 9 — ID записей, где будут загружаться файлы Quform. После обновления плагина — повторяем действия с новым файлом.


Хотел коротко написать, но получилось как всегда  …дальше будет

Сейчас другие читают: