Настройка Cloudflare для WordPress: пошаговая инструкция


Cloudflare, выступающий в качестве оборотного прокси-сервера для вашего веб-сайта – всепригодный продукт для обеспечения сохранности и производительности, который употребляют наиболее 12% веб-сайтов по всему миру. Установка Cloudflare на WordPress-сайт дозволяет повысить производительность ресурса и понизить воздействие злоумышленников и роботов.

Как конкретно это создать?

Опосля грамотной опции все запросы к вашему веб-сайту поначалу будут попадать на сервер Cloudflare, который потом обусловит, следует ли навести запрос на начальный сервер, вывести материалы из кэша, перекрыть запрос либо обработать по произвольным правилам.

В данном руководстве мы тщательно разглядим рациональные опции Cloudflare для WordPress и побеседуем о настройках кэширования и сохранности.

Настраиваем характеристики Cloudflare для WordPress

Cloudflare несет внутри себя массу преимуществ для сохранности и производительности, но далековато не все функции совместимы с WordPress. Давайте тщательно разглядим опции Cloudflare, чтоб найти наилучший функционал для вашего WP-сайта.

SSL

Cloudflare поддерживает четыре режима SSL/TLS шифрования – Off, Flexible, Full и Full (Strict).

  • Off – без шифрования.
  • Flexible – шифрует лишь соединение меж браузером и Cloudflare.
  • Full – сквозное шифрование, допускающее наличие самоподписанного сертификата на начальном сервере.
  • Full (Strict) – сквозное шифрование, для которого будет нужно бесплатный сертификат Cloudflare либо сертификат от доверенного CA (удостоверяющего центра). Мы советуем применять режим Full (Strict) для наибольшей сохранности. Как пример, заказать для себя SSL-сертификат можно в магазине LeaderSSL.

Always Use HTTPS

Мы советуем включить эту опцию для автоматического перенаправления всех HTTP-запросов на HTTPS.

HSTS

HSTS расшифровывается как «HTTP Strict Transport Security» и употребляется для того, чтоб приневолить браузер применять защищенные HTTPS-соединения. Включение HSTS в Cloudflare гарантирует, что HTTP-запросы никогда не попадут на ваш начальный сервер. Если ваш веб-сайт уже перенесен на HTTPS, мы советуем также настроить HSTS на вашем начальном сервере.

Minimum TLS Version

TLS – криптографический протокол, который обеспечивает неопасную передачу данных в сети. По дефлоту Cloudflare ставит TLS 1.0. Некие эталоны сохранности, такие как PCI DSS 3.2, требуют наиболее новых версий протокола TLS для соответствия требованиям. Если вы желаете задать определенную версию TLS, вы сможете поменять это в разделе SSL/TLS > Edge Certificates > Minimum TLS Version.

Automatic HTTPS Rewrites

Эта функция инспектирует URL-адреса HTTP-ресурсов в вашем HTML-коде, чтоб найти, доступны ли они по HTTPS. Если ресурсы доступны, то они автоматом будут переписаны с внедрением варианта с HTTPS. Автоматическая перезапись HTTPS полезна для обеспечения неопасного посещения веб-сайтов без вывода ошибок со смешанным содержимым.

Speed

Большая часть опций, связанных с производительностью, можно отыскать на вкладке Speed.

Image Resizing (Business Only)

Функционал ресайзинга изображений в Cloudflare доступен лишь для юзеров тарифа Business. При грамотной реализации в теме WordPress эта функция быть может применена для переноса генерации миниатюр в Cloudflare. Это несет внутри себя несколько преимуществ перед интегрированной функцией генерации миниатюр в WP.

Для веб-сайтов, динамически генерирующих размеры изображений, внедрение ресайзинга в Cloudflare дозволяет понизить нагрузку на микропроцессор – это дозволит вашему веб-сайту обслуживать больше юзеров сразу без роста употребления ресурсов CPU. Ресайзинг изображений в Cloudflare помогает понизить потребление дискового места – миниатюры не надо хранить на сервере.

Изменение размеров изображений в Cloudflare производится методом прибавления конечной точки к изображениям. Поглядите на пример ниже, который показывает, как работает этот функционал.

URL начального изображения:

https://yourdomain.com/wp-content/uploads/2020/01/picture.jpg

URL модифицированного изображения:

https://yourdomain.com/cdn-cgi/image/fit=contain,format=auto,metadata=none,onerror=redirect,quality=70,width=720/https://yourdomain.com/wp-content/uploads/2020/01/picture.jpg

