Каталог статей
- 1 Почему бесплатная версия может использовать функцию кэширования на основе cookie, которая есть в платной версии?
- 2 Полные инструкции по настройке для *.etufo.org (применимо как для HTTP, так и для HTTPS)
- 2.1 Правило 1: Обходите пути, которые должны быть динамическими (наивысший приоритет).
- 2.2 Правило 2: Обходить авторизованных пользователей и пользователей, оставляющих комментарии (второй приоритет)
- 2.3 Правило 3: Кэшировать статический HTML для посетителей, не вошедших в систему (самый низкий приоритет).
- 3 Три этапа проверки, которые необходимо выполнить после настройки.
- 4 Часто задаваемые вопросы и расширенные возможности оптимизации
- 5 эпилог
Хочу сделатьWordPressХотите полностью отделить динамическое кэширование авторизации от статического кэширования посетителей? В этом руководстве вы узнаете, как оптимизировать кэширование cookie с помощью бесплатной версии Cloudflare, не требуя никаких затрат, что улучшит скорость работы сайта и пользовательский опыт. Незаменимое руководство для веб-мастеров!
Полное руководство по бесплатному кэшированию файлов cookie в Cloudflare: достижение динамического разделения авторизованных и статических посетителей с нулевыми затратами.
99% владельцев сайтов на WordPress, использующих бесплатную версию Cloudflare, тратят впустую более половины производительности своего сервера.
Я видел слишком много людей, которые впадали в две крайности.
Либо вообще не кэшируйте HTML и получайте данные с исходного сервера каждый раз, когда посетитель заходит на сайт.
В качестве альтернативы можно кэшировать всю HTML-страницу, что приводит к таким проблемам, как некорректные входы пользователей в систему, не отображаемые комментарии и сбои в работе серверной части.
Многие считают, что различение кэша по cookie-файлам — это функция, доступная только в платных тарифах.
В конце концов, Cloudflare официально заявляет, что только тарифные планы Business и Enterprise могут обходить HTML-кэширование при наличии cookie-файлов.
Бизнес-план начинается от 200 долларов в месяц, что совершенно излишне для владельцев частных сайтов и небольших блогов.
До апреля 2023 года я обнаружил технический приём, который большинство людей упускали из виду.
Этот метод впервые в полной мере демонстрирует, как добиться точно такого же эффекта кэширования на основе cookie, как и в платном тарифе, используя операторы, поддерживаемые бесплатной версией.
Я использовал этот метод для настройки более десятка веб-сайтов, и результаты превзошли мои ожидания.
Нагрузка на процессор моего личного сервера для блога снизилась в среднем с 45% до 12%.
Время первоначальной загрузки страницы сокращено на 5 секунд.
Ежемесячное потребление полосы пропускания сервера снизилось на 68%.
Однако первоначальная реализация имела два очевидных недостатка.
Он поддерживает только один HTTPS-домен и не поддерживает домены с подстановочными знаками.
Это не учитывает того факта, что многие веб-сайты по-прежнему используют HTTP-перенаправления или поддерживают как HTTP, так и HTTPS.
Я провел комплексную оптимизацию, основываясь на исходном подходе, и решил эти две проблемы.
Теперь я нацелюсь на *.etНЛОВот полное руководство по настройке домена с подстановочным знаком, например, .org, который поддерживает как HTTP, так и HTTPS.
Многие не знают, что основное различие между бесплатной и платной версиями Cloudflare заключается не в возможности реализации той или иной функции.
Всё дело в том, насколько удобно выполнять ту же самую функцию.

Платная версия предоставляетMatchesОператоры регулярных выражений позволяют сопоставить все файлы cookie, которые необходимо обойти, с помощью одной строки регулярного выражения.
Однако бесплатная версия не поддерживает этот оператор, и при его использовании вы получите сообщение об ошибке «не имеет права доступа: использование оператора Matches запрещено».
В официальной документации Cloudflare четко указано, что...MatchesДля использования данного тарифного плана операторам требуется тарифный план Business или WAF Advanced.
Именно поэтому в большинстве онлайн-уроков говорится, что для использования кэширования на основе cookie необходимо перейти на платный тарифный план.
Но после многократных испытаний и исследований я совершил ключевой прорыв.
И файлы cookie для входа в WordPress, и файлы cookie для входа в WooCommerce имеют фиксированный префикс.
Префикс файлов cookie WordPress:
| WordPress (нативный) | wp-.*|wordpress.*|comment_.* |
| WordPress с WooCommerce | wp-.*|wordpress.*|comment_.*|woocommerce_.* |
Нам не нужно использовать регулярные выражения для сопоставления всех файлов cookie; достаточно использовать только те, которые поддерживаются бесплатной версией.containsОператор проверяет, содержит ли cookie эти фиксированные префиксы.
Эта идея очень остроумна.
Это позволило обойти эксклюзивные функции платной версии и добиться точно такого же эффекта, используя самые простые операторы.
Кроме того, его производительность выше, чем у сопоставления с помощью регулярных выражений, потому чтоcontainsВычислительные затраты операторов значительно меньше, чем затраты на сопоставление регулярных выражений.
Для *.etНЛОПолные шаги по настройке для .org (применимо как для HTTP, так и для HTTPS)
Весь процесс настройки требует создания всего лишь 3 правил кэширования.
Порядок изложения правил очень важен и должен строго соблюдаться в том порядке, в котором я его указал.
Если порядок будет неправильным, вся логика кэширования потерпит неудачу.

