Розганяем WordPress: 6 головних кроків

Швидкість і відмовостійкість — одні з тих причин , що постійно впливають на популярність вашого ресурсу, так як навіть з найкращим в світі контентом повільно працює інтернет-сайт буде дратувати читачів і рано чи пізно ви їх втратите . У даній замітці ми будемо оптимізувати самий-самий знаменитий блогових движок — WordPress, що працює на PHP. А попутно оглянемо кілька загальних моментів в оптимізації сайтів .

1 Тестуємо поточну швидкість

Щоб з’ясувати змінилося чи що -небудь після нашої оптимізації, НЕ завадить міряти для початку поточну швидкість завантаження сторінок блогу, щоб було з чим порівнювати . Є кілька інструментів , які допоможуть зробити це :

1.1 Pingdom

Pingdom проводить швидке і наочне тестування швидкості завантаження всіх частин на сторінці і дає підсумки в вигляді зручної діаграми, де можна подивитися , які складові інтернет-сайту завантажуються повільніше ніж потрібно і інші проблемні області.

Бенчмарк одного досить відомого ресурсу.1.2 YSlow

YSlow- плагін для Firefox, кой вбудовується в, напевно найкращий плагін для інтернет розробника , Firebug. Він досліджує більш 20 причин , які впливають на швидкість роботи інтернет-сайту і оцінює загальну продуктивність по 100 бальній системі, а кожен одиничний елемент оцінкою від A до F.

1.3 Кількість запитів і час їх виконання

Вставивши невеликий шматок PHP коду, можна вивести в футер кількість запитів до БД і час, витрачений на їх виконання .
queries in seconds.

2 Web Hosting

Хостинг 1 з важливих деталей , що впливають на продуктивність блогу. Чи не вдаючись у деталі , ось зовсім звичайна характеристика найбільш популярних типів хостингу, коия допоможе вам приблизно оцінити навантаження на сервер:
Shared Hosting — на одному сервері має можливість хоститься в середньому біля 100 чоловік;
VPS — на одному сервері має можливість хоститься біля 20 чоловік;
Dedicated — сервер стане використовуватися лише вами.Щоб помічати приблизну навантаження на сервер, залогініться через ssh і введіть в консолі команду top.Це , природно , НЕ означає , ніби ви НЕ зможете прискорити блог, який працює на віртуальному хостингу (Shared Hosting), але варто пам’ятатипродуктивність тим більше , ніж великі ресурси ми володіємо в власному розпорядженні .Чи не останню роль грає ще й географічне положення сервера, тому постійно необхідно приблизно представляти власну цільову аудиторію. Наприклад , якщо це російськомовні користувачіНЕ варто брати американський хостинг і т.д.

3 Установка і налагодження сервера

Переконайтеся , запланована навантаження підходить потужності сервера і він зуміє з нею впоратися . В першу чергу це буде залежати від розміру оперативної пам’яті і процесора. Як правило , WordPress встановлюють на Apache, але чимало успішних рішень є і на базі інших http серверів: nginx, lighttpd і т.д.Чи не нехтуйте оновити до останньої версії 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 на ім’я вашого домену, щоб вимкнути впровадження хотлінк:

RewriteEngine on
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Http: // (www .)? Example .com /.*$ [NC]
RewriteRule. * . (Gif | jpg | png | ico) $ — [F, L]

4.2 Застосовуйте зовнішній хостинг для збереження зображень

Хостинг зображень на зовнішніх серверах безсумнівно допоможе істотно знизити навантаження на сервер. У зразку нижче ви зможете бачити зниження розміру використовуваної оперативної пам’яті на одному з блогів після перенесення зображень на сервіс Amazon S3.

4.3 Стискуйте java-скрипт код

Стиснення javascript досить звичайна завдання . Так як він проводиться при будь-якому перегляді сторінки , ви зможете зменшити розмір Javascript, видаливши всі незаповнені місце . Ось звичайний апарат , кой безсумнівно допоможе зробити це за вас — JavaScript Compressor.

4.4 Javascript в джерелі сторінки

Нерідко трапляється так , що інтернет-сайт починає завантажуватися повільно або взагалі зупиняється , тому що інший ресурс, з якого викликається javascrip, НЕ доступний або оффлайн. Щоб уникнути цього винесіть цілий javascript код в кінець сторінки , а то що згідно якимось факторам перенести Ніяк не вийшлоспробуйте укласти в iFrame.

4.5 Застосовуйте кеш браузера

Сам по собі кеш браузера, природно Ніяк не влаштує ваш блог, але безсумнівно допоможе знизити навантаження на сервер, кешіруя нерідко завантажуються об’єкти (стилі, складові інтерфейсу і т.п.).
Спробуйте вставити наступний код в .htaccess файл:
FileETag MTime Size

<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 [678] no-gzip
BrowserMatch bMSIE! no-gzip! gzip-only-text / html

4.7 Застосовуйте CDN для статичних файлів

Якщо берегти все зображення на одному і тому ж домені, то браузер стане чекати їх завантаження 1-го за іншим . Припустимо на сторінці їх у вас є 12 штук , якщо ви поділіть їх між 3-ма піддоменами, вони стануть завантажуватися відразу з 3-х « різних » джерел замість того , щоб завантажуватися браузером по черзі з 1-го .
Можете випробувати винести все 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 Скоротіть кількість запитів

Приберіть непотрібні вимоги , щоб прискорити генерацію сторінки .

6 WordPress Plugins

І наостанок пропоную вашій увазі кілька плагінів, які мають всі шанси наростити продуктивність wordpress. Як тільки все, описане вище , буде зроблено , дані плагіни допоможуть досягти ще більш високої продуктивності.WP Super Cache
Напевно , найкращий плагін до WordPress. WP Super Cache творить статичні html версії всякої сторінки і завантажує їх кожен раз, обходячись тим самим у відсутності запитів до БД. Це істотно підсилює швидкість завантаження сторінок і знижує навантаження на сервер. Строго рекомендовано до встановлення .PHP Speedy WP
Даний плагін вирішує іншу проблему , позначену в даній замітціусунення незаповненого місця в CSS & javascript. Але є якісь труднощі порівнянності даного плагіна з WP Super Cache, не рахуючи такого він тривалий час вже ніяк НЕ оновлювався, тому застосовуйте на власний страх і ризик.Optimize DB
Плагін дозволяє поліпшити таблиці MySQL без підтримки PHPmyadmin.

Розганяем WordPress: 6 головних кроків
Оцініть статтю

Маєте власну думку? Поділіться з усіма!

Всі коменти проходять модерацію *