Одна з важливих частин у роботі над сайтом – прискорення завантаження сторінок. Швидкість завантаження є одним із критеріїв пошукових систем щодо ранжування сайтів.
Ще одна важлива частина роботи над сайтом – безпека. Cloudflare – один із найкращих сервісів для прискорення та захисту сайту.
У безкоштовній версії Cloudflare пропонує базовий захист від DDoS атак, підключення до CDN зі 180 дата-центрами у 80 країнах і SSL сертифікат.
У цій статті докладний опис, як підключити Вордпресс сайт до Cloudflare CDN за допомогою офіційного плагіна або за допомогою плагіна W3 Total Cache.
Що таке Cloudflare і що він може робити
Cloudflare – це DNS сервер, мережа доставки контенту (CDN, Content Delivery Network) і файрвол, який фільтрує шкідливі запити. Ці сервіси прискорюють сайт і забезпечують його безпеку.
Читайте також:
Коли ви підключаєте сайт до Cloudflare, увесь трафік починає йти через CDN мережу Cloudflare, у результаті чого ви отримуєте:
- Більш швидке завантаження сторінок – Coudflare кешує сайт на своїх серверах і відвідувачі сайту отримують сторінки з географічно найближчого сервера.
- Зменшує трафік на вашому сервері – сторінки сайту доставлятимуться відвідувачам з різних серверів, тому навантаження на ваш сервер знизиться.
- Безпечний трафік – Cloudflare очищає трафік від ботів та інших небезпечних джерел трафіку.
- Посилена безпека – Cloudflare пропонує файрвол на рівні DNS сервера, захист від DDoS атак і безкоштовний SSL сертифікат. У безкоштовній версії – тільки базовий DDoS захист і SSL сертифікат.
Cloudflare прискорює сайт і посилює його безпеку.

Як Cloudflare використовує DNS для своєї роботи
Cloudflare пропускає весь трафік через свій DNS сервер і направляє його на ваш сайт.
DNS сервер (Domain Name System) – це система, яка пов’язує доменне ім’я сайту з IP адресою вашого сервера.
Ви пишете адресу сайту в адресному рядку браузера, після цього DNS знаходить пов’язану з цією URL-адресою IP-адресу. Деякі називають DNS “телефонною книгою інтернету”.
Щоб направляти цей трафік, DNS використовує кілька типів записів, які називаються nameservers:
- A – містить IP адресу (адреси) домену та субдоменів;
- MX – вказує, куди мають доставлятися е-мейл повідомлення для домену;
- TXT – дозволяє зберігати додаткову інформацію, наприклад SPF для верифікації е-мейла;
- CNAME – дає змогу робити редиректи з одного субдомена на інші домени / субдомени.
Cloudflare додає себе в цей процес як DNS-сервер для вашого домену.
У підсумку це дає змогу Cloudflare обробляти вхідний трафік, тобто:
- Перевіряти вхідний трафік на безпеку, і
- Перенаправляти цей трафік на найближчий до відвідувача сервер для прискорення завантаження сторінок.
Ви також можете використовувати Cloudflare тільки як DNS-сервер, і не використовувати функції CDN і безпеки.
Як налаштувати Cloudflare за 5 хвилин
Підключення сайту до Cloudflare займає 5 хвилин і не вимагає кодування або інших спеціальних знань.
- Створіть обліковий запис у Cloudflare
- Додайте ваш сайт і дозвольте Cloudflare просканувати його DNS записи
- Виберіть тариф
- Підтвердіть записи, або змініть, якщо потрібно
- Замініть DNS записи на вашому сайті на DNS записи Cloudflare
Кожен крок детально:
1. Створіть обліковий запис у Cloudflare
Зайдіть на cloudflare.com і створіть новий акаунт:

2. Додайте ваш сайт на Cloudflare
Після того як ви створили акаунт, Cloudflare запропонує вам додати сайт.

Вставте ім’я домену та натисніть Add site. На наступному кроці Cloudflare просканує DNS вашого сайту, натисніть Next:

Сканування DNS записів може зайняти 1-2 хвилини.
3. Виберіть безкоштовний тариф
На наступній сторінці виберіть тариф. У цьому прикладі ми будемо використовувати безкоштовний тариф.

Натисніть Confirm plan, на наступній сторінці Confirm.
4. Підтвердіть або змініть DNS записи в Cloudflare
На наступній сторінці ви можете вибрати, які записи будуть проходити через Cloudflare, а які будуть обходити.
Зазвичай на цій сторінці нічого не потрібно робити. Перевірте, що навпроти імені домену стоїть помаранчева іконка.