Правило 1: Обходите пути, которые должны быть динамическими (наивысший приоритет).
Цель этого правила — гарантировать, что административная панель, страница предварительного просмотра, пользовательский центр и страница поиска никогда не будут кэшироваться.
Эти страницы должны получать контент с исходного сервера в режиме реального времени, в противном случае возникнут серьезные функциональные проблемы.
Моё оптимизированное выражение поддерживает все поддомены и протоколы HTTP/HTTPS.
Нет необходимости создавать отдельные правила для каждого поддомена.
Нет необходимости создавать отдельные правила для HTTP и HTTPS.
Выражение выглядит следующим образом:
ends_with(http.host, ".etufo.org") and (starts_with(http.request.uri.path, "/wp-admin/") or http.request.uri contains "preview=true" or starts_with(http.request.uri.path, "/前台用户中心/") or starts_with(http.request.uri.path, "/?s="))
Выберите в качестве параметра операции «Обход кэша».
Разместите это правило в самом верху всех правил кэширования.

Правило 2: Обходить авторизованных пользователей и пользователей, оставляющих комментарии (второй приоритет)
Цель этого правила — предоставить зарегистрированным пользователям и пользователям, оставляющим комментарии, прямой доступ к динамическому контенту из источника.
Это гарантирует, что пользователи смогут видеть свою личную информацию, а комментарии будут отображаться в режиме реального времени.
В первоначальной реализации использовался следующий метод:starts_with(http.request.full_uri, "https://你的域名/").
Я изменил это наends_with(http.host, ".etufo.org").
Это изменение лежит в основе всей оптимизации.
http.hostВ него входит только доменное имя, а не протокол и путь.
用ends_withматч.etufo.orgОно автоматически совпадет.etufo.org,www.etufo.org,blog.etufo.orgВсе поддомены.
Он автоматически сопоставляет протоколы HTTP и HTTPS без необходимости дополнительной настройки.
Встроенные выражения WordPress:
ends_with(http.host, ".etufo.org") and (http.cookie contains "wordpress_sec_" or http.cookie contains "wordpress_logged_in" or http.cookie contains "comment_")
Если вы используете WooCommerceпоставщик электроэнергииДля работы плагина необходимо добавить префикс cookie WooCommerce.
Расширенные выражения WooCommerce:
ends_with(http.host, ".etufo.org") and (http.cookie contains "wordpress_sec_" or http.cookie contains "wordpress_logged_in" or http.cookie contains "comment_" or http.cookie contains "woocommerce_")
Для этой операции также следует установить параметр "Обход кэша".
Разместите это правило ниже правила 1.

Правило 3: Кэшировать статический HTML для посетителей, не вошедших в систему (самый низкий приоритет).
Цель этого правила — позволить незарегистрированным посетителям напрямую получать кэшированные HTML-страницы из CDN Cloudflare.
Это важнейший шаг в повышении скорости работы сайта и снижении нагрузки на сервер.
Аналогичным образом я использовалends_with(http.host, ".etufo.org")Он заменил исходный формат протокола + доменное имя.
Достигнута автоматическая совместимость с доменами-шаблонами и двойными протоколами.
Встроенные выражения WordPress:
ends_with(http.host, ".etufo.org") and not http.cookie contains "wordpress_sec_" and not http.cookie contains "wordpress_logged_in" and not http.cookie contains "comment_"
Расширенные выражения WooCommerce:
ends_with(http.host, ".etufo.org") and not http.cookie contains "wordpress_sec_" and not http.cookie contains "wordpress_logged_in" and not http.cookie contains "comment_" and not http.cookie contains "woocommerce_"
Для операции выберите параметр "Соответствует критериям кэширования".
Рекомендуем включить следующие параметры:
Броня для обмана с тайником.
Устаревшая информация не предоставляется при обновлениях.
Разместите это правило в самом низу всех правил кэширования.



