워드프레스 로그인과 방문자 캐싱을 무료로 분리하는 방법: 클라우드플레어 무료 버전을 활용한 완벽 튜토리얼

만들고 싶다워드프레스(WordPress)동적 로그인 캐싱과 정적 방문자 캐싱을 완전히 분리해야 할까요? 이 튜토리얼에서는 클라우드플레어 무료 버전을 사용하여 쿠키 캐싱을 최적화하고 웹사이트 속도와 사용자 경험을 개선하는 방법을 알려드립니다. 웹마스터를 위한 필수 가이드입니다!

클라우드플레어 무료 쿠키 캐싱 완벽 가이드: 비용 없이 동적 로그인/정적 방문자 분리 구현하기

무료 버전의 클라우드플레어를 사용하는 워드프레스 웹사이트 소유자의 99%는 서버 성능의 절반 이상을 낭비하고 있습니다.

나는 너무 많은 사람들이 양극단으로 치우치는 것을 보아왔다.

HTML을 아예 캐싱하지 말고, 방문자가 방문할 때마다 원본 서버에서 데이터를 가져오세요.

또는 전체 HTML 페이지를 캐시할 수도 있지만, 이로 인해 사용자 로그인 오류, 댓글 미표시, 백엔드 작업 실패와 같은 문제가 발생할 수 있습니다.

많은 사람들은 쿠키를 기준으로 캐시를 구분하는 기능이 유료 플랜에서만 제공되는 기능이라고 생각합니다.

결국, 클라우드플레어는 쿠키가 있는 경우 HTML 캐싱을 우회할 수 있는 플랜은 비즈니스 및 엔터프라이즈 플랜에만 있다고 공식적으로 명시하고 있습니다.

비즈니스 플랜은 월 200달러부터 시작하는데, 개인 웹사이트 소유자나 소규모 블로그 운영자에게는 전혀 불필요한 비용입니다.

2023년 4월까지 저는 대부분의 사람들이 간과했던 기술적인 비법을 하나 발견했습니다.

이 기술은 무료 버전에서 지원하는 연산자를 사용하여 유료 플랜과 동일한 쿠키 기반 캐싱 효과를 달성하는 방법을 완벽하게 보여주는 최초의 기술입니다.

저는 이 방법을 사용하여 12개가 넘는 웹사이트를 설정했는데, 결과는 기대 이상이었습니다.

제 개인 블로그 서버의 CPU 사용률이 평균 45%에서 12%로 떨어졌습니다.

페이지 초기 로딩 시간이 5초 단축되었습니다.

월간 서버 대역폭 사용량이 68% 감소했습니다.

하지만 초기 구현에는 두 가지 명백한 단점이 있었습니다.

이 서비스는 하나의 HTTPS 도메인만 지원하며 와일드카드 도메인은 지원하지 않습니다.

이는 많은 웹사이트가 여전히 HTTP 리디렉션을 사용하거나 HTTP와 HTTPS를 모두 지원한다는 사실을 고려하지 않은 것입니다.

저는 기존 접근 방식을 기반으로 포괄적인 최적화를 수행하여 이 두 가지 문제를 해결했습니다.

이제 *.et을 대상으로 하겠습니다.UFOHTTP와 HTTPS를 모두 지원하는 .org와 같은 와일드카드 도메인을 구성하는 방법에 대한 완벽한 가이드입니다.

무료 버전이 유료 버전의 쿠키 기반 캐싱 기능을 구현할 수 있는 이유는 무엇일까요?

많은 사람들이 모르고 있는 사실은 클라우드플레어 무료 버전과 유료 버전의 핵심적인 차이점은 특정 기능의 구현 가능 여부가 아니라는 점입니다.

그 차이는 동일한 기능을 얼마나 편리하게 구현할 수 있느냐에 있습니다.

워드프레스 로그인과 방문자 캐싱을 무료로 분리하는 방법: 클라우드플레어 무료 버전을 활용한 완벽 튜토리얼

