- PVSM.RU - https://www.pvsm.ru -

Оптимизации WordPress. Часть 2. Итоги конкурсa «ВПС на год за лучшие идеи!»

В первой части статьи мы рассказали об оптимизации WordPress [1]. Наши читатели продолжили эксперименты и составили расширенный набор рекомендаций, результаты которых опубликованы в этой статье. За это время мы добавили шаблоны для WordPress и Joomla в облачные VPS [2], позволяющие быстро развернуть нужную CMS на мощных и быстрых облачных серверах.

Спасибо всем, принявшим участие в конкурсе. Лучшему автору мы подарим год VPS 1024 от Infobox [3]. Кому из участников конкурса подарить VPS [4] 1024 на год — решаете вы. Голосование в конце статьи. Так же можно принять участие в аналогичном конкурсе по Joomla [5].

Оптимизации WordPress. Часть 2. Итоги конкурсa «ВПС на год за лучшие идеи!» [2]

Под катом советы читателей по оптимизации WordPress (без изменений), ссылка на бесплатное тестирование облачных VPS [4], a так же возможность выбрать лучшего автора.

Советы от пользователя Александра

1. Используем хороший хостинг [6] (а лучше впс купить [3], тем более в последнее время появились очень дешевые тарифы)

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

3. Оптимизируем код, оптимизируем скрипты, оптимизируем изображения.

4. Оптимизируем базу данных плагином Optimize DB [7].

Можно использовать запросы:

DELETE FROM wp_posts WHERE post_type = "revision"     - очистка ревизий постов
DELETE FROM wp_posts WHERE post_status = 'trash'      - очистка корзины

5. Удаляем, а также исправляем битые ссылки — плагином Broken Link Checker [8]

6. Отключаем ревизии постов. Для этого в корне движка найдите файл wp-config.php, откройте его на редактирование и в самое начало, обязательно после тега <?php, вставьте следующую строку:

define('WP_POST_REVISIONS', false);

Или другой вариант отключения ревизий. Необходимо изменить одно из значений с «true» на «0» или «false» в функции wp_functionality_constants(), которая находится в файле /wp-includes/default-constants.php

if ( !defined('WP_POST_REVISIONS') )
define('WP_POST_REVISIONS', false);

7. Отключаем руссификацию админки, путем удаления из файла wp-config.php строки:

define ('WPLANG', 'ru_RU');

Руссификация админки вордпресса использует около 7MB памяти.

8. Отключаем корзину:
wp-config.php. В самое начало, обязательно после тега <?php, вставьте следующую строку:

define('EMPTY_TRASH_DAYS', 0);

9. Обязательно используем плагин кэширования. Рекомендую W3 Total Cache [9].

10. Также, можно отключить проверку обновлений, установив плагин — Disable WordPress Updates [10]
(осторожно, отключение обновлений может крайне негативно сказаться на безопасности сайта)

Дополнения

1. Чтобы узнать нагрузку, которую создает сайт, можно вставить в шаблон следующий код (вставляем в файл темы footer.php)

<?php
echo "Статистика:" . get_num_queries() . "/ "; timer_stop(1);
echo "s/ ". round(memory_get_usage()/1024/1024, 2) . " MB ";
?>

2. Увеличить скорость загрузки большой страницы (с графикой) можно плагином BJ Lazy Load [11]
Данный плагин выполняет загрузку только тех картинок, которые видны на экране. Когда быстро скролишь страницу, то можно будет увидеть, как постепенно загружаются и появляются изображения. Плагин будет постепенно загружать картинки по мере пролистывания страницы, что в свою степень будет сохранять трафик и ускорять загрузку страницы.

3. Очень настоятельно рекомендую создать мобильную версию портала.

4. Рекомендую протестировать сайт вот этим сервисом: http://developers.google.com/speed/pagespeed/insights/ [12]
Данным сервисом можно узнать проблемные места на блоге, которые снижают скорость работы сайта. А также сервис предоставляет рекомендации, и их желательно выполнить.

Советы от пользователя Rail

Клиентская оптимизация

Kартинки можно ужимать до публикации, а верстать шаблон для сайта с применением удобных инструментов как Yeoman [13]/Grunt [14]/Gulp [15] — в таком случае картинки, js и css будут уже изначально ужаты и оптимизированы.