Параметр «width» можно настроить для динамической генерации различных размеров миниатюр без доборной перегрузки на начальный сервер. Если вы ищете автономный сервис, который дает подобные способности, разглядите Imgix либо Cloudinary.

Polish (Pro Only)

Cloudflare Polish – сервис оптимизации изображений, который автоматом сжимает JPG, PNG, GIF и т.д. Изображения обрабатываются на стороне Cloudflare, а это значит, что на сервере, где размещен ваш веб-сайт, не будет заморочек с производительностью. Polish также поддерживает формат Гугл WEBP – это значит, что оптимизированные изображения WEBP будут автоматом передаваться в Chrome, Brave и остальные браузеры, которые поддерживают этот формат.

Polish – нужная функция для WordPress-сайтов по нескольким причинам. Если вы используете плагин для оптимизации изображений, таковой как ShortPixel либо Imagify, вы сможете испытать перейти на Polish для понижения перегрузки на микропроцессор. Как итог, ваш веб-сайт будет работать стабильнее для ваших гостей. Так как изображения, оптимизированные при помощи Polish, хранятся и кэшируются вне сервера, для вас не надо волноваться о использовании дискового места для хранения WEBP-версий изображений.

Читайте:  Продвижение сайта - 6 основных ошибок

Auto Minify

Возможность автоматической минификации Cloudflare дозволяет автоматом сжать кэшированные CSS, JSS, и HTML-ресурсы. Если вы уже не минимизируете ресурсы при помощи плагинов, таковых как Autoptimize либо WP-Rocket, советуем для вас включить эту опцию в Cloudflare.

Brotli

Brotli – это кандидатура GZIP, методу сжатия, который понижает размер веб-запросов перед тем, как они будут доставлены гостям. По сопоставлению с GZIP Brotli дает наиболее высшую степень сжатия, что приводит к ускоренной загрузке страничек для юзеров. Неувязка в том, что не все веб-браузеры поддерживают сжатие Brotli. В любом случае мы советуем включить функцию Brotli, так как запросы из неподдерживаемых браузеров будут просто откатываться к сжатию GZIP.

Enhanced HTTP/2 Prioritization (Pro Only)

Введение HTTP/2 привело к значительному повышению производительности сайтов за счет распараллеливания и мультиплексирования. Усовершенствованная HTTP/2 приоритизация в Cloudflare умственно анализирует HTML-код вашего веб-сайта для определения порядка загрузки ресурсов с целью заслуги наибольшей производительности. Согласно Cloudflare, усовершенствованная  HTTP/2 приоритизация дозволяет уменьшить время загрузки страничек до 50%.

Mirage (Pro Only)

Mirage – это функция оптимизации изображений, созданная для мобильных и низкоскоростных подключений. Когда Mirage включен, изображения заменяются заполнителями низкого разрешения во время исходной загрузки странички. Опосля загрузки страничек все изображения выводятся в формате «ленивой загрузки» уже в полном разрешении.

Mirage также может сочетать несколько запросов изображений в один запрос, что уменьшает количество раундтрипов (повторяющихся переходов), нужных для полной загрузки странички. Если ваш веб-сайт употребляет много изображений и нацелен на мобильную аудиторию, Mirage способен оказать положительное воздействие на производительность.

Rocket Loader

Rocket Loader – функционал, который ускоряет загрузку JavaScript-ресурсов, подгружая их асинхронно. Это дозволяет уменьшить контент, блокирующий обработку странички, что дает возможность резвее ее загружать. Мы советуем поначалу протестировать веб-сайт с включенным Rocket Loader, чтоб осознать, сделает лучше ли он скорость загрузки ваших страничек. Если ваш веб-сайт WordPress зависит от загрузки JavaScript ресурсов в определенном порядке, вы сможете избежать использования Rocket Loader методом прибавления атрибута data-cfasync=”false” в тег script.

Caching

По дефлоту Cloudflare кэширует статичные ресурсы, такие как CSS, JS, изображения. Направьте внимание, что Cloudflare не кэширует сгенерированный HTML-код вашего веб-сайта по дефлоту.

Caching Level

Мы советуем бросить уровень кэширования как Standard, что дозволяет получить доступ к освеженным версиям ресурсов при помощи строчки запроса.

Browser Cache Expiration

Мы советуем сохранять этот параметр как «Respect Existing Headers». В итоге статичные ресурсы в кэше вашего браузера будут храниться в течение 1-го года. Если вы желаете выставить наиболее маленький срок деяния, измените эту настройку.