유료 버전은 다음을 제공합니다.Matches정규 표현식 연산자를 사용하면 단일 정규 표현식으로 우회해야 하는 모든 쿠키를 일치시킬 수 있습니다.

하지만 무료 버전에서는 이 연산자를 지원하지 않으며, 사용 시 "권한 없음: Matches 연산자 사용이 허용되지 않습니다"라는 오류 메시지가 표시됩니다.

클라우드플레어 공식 문서에는 다음과 같이 명시되어 있습니다...Matches운영자는 비즈니스 플랜 또는 WAF 고급 플랜을 사용해야 합니다.

이것이 바로 대부분의 온라인 튜토리얼에서 쿠키 캐싱을 사용하려면 유료 플랜으로 업그레이드해야 한다고 알려주는 이유입니다.

하지만 반복적인 테스트와 연구 끝에 결정적인 돌파구를 찾았습니다.

WordPress와 WooCommerce의 로그인 쿠키는 모두 고정된 접두사를 가지고 있습니다.

WordPress 쿠키 접두사:

워드프레스(네이티브)wp-.*|워드프레스.*|댓글_.*
WordPress와 WooCommerce    wp-.*|워드프레스.*|댓글_.*|우커머스_.*

모든 쿠키를 일치시키기 위해 정규 표현식을 사용할 필요는 없습니다. 무료 버전에서 지원하는 정규 표현식만 사용하면 됩니다.contains운영자는 쿠키에 이러한 고정 접두사가 포함되어 있는지 확인합니다.

이 아이디어는 정말 기발하네요.

이 방법은 유료 버전의 독점 기능을 우회하여 가장 기본적인 연산자만으로 동일한 효과를 얻었습니다.

게다가, 그 성능이 정규 표현식 매칭보다 우수한 이유는...contains연산자의 계산 오버헤드는 정규 표현식 매칭보다 훨씬 적습니다.

*.et의 경우UFO.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를 사용하고 있다면전자 상거래이 플러그인을 사용하려면 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을 캐시합니다(최저 우선순위).

이 규칙의 목적은 로그인하지 않은 방문자가 Cloudflare CDN에서 캐시된 HTML 페이지를 직접 가져올 수 있도록 하는 것입니다.

이는 웹사이트 속도를 향상시키고 서버 부하를 줄이는 데 있어 가장 중요한 단계입니다.

마찬가지로, 저는 다음과 같이 사용했습니다.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이는 캐시 적중이 완료되었고 규칙이 올바르게 작동하고 있음을 나타냅니다.

두 번째 검증 단계는 로그인 상태의 캐싱 여부를 확인하는 것입니다.

일반 브라우저 창에서 브라우저에 로그인하세요.워드프레스 백엔드.

F12 키를 눌러 개발자 도구를 여세요.

웹사이트 홈페이지를 방문하세요.

응답 헤더를 확인하세요.cf-cache-status필드.

표시되는 경우DYNAMIC이는 로그인한 사용자가 캐시를 성공적으로 우회했음을 나타냅니다.

세 번째 검증 단계는 댓글을 작성한 사용자의 캐싱 상태를 확인하는 것입니다.

다른 브라우저나 시크릿 모드를 사용하여 댓글을 남겨주세요.

페이지를 새로고침하세요.

응답 헤더를 확인하세요.cf-cache-status필드.

표시되는 경우DYNAMIC이는 댓글을 작성한 사용자도 캐시를 성공적으로 우회했음을 나타냅니다.

유효성 검사에 실패하면 먼저 규칙의 순서가 올바른지 확인하십시오.

그런 다음 이 세 가지 규칙과 충돌하는 다른 페이지 규칙이나 캐싱 규칙이 있는지 확인하십시오.

실제 테스트 결과, 페이지 규칙이 캐싱 규칙보다 우선순위가 높으며 캐싱 규칙의 설정을 무시하는 것으로 나타났습니다.

클라우드플레어 캐싱 설정 스크린샷

자주 묻는 질문 및 고급 최적화

