- PVSM.RU - https://www.pvsm.ru -
В первой части статьи мы рассказали об оптимизации WordPress [1]. Наши читатели продолжили эксперименты и составили расширенный набор рекомендаций, результаты которых опубликованы в этой статье. За это время мы добавили шаблоны для WordPress и Joomla в облачные VPS [2], позволяющие быстро развернуть нужную CMS на мощных и быстрых облачных серверах.
Спасибо всем, принявшим участие в конкурсе. Лучшему автору мы подарим год VPS 1024 от Infobox [3]. Кому из участников конкурса подарить 1024 на год — решаете вы. Голосование в конце статьи. Так же можно принять участие в аналогичном конкурсе по Joomla [5].
Под катом советы читателей по оптимизации WordPress (без изменений), ссылка на бесплатное тестирование облачных
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]
Данным сервисом можно узнать проблемные места на блоге, которые снижают скорость работы сайта. А также сервис предоставляет рекомендации, и их желательно выполнить.
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] — нагрузочное тестирование
Для того, чтобы вы смогли попробовать установить и оптимизировать 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/
Нажмите здесь для печати.