Firewall

Если ваш хостинг не дает настраиваемый файрвол, вы сможете применять базисное решение, которое встроено в бесплатный тарифный план Cloudflare. Оно допускает 5 случайных правил. Правила файрвола могут быть настроены так, чтоб перекрыть определенные IP-адреса, пользовательские агенты, способы запросов, HTTP-рефереры и даже страны.

Обычный пример: если вы увидели, что ваш магазин WooCommerce получает много поддельных заказов из государств за пределами вашего мотивированного рынка, вы сможете применять бесплатный файрвол, чтоб заблокировать трафик со всей страны.

Тариф Pro в Cloudflare включает наиболее надежный файрвол веб-приложений (WAF). В нем есть спец управляемые наборы правил, которые разрешают для вас еще посильнее защитить ваш веб-сайт. Например, есть правила, которые предусмотрены для WordPress- и PHP-сайтов.

Настройка Cloudflare для WordPress: пошаговая инструкция

Для большинства веб-сайтов на WordPress полностью довольно того уровня сохранности, который предлагается в бесплатном тарифе Cloudflare. Если же вы ведете критически принципиальный для бизнеса веб-сайт, который просит больше защиты, вы сможете переключиться на Pro-уровень и применять усовершенствованные наборы правил в файрволе веб-приложений.

Network

В параметрах Network в Cloudflare мы советуем включить HTTP/2, HTTP/3 (с QUIC) и 0-RTT Connection Resumption.

Как мы уже гласили ранее, HTTP/2 дозволяет сделать лучше HTTP/1.1 за счет доп распараллеливания и мультиплексирования. Аналогично, HTTP/3 улучшает производительность HTTP/2 за счет использования новейшего протокола на базе UDP под заглавием QUIC заместо обычного TCP.

Настройка Cloudflare для WordPress: пошаговая инструкция

Защищенные HTTP/3-соединения также выигрывают от оптимизированной процедуры рукопожатий, которая улучшает время соединения. Если у вас включен HTTP/3 в Cloudflare, ваши клиенты могут применять HTTP/3 (при наличии поддержки) для подключения к серверам Cloudflare.

В конце концов, возможность 0-RTT Connection Resumption улучшает время загрузки веб-сайта для гостей, которые уже ранее заходили на ваш веб-сайт.

Page Rules

Функционал правил страничек дозволяет настраивать характеристики для определенных URL-адресов. Правила странички необходимы для отключения кэширования для определенных ресурсов, конфигурации уровня сохранности для избранной странички и т.д. Одним из более фаворитных случаев использования правил странички является настройка Cloudflare для «кэширования всего».

Кэширование HTML при помощи Cloudflare Page Rule

Читайте:  Как раскрутить Телеграм-канал?

Cloudflare кэширует лишь статичные ресурсы, такие как CSS, JS и изображения. В качестве меры сохранности Cloudflare по дефлоту на кэширует HTML. Веб-сайты на WordPress и на остальных CMS являются динамическими в том смысле, что они требуют администрирования в защищенном бэкэнде. При включенном HTML-кэшировании эти защищенные странички бэкэнда будут кэшироваться и станут видимыми для хоть какого юзера.

Настройка Cloudflare для WordPress: пошаговая инструкция