많은 사람들이 캐시 만료 시간을 얼마나 길게 설정해야 하는지 묻습니다.

원본 서버에서 HTML 파일의 캐시 만료 시간을 1시간으로 설정하는 것을 권장합니다.

이를 통해 콘텐츠의 최신성을 유지하고 CDN의 캐싱 이점을 최대한 활용할 수 있습니다.

새 글을 게시하거나 페이지를 업데이트한 경우, Cloudflare 관리자 페이지에서 해당 페이지의 캐시를 수동으로 삭제할 수 있습니다.

Cloudflare 공식 설치 패키지를 설치할 수도 있습니다.워드프레스 플러그인이를 통해 콘텐츠를 게시할 때 캐시가 자동으로 지워집니다.

일부 사람들은 이 방법이 웹사이트에 영향을 미칠지 여부에 대해서도 질문했습니다.SEO.

절대 아닙니다.

검색 엔진 크롤러는 로그인하지 않으므로 일반 방문자와 마찬가지로 캐시된 페이지를 가져옵니다.

캐시된 페이지는 더 빠르게 로드되므로 실제로 검색 엔진 순위 향상에 도움이 될 수 있습니다.

구글의 핵심 웹 지표 보고서에 따르면 페이지 로딩 속도가 1초 빨라질 때마다 전환율이 7% 증가할 수 있습니다.

이러한 구성으로 인한 속도 향상은 사용자 경험을 개선할 뿐만 아니라 트래픽과 수익 증가로 직접 이어집니다.

결론

컴퓨팅 성능이 곧 비용이고 속도가 곧 경쟁력인 이 디지털 시대에 서버 리소스 최적화는 디지털 자산의 가치를 높이는 데 기여합니다.

많은 사람들이 값비싼 유료 서비스를 이용하지만, 무료 도구에 숨겨진 엄청난 잠재력을 간과합니다.

클라우드플레어 무료 버전의 기능은 대부분의 사람들이 상상하는 것보다 훨씬 강력합니다.

최고의 기술 솔루션은 결코 가장 비싼 것이 아니라, 여러분의 필요에 가장 잘 맞는 솔루션입니다.

개인 웹사이트 소유자와 중소기업의 99%에게는 이 무료 쿠키 기반 캐싱 솔루션만으로도 충분하고도 남습니다.

매달 200달러를 지불할 필요가 없으면서도 유료 플랜과 거의 동일한 성능 향상을 제공합니다.

기술의 본질은 값비싼 도구를 쌓아두는 것이 아니라 문제를 해결하는 데 있습니다.

우리는 가장 기본적인 구성 요소를 사용하여 효율적인 시스템을 구축하는 방법을 배울 때 기술의 본질을 진정으로 이해하게 됩니다.

만약 클라우드플레어 무료 버전을 사용 중이고 웹사이트가 워드프레스로 구축되었다면, 이 튜토리얼을 따라 설정하는 것을 강력히 추천합니다.

웹사이트 속도가 질적으로 향상되고 서버 부하가 크게 줄어드는 것을 확인하실 수 있을 것입니다.

이 최적화 작업은 실행하는 데 5분밖에 걸리지 않으며, 1년 내내 효과를 볼 수 있습니다.

무료 리소스를 낭비하지 마세요. 웹사이트 속도를 높이기 위한 조치를 취하세요.

희망 첸 웨이량 블로그( https://www.chenweiliang.com/ 여기 공유된 "무료 클라우드플레어를 활용한 워드프레스 로그인 및 방문자 캐싱 분리: 완벽한 튜토리얼"이라는 글이 도움이 될 수 있습니다.

이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-33962.html

더 많은 숨겨진 트릭을 알아보려면🔑 Telegram 채널에 가입하세요!

마음에 드셨다면 공유하고 좋아요를 눌러주세요! 여러분의 공유와 좋아요는 저희의 지속적인 원동력이 됩니다!

 

发表 评论

귀하의 이메일 주소는 공개되지 않습니다. 必填 项 已 用 * 标注

위쪽으로 스크롤