Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
Одна из важных частей в работе над сайтом — ускорение загрузки страниц. Скорость загрузки является одним из критериев поисковиков по ранжированию сайтов.
Еще одна важная часть работы над сайтом — безопасность. Cloudflare — один из лучших сервисов для ускорения и защиты сайта.
В бесплатной версии Cloudflare предлагает базовую защиту от DDoS атак, подключение к CDN со 180 дата-центрами в 80 странах и SSL сертификат.
В этой статье подробное описание, как подключить Вордпресс сайт к Cloudflare CDN с помощью официального плагина или с помощью плагина W3 Total Cache.
Содержание:
Cloudflare — это DNS сервер, сеть доставки контента (CDN, Content Delivery Network) и файрвол, который фильтрует вредоносные запросы. Эти сервисы ускоряют сайт и обеспечивают его безопасность.
Когда вы подключаете сайт к Cloudflare, весь трафик начинает идти через CDN сеть Cloudflare, в результате чего вы получаете:
Cloudflare ускоряет сайт и усиливает его безопасность.
Cloudflare пропускает весь трафик через свой DNS сервер и направляет его на ваш сайт.
DNS сервер (Domain Name System) — это система, которая связывает доменное имя сайта с IP адресом вашего сервера.
Вы пишите адрес сайта в адресной строке браузера, после этого DNS находит связанный с этим URL адресом IP адрес, и направляет вас на нужную страницу.
Чтобы управлять этим трафиком, DNS использует несколько типов записей, которые называются nameservers:
Cloudflare добавляет себя в этот процесс в качестве DNS сервера для вашего домена.
В итоге это позволяет Cloudflare обрабатывать входящий трафик, то есть:
Вы также можете использовать Cloudflare только в качестве DNS сервера, и не использовать функции CDN и безопасности.
Подключение сайта к Cloudflare занимает 15 минут и не требует кодирования или других специальных знаний.
Каждый шаг подробно:
Зайдите на cloudflare.com и создайте новый аккаунт:
После того как вы создали аккаунт, Cloudflare предложит вам добавить сайт.
Добавьте имя домена и нажмите Add site. На следующем шаге Cloudflare просканирует DNS вашего сайта, нажмите Next:
Сканирование DNS записей может занять 1-2 минуты.
На следующей странице выберите тариф. Я буду использовать бесплатный тариф.
Нажмите Confirm plan, на следующей странице Confirm.
На следующей странице вы можете выбрать, какие записи будут проходить через Cloudflare, а какие будут обходить.
Обычно на этой странице ничего не нужно делать. Проверьте, что напротив имени домена стоит оранжевая иконка.
В зависимости от настроек вашего сайта, проверьте, что:
Если вы хотите добавить домен 3-го уровня, добавьте новую A-запись:
В этом примере я добавил домен третьего уровня dessertacia.
Если все в порядке нажмите Continue.
На этой странице Cloudflare предлагает заменить ваши текущие DNS записи на DNS записи Cloudflare.
Перейдите на сайт, где зарегистрирован ваш домен, и измените DNS записи.
Если домен зарегистрирован на хостинге, зайдите на хостинг. Если на сайте-регистраторе, то зайдите в админ-панель регистратора.
На хостинге Beget это делается в разделе DNS:
На других хостингах или в панели регистратора это делается аналогично. Если вы не знаете, как это сделать, обратитесь в техподдержку хостинга или регистратора.
После того, как вы изменили и сохранили DNS записи, вернитесь на Cloudflare и нажмите Continue.
Процесс смены адресов может занять до 24 часов. Обычно это происходит за 15 минут, и все это время сайт остается доступным.
После того, как DNS адреса изменятся, вы увидите Консоль Cloudflare.
Теперь весь трафик на сайт идет через DNS сервер Cloudflare.
У Cloudflare есть бесплатный плагин для подключения к Вордпресс:
Установите плагин Cloudflare из репозитория Вордпресс. Настройки плагина находятся в Настройках — Cloudflare. Кликните по ссылке, чтобы подключить аккаунт:
На следующем экране введите ваш е-мейл и API ключ.
Чтобы найти API ключ:
Вставьте ключ в поле API Key в настройках плагина на вашем сайте.
На странице Home вы можете сделать автоматические настройки в один клик. Нажмите Apply, плагин применит нужные настройки. Список всех настроек.
Это базовые настройки, после этого нужно сделать несколько настроек в админке Cloudflare.
Некоторые плагины кеширования могут подключить сайт к сети Cloudflare, W3 Total Cache один из них.
Нажмите Activate для включения модуля Cloudflare:
После активации модуля нажмите Settings для перехода на страницу настроек модуля.
Нажмите Authorize, в появившемся окне добавьте е-мейл и API ключ.
В следующем окне выберите Зону. Зона означает ваш сайт. На бесплатном тарифе Cloudflare вы можете добавить только одну Зону / Сайт.
То же самое можно сделать в разделе CDN:
После подключения аккаунта Cloudflare к W3 Total Cache сделайте эти настройки:
Оставьте настройки по умолчанию или замените на свои.
В разделе Performance — Minify находятся настройки минификации и объединения.
Нужно отключить эти настройки, чтобы минификацию и объединение делал либо плагин кеша, либо CloudFlare.
В этом примере я использую функционал CloudFlare:
В некоторых случаях минификация и объединение работают лучше с плагином, чем с Cloudflare. Попробуйте оба варианта.
Включите защиту от использования ваших изображений на других сайтах.
Оптимизация изображений для мобильных устройств и сжатие изображений доступно на платных тарифах Cloudflare.
Настройки безопасности. Оставьте значение по умолчанию Medium или замените на High:
WAF-Файрвол и продвинутая защита от DDoS атак доступны на платных тарифах.
Включите поддержку IPv6:
Выберите ваш вариант подключения:
Если у вас есть или вы можете установить SSL сертификат, выберите значение Full или Strict.
Если сертификата нет, то установите Flexible.
Подробнее об этой настройке в следующем разделе.
Реклама
Простой способ выгодно купить полис
В настройках Cloudflare вы можете сделать несколько настроек.
В разделе Crypto (UPD. Сейчас SSL/TLS) есть несколько настроек SSL:
Какие опции использовать:
Если вы используете бесплатный сертификат от Let’s Encrypt, вы можете столкнуться с проблемой, что сертификат не перевыпускается автоматически.
Вы можете попробовать отключить A-Записи на Cloudflare, чтобы Let’s Encrypt получал IP адрес сайта, а не Cloudflare.
Даже если это сработает, вам придется это делать каждые 3 месяца.
Вместо этого вы можете получить бесплатный сертификат Cloudflare, если выберите настройку Flexible.
Включите «Всегда использовать HTTPS» в разделе SSL/TLS — Edge Certificates:
Это правило будет принудительно использовать HTTPS на всех страницах сайта.
Примечание: Это же правило можно настроить в одном из трех бесплатных правил в разделе Page Rules.
Разница в том, что в Page Rules вы можете создать правило для определенной страницы / страниц, в разделе SSL/TLS создается правило для всего сайта.
Из раздела Help Cloudflare:
HTTP Strict Transport Security (HSTS, RFC 6797) — это заголовок, который позволяет сайту определять и применять политику безопасности в клиентских браузерах. Это принудительное применение политики защиты защищает сайты от атак с использованием более ранних версий протокола, взлома SSL и захвата файлов cookie.
Он позволяет серверу объявлять политику, согласно которой браузеры будут подключаться только с использованием безопасных HTTPS-соединений, и гарантирует, что конечные пользователи не пропустят критические предупреждения безопасности.
HSTS является важным механизмом безопасности для сайтов с высоким уровнем безопасности. Заголовки HSTS учитываются только при обслуживании через HTTPS-соединения, а не HTTP.
Обычно HSTS проявляет себя так:
Примите во внимание
Одним из важнейших соображений при использовании HSTS в Cloudflare является то, что после включения HSTS ваш сайт должен по-прежнему иметь действительную конфигурацию HTTPS, соответствующую заголовку HSTS, чтобы избежать недоступности сайта для пользователей.
Если SSL отключен с помощью других средств («серое облако» сайта с Flexible SSL, или перенос сайта из Cloudflare), то сайт будет недоступен для пользователей в течение срока действия кэшированных заголовков Max-Age или до тех пор, пока не будет восстановлен HTTPS c заголовком 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) к поддоменам (например, 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.
Выберите версию TLS 1.1 для усиления безопасности:
В разделе Page Rules вы можете добавить специальные правила для сайта.
На бесплатном тарифе Cloudflare позволяет добавить 3 правила, которых достаточно для большинства сайтов. Дополнительные 5 правил будут стоить 5$ / месяц.
В этом примере 3 правила будут использованы для:
Перейдите в раздел Page Rules и нажмите Create Page Rule:
Для усиления безопасности wp-login.php (или вашей страницы авторизации) создайте правило ваш-сайт.ru/wp-login.php*
как в примере:
UPD. Добавьте настройки Browser Integrity Check — On.
SSL — Flexible
Cache Level — Bypass.
Для исключения wp-admin из сети Cloudflare и усиления безопасности админки создайте правило ваш-сайт.ru/wp-admin*
:
Добавьте настройку Browser Integrity Check — On.
Для защиты xmlrpc.php добавьте правило ваш-сайт.ru/xmlrpc.php*
:
В итоге должно получиться так:
Если вы хотите создать правило для принудительного использования HTTPS на всем сайте, создайте правило http://*ваш-сайт.ru/*
:
Еще одна крутая вещь, которую вы можете использовать для усиления безопасности — ручные правила файрвола. Например, вы можете показывать капчу всем посетителям из Китая.
Настройки находятся в разделе Firewall — Firewall Rules.
Так как вы можете изменять DNS записи прямо из аккаунта Cloudflare, используйте сложный пароль к аккаунту или двух-факторную авторизацию.
Cloudflare предлагает несколько вариантов использования двух-факторной авторизации:
Настройки находятся в разделе My Profile:
Cloudflare предлагает сервис для ускорения сайта и усиления его безопасности, который можно настроить за 15 минут.
Создайте аккаунт, добавьте сайт и направьте трафик через сервер Cloudflare. После этого сделайте настройки SSL, HTTPS, добавьте правила и ваш сайт будет хорошо защищен.
Если вы хотите добавить файрвол, вам нужно купить подписку Pro, которая стоит 20$ в месяц.
Или вы можете настроить дополнительную защиту с файрволом на уровне сервера с помощью бесплатного плагина Sucuri Security и нескольких ручных настроек.
Надеюсь, статья была полезна. Оставляйте комментарии.
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
В век мобильных систем ускорение сайта является необходимостью. В наше время многие сайты просматриваются даже не 50/50 с мобильных и ПК, а 80/20, причем с мобильных часто идет большее количество трафика. Поэтому просто необходимо уделять внимание не только увеличению сайта, но ускорению и снижению его веса страниц
Я перенаправил мой веб-сайт на серверы Cloudflare (вся информация на предыдущем хостинге сохранилась), но после подключения, в WordPress (сайт размещён на этой платформе) исчезли все изображения на странице для медиафайлов. В то же время сайт работает исправно и при входе через браузеры все медиафайлы (изображения) воспроизводятся. Подскажите, пожалуйста, что я сделал не так?
Здравствуйте, Геннадий,
Затрудняюсь ответить.
Мне кажется, это скорее связано с Вордпресс, чем с Cloudflare.
Подключил я ваш хваленый CDN Сloudflare, время ответа сервера скакануло с 200 до 1000 мс, это называется ускорение? Мне кажется наоборот!
Хотел уточнить, нужно настраивать что-то одно — либо в аккаунте, либо в плагине для вордпресс?
Или если всё настроил в аккаунте то плагин всё равно нужно ставить?
Официальный плагин Cloudflare для настройки И для подключения.
Если вы все настроили на Clodflare, то вам нужен один из плагинов для подключения.
Если вы настроили в плагине, то на Cloudflare настраивать не нужно.
Но на Cloudflare есть настройки, которых нет ни в одном плагине.
Ещё вопрос такой, если отключить проксирование и оставить везде только серый значок DNS only — это всё равно снижает нагрузку на сервер? Просто ip оказался в базе РКН и пришлось выключить проксирование. Но теперь не уверен что есть смысл так использовать.
Изначально всё затевалось потому что виртуальный хостинг не держит нагрузку, сегодня резко подскочил трафик больше 20к в сутки и пришлось разбираться в этом cloudflare.
Кеширование (CDN) работает с оранжевым значком.
Попробуйте сбросить настройки на Cloudflare и настроить заново.
Есть шанс получить другой IP.
И интересно насчет РКН — есть страница, где можно посмотреть, что IP Cloudflare и другие IP забанены?
У меня несколько дней были проблемы с Cloudflare, провайдер почему-то не мог дать доступ.
Проблема решилась через VPN в обход провайдера, а через несколько дней провайдер заработал как обычно.
>>> Попробуйте сбросить настройки на Cloudflare и настроить заново.
Не подскажите где эта кнопка сбросить настройки?
Плагины пока никакие не ставил, только на сайте настраивал. На ночь включал кеширование т.к. боялся что сайт плохо работать будет — оказывается хостинг ддосили вчера. Возможно нагрузку сайт нормально бы держал если бы не ддос.
Проверить блокировку айпи или домена можно например тут https://blocklist.rkn.gov.ru/
В моём случае написано было при вводе айпи что заблокирован сайт, который в 2016 году был на этом айпи. Где-то даже находил что за сайт, уже не помню где. Т.е. сам айпи вроде как не заблокирован, но некоторые провайдеры типо не умеют ограничивать доступ к сайтам и блокируют айпи.
А если уже будет написано что именно айпи заблочен (такое бывает вроде) тогда его точно надо менять как-то, иначе будут потери трафика.
Проверил ваш айпи — на нём 2 блокировки, но опять-таки к сайтам а не к этому айпи. Но все ли провайдеры правильно интерпретируют эти блокировки — вопрос.
Ещё читал что на одном айпи cloudflare могут быть левые сайты (сомнительные) и это плохо для гугла если он увидит что и ваш сайт на этом айпи тоже.
Понял. Спасибо за ссылку.
Удалить сайт из аккаунта можно в самой первой закладке Overview, справа в колонке внизу Remove Site from Cloudflare.
Постоянно вылазит ошибка 502. Перешел на статью, все норм, перехожу на следующую, Ошибка 502.
В чем может быть причина?
На какую статью вы переходите, где постоянно происходит ошибка?
Дмитрий, спасибо! Буду думать, что выбрать.
Дмитрий, сайт не может быть у МГТС. Домен на хостинге nic.ru. МГТС — это провайдер интернета. Как Билайн, МТС и прочие провайдеры.
Понял. Тогда остается 3 варианта:
1. Оставить как есть, тогда у вас будет Cloudflare, но не будет посетителей с МГТС.
2. Вернуть DNS на nic, тогда все посетители смогут приходить на ваш сайт, но у вас не будет Cloudflare.
3. Подключить другой сервис CDN (платный или бесплатный), например, бесплатный LiteSpeed Cache.
И еще вариант с Джетпаком, который переносит на свой CDN картинки, css и скрипты.
У меня проблема после перехода на Cloudflare. Мой сайт стал недоступен у провайдера МГТС. То есть, пользователи этого провайдера теперь не могут зайти на мой сайт. В том числе и я. Не знаю, что делать. На сайте у МГТС нашла статью, констатирующую эту проблему.
Попробуйте вернуться обратно на МГТС?
Верните на хостинге DNS адреса МГТС.
Поясните, пожалуйста, что нужно сделать конкретно, по шагам.
а как решить вопрос с email? Выдает ошибку connection failed
Email не должен затрагиваться. Его подключение должно проходить мимо Cloudflare:
Подтвердите или измените DNS записи в Cloudflare
Спасибо вам за такую подробную статью!
У меня как раз бесплатный Let’s Encrypt. И этот момент немного настораживает. «Если вы используете бесплатный сертификат от Let’s Encrypt, вы можете столкнуться с проблемой, что сертификат не перевыпускается автоматически.»
Опасаюсь менять сертификат на Cloudflare, чтобы позиции не ухудшились. Как вы думаете это не опасно?
А если сменить бесплатный сертификат Let’s Encrypt на хостинге, на какой либо платный, то этой проблемы не будет с перевыпуском (нужно будет проплачивать ssl)?
Или возможно можете посоветовать недорогой нормальный хостинг с американским сервером с поддержкой панели isp manager?
Для того, чтобы сертификат перевыпустился автоматически, нужно, чтобы А-записи указывали на IP адрес сайта, а не на DNS Cloudflare. Проблема в том, что в А-записях уже указан IP адрес сайта, но почему-то запрос верификации не проходит через Cloudflare.
Будет ли он проходить, если вы установите какой-то другой сертификат, — я не знаю, надо пробовать.
«Опасаюсь менять сертификат на Cloudflare, чтобы позиции не ухудшились. Как вы думаете это не опасно?»
Вы можете установить в настройках Cloudflare опцию flexible не дожидаясь срока окончания сертификата от Let’s Encrypt. Когда закончится срок сертификата Let’s Encrypt, продолжит работать сертификат Cloudflare.
После этого вы можете отключить Let’s Encrypt на своем хостинге.
Не думаю, что это опасно или повлияет на позицию в выдаче. Поисковикам важно, чтобы сертификат был, а какой — для них не важно. Если смена пройдет непрерывно (даже если прервется на несколько часов или дней), это не должно повлиять на поисковую выдачу.
Алгоритмы serp придумывают понимающие люди, которые знают обо всех этих проблемах. Предположим, один из десятков или сотен факторов перестал соответствовать желаемому значению, значит, поисковик понизит сайт на соответствующее значение (если робот придет на сайт, когда сертификата не было).
Потом сертификат появится, робот опять поднимет сайт в поисковой выдаче на соответствующее значение.
Это не смертельно. Я не думаю, что изменение будет более сильным, чем обычные ежедневные колебания.