Параметр «кэшировать все» в Cloudflare быть может настроен методом прибавления правил страничек с подстановочными знаками, обхватывающими весь веб-сайт. Пример: *oddstyle.ru/*

Если функция «кэшировать все» включена, то Cloudflare будет кэшировать HTML-страницы вашего веб-сайта во всей собственной мировой сети дата-центров.

Мы не советуем настраивать кэширование всего в Cloudflare, если ваш веб-сайт не является статичным. Например, большая часть веб-сайтов, генерируемых Gatsby и Hugo, не имеют динамических функций, которые могут ломаться при полностраничном кэшировании.

Bypass Cache on Cookies

Можно, естественно, настроить кэширование всего на вашем WordPress-сайте при помощи характеристик Cloudflare. Тариф Business в Cloudflare дозволяет для вас создавать правила страничек, которые разрешают обойти кэш для неких cookies.

Чтоб запросы от залогиненных юзеров не кэшировались, вы сможете применять настройку обхода куки wordpress_logged_in. Аналогично, для WooCommerce можно настроить обход куки woocommerce_items_in_cart и wp_woocommerce_session_.

Задание Cache-Control Headers

Еще одна функция выборочного обхода кэша Cloudflare – внедрение PHP для прибавления заголовков ответов управления кэшем при выполнении определенных критерий. Чтоб этот способ сработал, для вас необходимо включить Origin Cache Control в правиле «cache everything».

Настройка Cloudflare для WordPress: пошаговая инструкция

Включение функции Origin Cache Control принудит Cloudflare учесть заглавия ответов от вашего веб-сервера (например, Nginx) и серверных приложений (например, PHP и WordPress). Чтоб исключить кэширование определенных страничек, вы сможете добавить последующие заглавия ответов в шаблоны вашей WordPress-темы. Код также можно адаптировать для внесения в файл functions.php.

<?php header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0," false); header("Pragma: no-cache"); ?>

Если этот код добавить в высшую часть single.php, Cloudflare не будет кэшировать ваши отдельные посты и записи. Этот код также быть может заключен в логические операторы для выполнения при соблюдении определенных критерий. Например, внедрение этого кода с функцией is_user_logged_in() гарантирует, что Cloudflare не будет кэшировать странички для залогиненных юзеров.

В качестве примера мы занесли приведенный ниже код в файл header.php. Этот PHP-код добавит заглавия cache-control и Pragma ко всем страничкам, когда юзер является залогиненным.

<?php if ( is_user_logged_in() ) { header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); } ?>

Исследовав заглавия ответа для залогиненного запроса, мы лицезреем последующее:

Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Cache-Control: post-check=0, pre-check=0
CF-Cache-Status: BYPASS
CF-RAY: 588140b43a4f74a7-IAD
cf-request-id: 0244a6c4a0000074a7bdb0e200000001
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Wed, 22 Apr 2020 18:01:54 GMT
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Link: <http://brianwp.com/wp-json/>; rel="https://api.w.org/"
Pragma: no-cache
Server: cloudflare
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Kinsta-Cache: BYPASS

Просмотр той же странички в качестве logged-out юзера дает последующие заглавия ответа:

Age: 5
CF-Cache-Status: HIT
CF-RAY: 5881420dad7d74a7-IAD
cf-request-id: 0244a79c8d000074a7bd820200000001
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Wed, 22 Apr 2020 18:02:49 GMT
Link: <http://brianwp.com/wp-json/>; rel="https://api.w.org/"
Server: cloudflare
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Kinsta-Cache: BYPASS

Как вы сможете созидать, есть заголовок CF-Cache-Status: HIT, который показывает, что страничка передается из кэша Cloudflare.

Argo и Railgun

Cloudflare дает доп продукты для увеличения производительности. Эти способности оплачиваются раздельно, но на их стоит направить внимание, если вы желаете еще более улучшить собственный веб-сайт.

Argo

Argo – аддон для Cloudflare, который обеспечивает умную маршрутизацию для вашего веб-сайта. С включенным Argo трафик направляется в обход перегруженных областей в сети Cloudflare. Как проявили наши испытания, загрузка страничек с внедрением Argo ускорилась на 20-30%. Часто опыты с Argo дают положительные результаты.

Railgun

Railgun – это WAN-продукт, который устанавливает защищенный туннель меж вашим сервером и серверами Cloudflare. Railgun предназначен для убыстрения доставки некэшированного контента. Например, если страничка A и страничка B имеют схожие структуры хэдера и футера с различным содержанием тела, Railgun будет знать о этом и передаст лишь нужные различия при помощи очень сжатого потока двоичных данных.

Railgun доступен лишь для тарифов business и enterprise и просит установки доп ПО (то есть программное обеспечение — комплект программ для компьютеров и вычислительных устройств) на сервер. Убыстрение Railgun для большинства юзеров не требуется. Но если вы поддерживаете WooCommerce-магазин с высочайшим трафиком либо форум, который не быть может кэширован, Railgun потенциально поможет прирастить скорость вашего веб-сайта.

Плагин Cloudflare для WordPress

Команда Cloudflare поддерживает официальный плагин для WordPress. Хотя этого плагин не является неотклонимым требованием, он дает некие полезные функции, включая оптимизированные для WordPress опции Cloudflare, наборы правил сохранности для WP, автоматическую чистку кэша и т.д.

Если вы являетесь опытным юзером, лучше не ставьте плагин – заместо этого настройте характеристики в консоли Cloudflare, чтоб избежать конфликтов с случайными правилами страничек.

Источник: kinsta.com


Ваш комментарий

Ваш адрес email не будет опубликован.

Для отправки комментария, поставьте отметку, что разрешаете сбор и обработку ваших персональных данных . Политика конфиденциальности

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.