Также рекомендую проанализировать сайт встроенным аудитом в Chrome — F12 -> Audits -> Run
Этот инструмент локальный аналог Google Insights. Например в нем можно увидеть процент неиспользованного css дабы выпилить его.Если на сайте используются сложные JS-эффекты то можно пройтись до вкладки Profiles и нажать Start. В профилировщике можно увидеть сколько % времени отняла каждая js-функция и замерить fps на сайте.

Полезные ссылки:
https://developer.chrome.com/devtools/docs/cpu-profiling [16]
https://developer.chrome.com/devtools/docs/javascript-memory-profiling [17]

CSS в шаблоне стоит размещать ближе к верху страницы, а JS желательно в самом низу.

Серверная оптимизация

Если на сервере крутится небольшое количество сайтов, то есть смысл исключить из стека Apache заменив его на Nginx. Хороший док по настройке Nginx для WP есть в кодексе — http://codex.wordpress.org/Nginx [18]

Для PHP < 5.5 лучше поставить опкешер APC [19] или Xcache [20]. В 5.5 есть уже встроенный опкэшер. У APC и у Xcache в дистрибутиве имеются панели для отображения статуса кэша в реальном в времени (% попадания данных в кэш). Согласно этим данным можно подкрутить настройки кэширования для оптимальной работы.

Также полезным делом будет запустить mysqltuner.pl [21] и подкрутить настройки MySQL-сервера согласно рекомендациям утилиты.

Для ускорения самого WordPress я бы посоветовал немного подкрутить wp-config.php — http://codex.wordpress.org/Editing_wp-config.php [22]. Так к примеру есть возможность прописать название и слоган сайта прямо в конфиге и сэкономить на паре запросов к БД или же включить режим дебага.

Для тестов рекомендую еще вот эти сервисы:
http://tools.pingdom.com/fpt/ [23] — тестирование скорости загрузки
http://loadimpact.com [24] — нагрузочное тестирование

Пробная версия Cloud VPS от Infobox

Для того, чтобы вы смогли попробовать установить и оптимизировать WordPress, мы предоставляем пробную версию Cloud VPS [2] на 15 дней бесплатно. Регистрируйтесь по ссылке [25].

Успешных оптимизаций WordPress!

Автор: infobox

Источник [26]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/proizvoditel-nost/67474

Ссылки в тексте:

[1] оптимизации WordPress: http://infoboxcloud.ru/community/blog/iaas/118.html

[2] облачные VPS: http://infobox.ru/vps/cloud/

[3] VPS 1024 от Infobox: http://infobox.ru/vps/linux/

[4] VPS: https://www.reg.ru/?rlink=reflink-717

[5] аналогичном конкурсе по Joomla: http://habrahabr.ru/company/infobox/blog/232859/

[6] хороший хостинг: http://infobox.ru/hosting/linux/

[7] Optimize DB: https://wordpress.org/plugins/optimize-db/

[8] Broken Link Checker: https://wordpress.org/plugins/broken-link-checker/

[9] W3 Total Cache: https://wordpress.org/plugins/w3-total-cache/

[10] Disable WordPress Updates: http://wordpress.org/plugins/disable-wordpress-updates/

[11] BJ Lazy Load: https://wordpress.org/plugins/bj-lazy-load/

[12] http://developers.google.com/speed/pagespeed/insights/: http://developers.google.com/speed/pagespeed/insights/

[13] Yeoman: http://yeoman.io

[14] Grunt: http://gruntjs.com

[15] Gulp: http://gulpjs.com

[16] https://developer.chrome.com/devtools/docs/cpu-profiling: https://developer.chrome.com/devtools/docs/cpu-profiling

[17] https://developer.chrome.com/devtools/docs/javascript-memory-profiling: https://developer.chrome.com/devtools/docs/javascript-memory-profiling

[18] http://codex.wordpress.org/Nginx: http://codex.wordpress.org/Nginx

[19] APC: http://php.net/manual/ru/book.apc.php

[20] Xcache: http://xcache.lighttpd.net

[21] mysqltuner.pl: http://mysqltuner.pl

[22] http://codex.wordpress.org/Editing_wp-config.php: http://codex.wordpress.org/Editing_wp-config.php

[23] http://tools.pingdom.com/fpt/: http://tools.pingdom.com/fpt/

[24] http://loadimpact.com: http://loadimpact.com

[25] Регистрируйтесь по ссылке: https://store.pa.infobox.ru/index.php?redirect=cloud_2048_trial

[26] Источник: http://habrahabr.ru/post/233309/