Три этапа проверки, которые необходимо выполнить после настройки.
После завершения настройки не закрывайте страницу сразу.
Для обеспечения корректной работы правил необходимо выполнить три простые проверки.
Первый этап проверки — это проверка состояния кэша, когда пользователь не авторизован.
Включите режим инкогнито в браузере.
Нажмите клавишу F12, чтобы открыть инструменты разработчика, и перейдите на вкладку «Сеть».
Перейдите на главную страницу вашего сайта.
Проверьте заголовки ответа.cf-cache-statusполе.
如果显示HITЭто означает, что кэш был обработан и правило работает корректно.
Второй этап проверки — это проверка кэширования статуса входа в систему.
Войдите в свой браузер в обычном окне браузера.Серверная часть WordPress.
Нажмите F12, чтобы открыть инструменты разработчика.
Перейдите на главную страницу сайта.
Проверьте заголовки ответа.cf-cache-statusполе.
如果显示DYNAMICЭто означает, что авторизованный пользователь успешно обошел кэш.
Третий этап проверки — это проверка состояния кэширования пользователей, оставляющих комментарии.
Оставьте комментарий, используя другой браузер или режим инкогнито.
Обновите страницу.
Проверьте заголовки ответа.cf-cache-statusполе.
如果显示DYNAMICЭто означает, что пользователь, оставивший комментарий, также успешно обошел кэш.
Если проверка не удалась, сначала убедитесь в правильности порядка правил.
Затем проверьте, нет ли других правил страниц или правил кэширования, которые конфликтуют с этими тремя правилами.
В ходе проведенных мною тестов я обнаружил, что правила страниц имеют более высокий приоритет, чем правила кэширования, и переопределяют настройки правил кэширования.

Часто задаваемые вопросы и расширенные возможности оптимизации
Многие спрашивают меня, на какой срок следует установить время истечения срока действия кэша.
Рекомендую установить время истечения срока действия кэша для HTML-файлов на исходном сервере на 1 час.
Это обеспечивает как актуальность контента, так и полное использование преимуществ кэширования CDN.
При публикации новой статьи или обновлении страницы вы можете вручную очистить кеш соответствующей страницы в административной панели Cloudflare.
Вы также можете установить официальный установочный пакет Cloudflare.Плагин WordPressЭто позволяет автоматически очищать кэш при публикации контента.
Некоторые также спрашивали, повлияет ли этот метод на работу сайта.SEO.
Категорически нет.
Поисковые роботы не авторизуются и будут получать кэшированные страницы так же, как и обычные посетители.
Кэшированные страницы загружаются быстрее, что на самом деле может улучшить позиции в поисковой выдаче.
Согласно отчету Google о ключевых показателях веб-технологий, увеличение скорости загрузки страницы на 1 секунду может повысить коэффициент конверсии на 7%.
Ускорение работы, достигаемое благодаря такой конфигурации, не только улучшает пользовательский опыт, но и напрямую увеличивает трафик и доход.
эпилог
В наш цифровой век, когда вычислительная мощность равна стоимости, а скорость — конкурентоспособности, каждая оптимизация серверных ресурсов повышает ценность цифровых активов.
Многие люди стремятся к дорогостоящим платным услугам, но упускают из виду огромный потенциал, скрытый в бесплатных инструментах.
Возможности бесплатной версии Cloudflare намного шире, чем большинство людей себе представляют.
Наилучшее техническое решение никогда не бывает самым дорогим, а тем, которое наилучшим образом соответствует вашим потребностям.
Для 99% владельцев частных веб-сайтов и малых и средних предприятий это бесплатное решение для кэширования на основе cookie-файлов более чем достаточно для удовлетворения их потребностей.
Для этого не нужно платить 200 долларов в месяц, но при этом вы получаете практически такое же повышение производительности, как и при использовании платного тарифа.
Суть технологий заключается в решении проблем, а не в накоплении дорогостоящих инструментов.
Мы по-настоящему постигаем суть технологий, когда учимся создавать эффективные системы, используя самые простые компоненты.
Если вы используете бесплатную версию Cloudflare и ваш сайт создан на WordPress, я настоятельно рекомендую вам следовать этому руководству для его настройки.
Вы заметите, что скорость загрузки вашего сайта качественно улучшится, а нагрузка на сервер значительно снизится.
Это оптимизационная операция, выполнение которой занимает 5 минут, а польза от неё сохраняется в течение целого года.
Не позволяйте бесплатным ресурсам пропадать зря; примите меры, чтобы ваш сайт работал быстрее.
Блог Хоуп Чен Вейлян ( https://www.chenweiliang.com/ Статья "Бесплатная авторизация WordPress и разделение кэширования посетителей: подробное руководство по бесплатному Cloudflare", размещенная здесь, может быть вам полезна.
Добро пожаловать, чтобы поделиться ссылкой на эту статью:https://www.chenweiliang.com/cwl-33962.html