Залежно від налаштувань вашого сайту, ви можете перевірити, що:
- Ви бачите MX записи для е-мейлів (якщо є). Cloudflare не надсилає MX-записи через свою мережу.
- Субдомени, які ви використовуєте, включені або виключені з Cloudflare, залежно від того, як ви хочете.
Якщо все в порядку натисніть Continue.
5. Змініть ваші DNS записи на хостингу на DNS записи Cloudflare
На цій сторінці Cloudflare пропонує замінити ваші поточні DNS записи на DNS записи Cloudflare.

Перейдіть на сайт, де зареєстровано ваш домен, і змініть DNS записи.
Якщо домен зареєстровано на хостингу, зайдіть на хостинг. Якщо на сайті-реєстраторі, то зайдіть в адмін-панель реєстратора.
На хостингах це робиться в розділі Управління DNS.
Шукайте детальну інструкцію в документації вашого хостингу або реєстратора. Якщо ви не знаєте, як це зробити, зверніться до техпідтримки хостингу або реєстратора.
Після того, як ви змінили і зберегли DNS записи, поверніться на Cloudflare і натисніть Continue.
Процес зміни адрес може зайняти до 24 годин. Зазвичай це відбувається за 15 хвилин, і весь цей час сайт залишається доступним.
Після того, як DNS адреси зміняться, ви побачите Консоль Cloudflare.

Тепер весь трафік на сайт йде через DNS сервер Cloudflare.
Підключення Вордпресс до Cloudflare за допомогою офіційного плагіна
У Cloudflare є безкоштовний плагін для підключення до Вордпресс:
- Плагін дає змогу зробити потрібні налаштування в один клік
- Додає потрібні правила для файрволу
- Дозволяє автоматично скидати кеш, коли ви оновлюєте контент
- Дозволяє змінювати налаштування Cloudflare без необхідності відвідування адмінки Cloudflare
1. Встановіть і активуйте офіційний плагін
Встановіть плагін Cloudflare з репозитарію Вордпресс. Налаштування плагіна знаходяться в Налаштуваннях – Cloudflare. Натисніть на посилання, щоб підключити акаунт:

На наступному екрані введіть ваш е-мейл і API ключ.

Щоб знайти API ключ:
- Зайдіть в адмінку Cloudflare
- Клікніть на акаунт у правому верхньому куті
- Клікніть My Profile
- Спустіться вниз до розділу API Keys
- Натисніть View навпроти Global API Key, введіть пароль, скопіюйте API ключ

Вставте ключ у поле API Key у налаштуваннях плагіна на вашому сайті.
2. Увімкніть автоматичні налаштування
На сторінці Home ви можете зробити автоматичні налаштування в один клік. Натисніть Apply, плагін застосує потрібні налаштування. Список усіх налаштувань.

Це базові налаштування, після цього потрібно зробити кілька налаштувань в адмінці Cloudflare.
Підключення Вордпресс до Cloudflare за допомогою W3 Total Cache
Деякі плагіни кешування можуть під’єднати сайт до мережі Cloudflare, W3 Total Cache один із них.
1. Увімкніть модуль Cloudflare у розділі Extensions
Натисніть Activate для ввімкнення модуля Cloudflare:

Після активації модуля натисніть Settings для переходу на сторінку налаштувань модуля.
2. Авторизуйтеся в акаунті Cloudflare
Натисніть Authorize, у вікні, що з’явилося, додайте е-мейл і API ключ.

У наступному вікні виберіть Зону. Зона означає ваш сайт. На безкоштовному тарифі Cloudflare ви можете додати тільки одну Зону / Сайт.
Те ж саме можна зробити в розділі CDN:

3. Зробіть базові налаштування Cloudflare
Після підключення акаунта Cloudflare до W3 Total Cache зробіть ці налаштування:


Залиште налаштування за замовчуванням або замініть на свої.
4. Налаштування обробки контенту
Увімкніть завантаження JS після завантаження основного контенту, і увімкніть мініфікацію js, css і html.
Мініфікацію та об’єднання в розділі W3 Total Cache Performance – Minify потрібно відключити.

У деяких випадках мініфікація та об’єднання працюють краще з плагіном, ніж з Cloudflare. Спробуйте обидва варіанти.
5. Обробка зображень
Увімкніть захист від використання ваших зображень на інших сайтах.

Оптимізація зображень для мобільних пристроїв і стиснення зображень доступні на платних тарифах Cloudflare.
6. Захист
Налаштування безпеки. Залиште значення за замовчуванням Medium або замініть на High:

WAF-Файрвол і просунутий захист від DDoS атак доступні на платних тарифах.
7. IP
Увімкніть підтримку IPv6:

8. SSL
Виберіть ваш варіант підключення:

Якщо у вас є або ви можете встановити SSL сертифікат, виберіть значення Full або Strict.
Якщо сертифіката немає, то встановіть Flexible.
Детальніше про це налаштування в наступному розділі.
Додаткові налаштування Cloudflare
У налаштуваннях Cloudflare ви можете зробити кілька налаштувань.
- Зробіть налаштування SSL
- Додайте примусове використання HTTPS на всьому сайті
- HTTP Strict Transport Security (HSTS)
- Мінімальна версія TLS
- Додайте 3 правила
- Правила файрволу
- Додайте двофакторну авторизацію
1. Зробіть налаштування SSL
У розділі Crypto (UPD. Зараз SSL/TLS) є кілька налаштувань SSL:

Off – Без активного сертифіката. Не рекомендується
Flexible – Трафік захищений між відвідувачем і Cloudflare, але не захищений між Cloudflare і сайтом
Full – Захищене з’єднання між відвідувачем і Cloudflare та Cloudflare і сайтом
Full (strict) – те ж саме, що Full, але з можливістю аутентифікації
Які опції використовувати:
- Якщо у вас уже є сертифікат, або ви можете його встановити, використовуйте одну з опцій Full (залежно від типу сертифіката, який ви використовуєте).
- Якщо ви не можете встановити SSL сертифікат, використовуйте опцію Flexible. Cloudflare встановить свій безкоштовний сертифікат, і сайт відображатиметься із “зеленим замком”.
Якщо ви використовуєте безкоштовний сертифікат від Let’s Encrypt, ви можете зіткнутися з проблемою, що сертифікат не перевипускається автоматично.
Ви можете спробувати вимкнути A-Записи на Cloudflare, щоб Let’s Encrypt отримував IP адресу сайту, а не Cloudflare.

Навіть якщо це спрацює, вам доведеться це робити кожні 3 місяці.
Замість цього ви можете отримати безкоштовний сертифікат Cloudflare, якщо виберете налаштування Flexible.
2. Додайте примусове використання HTTPS на всьому сайті
Увімкніть “Завжди використовувати HTTPS” у розділі SSL/TLS – Edge Certificates:

Це правило буде примусово використовувати HTTPS на всіх сторінках сайту.
Примітка: Це ж правило можна налаштувати в одному з трьох безкоштовних правил у розділі Page Rules.
Різниця в тому, що в Page Rules ви можете створити правило для певної сторінки / сторінок, у розділі SSL/TLS створюється правило для всього сайту.
3. HTTP Strict Transport Security (HSTS)

З розділу Help Cloudflare:
HTTP Strict Transport Security (HSTS, RFC 6797) – це заголовок, який дає змогу сайту визначати та застосовувати політику безпеки в клієнтських браузерах. Це примусове застосування політики захисту захищає сайти від атак з використанням більш ранніх версій протоколу, злому SSL і захоплення файлів cookie.
Він дає змогу серверу оголошувати політику, згідно з якою браузери підключатимуться тільки з використанням безпечних HTTPS-з’єднань, і гарантує, що кінцеві користувачі не пропустять критичні попередження безпеки.
HSTS є важливим механізмом безпеки для сайтів із високим рівнем безпеки. Заголовки HSTS враховуються тільки під час обслуговування через HTTPS-з’єднання, а не HTTP.
Зазвичай HSTS проявляє себе так:
- Небезпечні посилання HTTP стають безпечними посиланнями HTTPS
- Попередження SSL сертифіката або інші помилки показують повідомлення про помилку, які користувачі не можуть обійти.
Візьміть до уваги
Одним із найважливіших міркувань під час використання HSTS у Cloudflare є те, що після ввімкнення HSTS ваш сайт повинен, як і раніше, мати дійсну конфігурацію HTTPS, що відповідає заголовку HSTS, щоб уникнути недоступності сайту для користувачів.
Якщо SSL відключено за допомогою інших засобів (“сіру хмару” сайту з Flexible SSL, або перенесення сайту з Cloudflare), то сайт буде недоступний для користувачів протягом терміну дії кешованих заголовків Max-Age або доти, доки не буде відновлено HTTPS із заголовком HSTS зі значенням 0. Тому перед застосуванням HSTS уважно прочитайте попереджувальні повідомлення.
Заголовок Max-Age
HSTS включає параметр “max-age”, який вказує тривалість, протягом якої HSTS буде продовжувати кешуватися і застосовуватися браузером. Цей параметр зазвичай встановлюється за замовчуванням на 6 місяців, однак ви повинні використовувати щонайменше 12 місяців, якщо хочете включити його до списку попереднього завантаження HSTS (див. нижче).
Спеціальне значення “0” означає, що HSTS вимкнено і більше не буде кешуватися клієнтським браузером. Протягом періоду часу, зазначеного в заголовку max-age, після успішного доступу до сайту через HTTPS, браузер застосовуватиме цю політику HSTS, вимагаючи HTTPS з правильно налаштованими сертифікатами.
Включення субдоменів з HSTS
Cloudflare підтримує параметр includeSubDomains у заголовках HSTS. Цей параметр застосовує політику HSTS від батьківського домену (наприклад, example.com) до піддоменів (наприклад, www.development.example.com або api.example.com). Будьте обережні з цим заголовком, тому що якщо якісь субдомени не працюють з HTTPS, вони стануть недоступними.
Попереднє завантаження HSTS
Cloudflare підтримує попереднє завантаження HSTS. Цей прапор сигналізує браузерам, що конфігурацію HSTS сайту може бути попередньо завантажено, тобто включено в базову конфігурацію браузера.
Без попереднього завантаження HSTS встановлюється тільки після початкового успішного запиту HTTPS, тому, якщо зловмисник може перехопити перший запит і пройти по HTTP, то HSTS можна обійти. З попереднім завантаженням цій атаці запобігають.
Як тільки HSTS налаштований, ви повинні відвідати URL-адресу попереднього завантаження для кожного браузера вручну. Для Chrome, Firefox і Safari використовуйте список попереднього завантаження Chrome. Підтримка Microsoft IE HSTS оновлюється.
Використовуйте, якщо ви знаєте, що у вас завжди буде дійсний SSL-сертифікат, і сайт проксований через Cloudflare.
4. Мінімальна версія TLS
Виберіть версію TLS 1.1 для посилення безпеки:

5. Налаштуйте 3 правила
У розділі Page Rules ви можете додати спеціальні правила для сайту.
На безкоштовному тарифі Cloudflare дозволяє додати 3 правила, яких достатньо для більшості сайтів. Додаткові 5 правил коштуватимуть 5$/місяць.
У цьому прикладі 3 правила будуть використані для:
- Посилення безпеки wp-login.php
- Виключення wp-admin з Cloudflare і посилення його безпеки
- Зміцнення безпеки xmlrpc.php
Перейдіть у розділ Page Rules і натисніть Create Page Rule:

Правило #1: Зміцнення безпеки wp-login.php
Для посилення безпеки wp-login.php (або вашої сторінки авторизації) створіть правило ваш – site.com/wp-login.php* як у прикладі:

UPD. Додайте налаштування Browser Integrity Check – On.
SSL – Гнучкий
Cache Level – Bypass.
Правило #2: Виключення wp-admin з Cloudflare і посилення його безпеки
Для виключення wp-admin з мережі Cloudflare і посилення безпеки адмінки створіть правило ваш – site.com/wp-admin*:

Додайте налаштування Browser Integrity Check – On.
Правило #3: Зміцнення безпеки xmlrpc.php
Для захисту xmlrpc.php додайте правило ваш – site.com/xmlrpc.php*:

У результаті має вийти так:

Правило для примусового використання HTTPS на всьому сайті
Якщо ви хочете створити правило для примусового використання HTTPS на всьому сайті, створіть правило http://*site.com/*:

6. Правила файрволу
Ще одна крута річ, яку ви можете використовувати для посилення безпеки, – ручні правила файрволу. Наприклад, ви можете показувати капчу всім відвідувачам з Китаю.
Налаштування знаходяться в розділі Firewall – Firewall Rules.

7. Використовуйте двофакторну авторизацію
Оскільки ви можете змінювати DNS записи прямо з облікового запису Cloudflare, використовуйте складний пароль до облікового запису або двофакторну авторизацію.
Cloudflare пропонує кілька варіантів використання двофакторної авторизації:
- Google Auth
- Authy
- TOTP
Налаштування знаходяться в розділі My Profile:

Висновок:
Cloudflare пропонує сервіс для прискорення сайту та посилення його безпеки, який можна налаштувати за 15 хвилин.
Створіть акаунт, додайте сайт і направте трафік через сервер Cloudflare. Після цього зробіть налаштування SSL, HTTPS, додайте правила і ваш сайт буде добре захищений.
Якщо ви хочете додати файрвол, вам потрібно купити підписку Pro, яка коштує 20$ на місяць.
Або ви можете налаштувати додатковий захист із файрволом на рівні сервера за допомогою безкоштовного плагіна Sucuri Security і кількох ручних налаштувань.
Сподіваюся, стаття була корисною. Залишайте коментарі.