gclid 캐시: 광고 클릭 쿼리와 페이지 캐시 키, 첫 바이트 실측

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)
테스트 환경 RHEL 계열AlmaLinux 9.8Nginx 1.28 + Apache 2.4WP Rocket 3.23.5.12026-10-17 확인

gclid 캐시 처리는 광고 클릭 주소 끝에 붙는 gclid 쿼리를 무시하고 쿼리 없는 주소의 캐시 파일로 응답하는 동작입니다. Nginx + Apache 구성의 워드프레스 서버에서 쿼리와 캐시 유무별 첫 바이트를 측정한 결과, gclid가 더한 시간은 0.014~0.015초였고 몇 초 단위의 지연은 캐시를 사용하지 못한 경우에만 발생했습니다.

같은 서버 안에서 잰 첫 바이트는 쿼리가 없을 때 0.014~0.015초, 광고 클릭 쿼리를 붙였을 때 0.029~0.030초였습니다. 같은 페이지를 캐시 없이 워드프레스가 새로 만들 때는 3.639초와 3.260초가 소요되었습니다.

1️⃣ gclid 캐시: 광고 클릭 주소와 캐시 키

구글 광고의 자동 태그 추가 기능을 사용하면 광고를 클릭한 방문자의 주소 끝에 [?gclid=값]이 추가됩니다. 이 값은 광고 클릭을 식별하는 매개변수라 방문자마다 달라지며, 같은 사람이 같은 광고를 다시 누르면 같은 값이 사용되는 경우도 있습니다.

실제 광고 클릭 주소에는 gclid 하나만 붙지 않습니다. gad_source와 gad_campaignid, gbraid가 함께 붙는 경우가 많고, wbraid가 더해지기도 합니다.

https://example.com/sample-page/?gad_source=1&gad_campaignid=1234567890&gbraid=EXAMPLE&gclid=EXAMPLE
https://example.com/sample-page/?gclid=EXAMPLE&gbraid=EXAMPLE&wbraid=EXAMPLE

주소 끝에 쿼리가 붙어도 브라우저에는 같은 페이지가 열리지만, 캐시에는 다른 주소입니다. HTTP 캐시 표준(RFC 9111)은 캐시가 저장한 응답을 고르는 기준인 캐시 키를 최소한 요청 방식과 대상 URI로 구성한다고 정의하며, 대상 URI에는 쿼리 문자열도 포함됩니다.

캐시 키에 쿼리 문자열이 그대로 들어가면 gclid 값이 다른 클릭은 모두 새 주소가 됩니다. 응답이 지나가는 CDN과 nginx, WP Rocket은 이 쿼리를 각자 다른 기준으로 처리합니다.

광고 클릭 https://example.com/sample-page/?gad_source=1&gbraid=…&gclid=…
CDN
캐시 키에서 광고 쿼리를 빼면→ 쿼리 없는 주소의 사본으로 응답
사본이 없으면→ 쿼리를 붙인 채 원본 서버로 요청
nginx
쿼리가 하나라도 있으면→ 캐시 파일 직접 응답을 건너뛰고 Apache로 전달
WP Rocket
무시할 쿼리 목록의 쿼리만 있으면→ 쿼리 없는 주소의 캐시 파일로 응답
캐시 파일이 없으면→ 워드프레스가 페이지를 새로 생성

CDN에 사본이 없거나 캐시 키가 쿼리를 구분하면 요청은 원본 서버로 전달됩니다. 그 뒤의 속도는 nginx와 WP Rocket이 캐시 파일을 찾는지에 따라 정해집니다.

🧭 광고 클릭 요청 흐름
WP Rocket설명 다이어그램
🔗 요청 주소
☁️ CDN 사본
🌐 요청
/sample-page/쿼리 없음
/sample-page/?gclid=…gad_source · gbraid · gclid
→요청
☁️ CDN
🔑 캐시 키에서 광고 쿼리 제외
✅ 같은 사본으로 응답
➡️ 원본 서버로 요청
➡️ 쿼리를 붙인 채 원본 서버로
→원본 요청
🖥️ nginx
🔎 쿼리 문자열이 비었는지
거치지 않음
✅ 캐시 파일 직접 응답 · HIT
➡️ 쿼리가 있어 Apache로 전달
→Apache
🚀 WP Rocket
📋 무시할 쿼리 목록
Apache · PHP
거치지 않음
거치지 않음
✅ 광고 쿼리를 빼고 같은 캐시 파일로 응답
CDN에 사본이 있으면 쿼리 없는 요청은 CDN이 사본으로 바로 응답하며, 원본 서버의 nginx와 WP Rocket은 거치지 않습니다.
CDN이 캐시 키에서 광고 쿼리를 빼면 gclid 값이 달라도 쿼리 없는 주소와 같은 사본으로 응답하며, 요청은 원본 서버까지 전달되지 않습니다.
CDN에 사본이 없으면 요청은 원본 서버로 전달되며, 쿼리가 없으므로 nginx가 WP Rocket 캐시 파일을 PHP 없이 바로 응답합니다. 서버 안에서 잰 첫 바이트는 0.014~0.015초였습니다.
광고 쿼리가 붙은 요청은 쿼리를 붙인 채 원본 서버로 전달되며, nginx는 쿼리가 있어 캐시 파일 직접 응답을 건너뛰고 Apache로 넘깁니다. 이어서 WP Rocket이 광고 쿼리를 빼고 같은 캐시 파일로 응답하며, 첫 바이트는 0.029~0.030초였습니다.

2️⃣ nginx 정적 서빙: 쿼리가 있으면 Apache로 전달

캐시 파일이 디스크에 있어도, Nginx + Apache 구성의 nginx는 쿼리가 붙은 요청에 그 파일을 직접 응답하지 않습니다. nginx가 WP Rocket 캐시 파일을 바로 읽게 하는 아래 설정이 쿼리 문자열이 비어 있을 때만 파일 경로를 만들기 때문입니다.

# nginx.conf — http 블록: 캐시 파일을 건너뛸 조건
map $http_cookie $rocket_cookie {
    default                   0;
    '~*wordpress_logged_in'   1;
    '~*wp-postpass'           1;
    '~*comment_author'        1;
    '~*woocommerce_items'     1;
}
map $request_method $rocket_method {
    default  1;
    GET      0;
    HEAD     0;
}
map $query_string $rocket_query {
    default  1;
    ''       0;      # 쿼리 문자열이 비어 있을 때만 0
}

# server 블록
set $rocket_bypass '';
if ($rocket_cookie = 1) { set $rocket_bypass '1'; }
if ($rocket_method = 1) { set $rocket_bypass '1'; }
if ($rocket_query  = 1) { set $rocket_bypass '1'; }
set $rocket_file '/wp-content/cache/wp-rocket/example.com${request_uri}index-https.html';
if ($rocket_bypass = '1') { set $rocket_file ''; }

location / {
    try_files $rocket_file @apache;                       # 경로가 비거나 파일이 없으면 Apache로
    add_header X-Rocket-Nginx-Serving-File 'HIT' always;  # nginx가 캐시 파일을 직접 응답한 표시
}

[$rocket_query]는 쿼리 문자열 전체가 비어 있는지만 확인하므로, WP Rocket이 무시하는 gclid도 다른 쿼리와 똑같이 처리됩니다. 모바일 사본을 따로 두는 설정이면 파일 이름에 [-mobile]을 붙이는 판별이 하나 더 들어갑니다.

WP Rocket이 Apache용으로 만드는 [.htaccess] 규칙에도 쿼리 문자열이 비어 있어야 한다는 조건이 들어 있습니다. PHP를 거치지 않고 캐시 파일을 바로 응답하는 단계는 nginx든 Apache든 쿼리가 없는 요청에만 적용됩니다.

쿼리가 없는 요청에는 [X-Rocket-Nginx-Serving-File: HIT] 헤더가 포함되었고, gclid와 광고 꼴 쿼리를 붙인 요청 여섯 번에는 이 헤더가 없었습니다. 쿼리가 붙은 요청의 첫 바이트가 0.014~0.015초 늘어난 것은 Apache와 PHP가 캐시 파일을 읽어 응답하는 과정이 더해졌기 때문입니다.

curl -so /dev/null -H 'Accept-Encoding: gzip' -w '%{time_starttransfer}\n' \
  'https://example.com/sample-page/'
0.015127
curl -so /dev/null -H 'Accept-Encoding: gzip' -w '%{time_starttransfer}\n' \
  'https://example.com/sample-page/?gclid=test123'
0.029525
curl -sI 'https://example.com/sample-page/' | grep -i x-rocket-nginx-serving-file
x-rocket-nginx-serving-file: HIT

[time_starttransfer]는 요청부터 첫 바이트를 받기까지의 시간입니다. CDN을 거치지 않고 서버 안에서 잴 때는 [–resolve example.com:443:127.0.0.1]을 함께 붙입니다.

3️⃣ WP Rocket 무시 쿼리 목록: 같은 캐시 파일로 응답

쿼리가 붙은 주소를 캐시하지 않는 것이 WP Rocket의 기본 동작이지만, 광고 클릭 쿼리는 예외입니다. WP Rocket은 무시할 쿼리 목록에 있는 매개변수를 판정 전에 빼고, 남은 쿼리가 없으면 쿼리 없는 주소의 캐시 파일로 응답합니다.

// wp-rocket/inc/classes/Buffer/class-tests.php (3.23.5.1)
public function get_query_params() {
    // …
    $params = array_diff_key(                                  // 무시할 쿼리를 먼저 뺌
        self::$get,
        $this->config->get_config( 'cache_ignored_parameters' )
    );
    // …
}

public function can_process_query_string() {
    // …
    $params = $this->get_query_params();

    if ( ! $params ) {                                         // 남은 쿼리가 없으면 캐시 처리
        return self::memoize( __FUNCTION__, [], true );
    }
    // lang · s · permalink_name · lp-variation-id 와 [Cache Query String(s)]에 넣은 쿼리만 통과
    // …
}

[get_query_params]가 무시할 쿼리를 뺀 결과가 비어 있으면 캐시 파일 경로도 쿼리 없는 주소로 정해집니다. gclid를 붙인 요청은 Apache와 PHP를 거쳤지만 HTML 끝의 캐시 주석이 쿼리 없는 요청과 같았고, 응답 크기도 캐시 파일(gzip)과 같은 350,668바이트였습니다.

무시할 쿼리 목록은 WP Rocket이 일주일에 한 번 자체 서버에서 받아 [wp-content/wp-rocket-config/dynamic-lists.json]에 저장하는 기본 목록입니다. 2026년 10월 17일 기준 목록에는 gclid와 gbraid, wbraid, gad_source, gad_campaignid가 들어 있습니다.

목록에 없는 쿼리가 하나라도 섞이면 WP Rocket은 캐시를 사용하지 않으며, 목록에 없는 임의의 쿼리를 붙인 같은 페이지는 캐시 주석 없이 워드프레스가 새로 만들었습니다. 광고 주소에 직접 만든 추적용 쿼리를 함께 붙였다면 그 클릭은 매번 이 경로로 처리됩니다.

목록을 바꿀 때는 WP Rocket이 안내하는 헬퍼 플러그인을 사용합니다. 플러그인은 [rocket_cache_ignored_parameters] 필터로 쿼리를 더하거나 빼고, 켜고 끌 때 WP Rocket 설정 파일을 다시 만듭니다.

// WP Rocket | Ignore Query Strings 1.1.1 (WP Rocket 지원팀 헬퍼 플러그인) 중에서
function define_ignored_parameters( array $params ) {
    $params['new_query_string'] = 1;      // 무시할 쿼리에 추가
    //unset ( $params['utm_source'] );    // 무시할 쿼리에서 제외
    return $params;
}
add_filter( 'rocket_cache_ignored_parameters', __NAMESPACE__ . '\define_ignored_parameters', 999 );

register_activation_hook( __FILE__, __NAMESPACE__ . '\flush_wp_rocket' );   // 켤 때 rocket_generate_config_file() 실행

WP Rocket은 이 목록을 [wp-content/wp-rocket-config/] 안의 도메인 이름 설정 파일에 적어 두고 요청마다 그 파일을 읽으므로, 필터만 넣고 설정 파일을 다시 만들지 않으면 새 목록이 적용되지 않습니다. 목록에 넣은 쿼리는 값이 달라도 기본 주소의 캐시 파일 하나를 사용하므로, 값에 따라 페이지 내용이 바뀌는 쿼리는 넣지 않습니다.

헬퍼 플러그인에 목록에 없던 [uk_test]를 더해 켜자 설정 파일이 다시 만들어지며 그 쿼리가 목록 끝에 추가되었습니다. 이어서 쿼리 없는 주소와 [uk_test] 값이 다른 두 주소를 차례로 요청했습니다.

curl -s -o /dev/null -w '%{size_download} %{time_starttransfer}\n' -H 'Accept-Encoding: gzip' 'https://example.com/sample-page/'
curl -s -o /dev/null -w '%{size_download} %{time_starttransfer}\n' -H 'Accept-Encoding: gzip' 'https://example.com/sample-page/?uk_test=abc'
curl -s -o /dev/null -w '%{size_download} %{time_starttransfer}\n' -H 'Accept-Encoding: gzip' 'https://example.com/sample-page/?uk_test=xyz'
21390 0.025720
21390 0.025507
21390 0.027929

세 요청 모두 같은 21,390바이트로 0.03초 안에 응답했으며, [uk_test]를 붙인 요청의 HTML 끝을 열어 캐시 시각을 확인했습니다.

curl -s --compressed 'https://example.com/sample-page/?uk_test=abc' | tail -c 200
ck=lazyLoadYoutubeIframe;}});</script></body>
</html>

<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1792248839 -->

끝 주석의 캐시 시각은 쿼리 없는 주소의 캐시 파일과 같았습니다. 헬퍼 플러그인을 켜기 전에는 같은 요청이 캐시 주석 없이 0.36~0.38초 걸려 새로 만들어졌습니다.

켠 뒤에도 목록에 없는 [foo]를 함께 붙인 요청은 캐시 파일을 쓰지 않고 새로 만들어졌습니다.

설정 파일을 다시 만든 직후 1분 동안은 [uk_test] 요청도 새로 만들어졌습니다. PHP OPcache가 바뀐 파일을 다시 확인하는 주기(revalidate_freq)가 60초인 구성이라, 1분이 지난 뒤부터 캐시 파일로 응답했습니다.

헬퍼 플러그인을 끄고 지워도 설정 파일에는 [uk_test] 줄이 남았습니다. 끌 때 실행되는 코드가 우선순위 999로 넣은 필터를 기본 우선순위로 빼려 해, 필터가 남은 채 설정 파일을 다시 만들기 때문입니다. 플러그인을 지운 뒤 설정 파일을 한 번 더 만들어야 목록에서 빠집니다.

4️⃣ CDN 캐시 키: 광고 쿼리 제외와 원본 요청

CDN이 캐시 키에 쿼리 문자열을 그대로 넣으면 gclid 값이 다른 클릭마다 사본이 없어 요청이 원본 서버까지 전달됩니다. 쿼리를 통째로 빼면 이 문제는 사라지지만, 검색 결과처럼 쿼리에 따라 내용이 바뀌는 주소가 있는 사이트에는 맞지 않아 광고 쿼리만 캐시 키에서 빼는 편이 맞습니다.

이렇게 광고 쿼리를 빼면 gclid 값이 달라도 CDN은 쿼리 없는 주소와 같은 사본으로 응답하며, 사본이 없을 때만 쿼리를 붙인 채 원본 서버에 요청합니다.

# 값이 다른 gclid 두 요청의 CDN 캐시 상태 (헤더 이름은 CDN마다 다름)
curl -sI 'https://example.com/sample-page/?gclid=test1' | grep -i -E 'cache|age'
curl -sI 'https://example.com/sample-page/?gclid=test2' | grep -i -E 'cache|age'

값이 다른 두 요청이 모두 HIT이고 사본을 저장한 시각이 쿼리 없는 주소와 같으면, 그 CDN은 gclid를 캐시 키에서 빼고 있습니다. 사본이 비어 있는 지점의 첫 방문은 CDN이 광고 쿼리를 키에서 빼더라도 원본 서버의 nginx와 WP Rocket 처리를 그대로 거칩니다.

5️⃣ 광고 클릭 지연의 원인: 비어 있는 페이지 캐시

광고로 들어온 첫 화면이 늦으면 gclid가 캐시를 우회한 것으로 보기 쉽지만, 캐시 파일이 있으면 쿼리가 붙어도 같은 캐시 파일로 응답합니다. 첫 바이트를 몇 초씩 늘리는 것은 캐시 파일이 비어 워드프레스가 페이지를 새로 만드는 경우입니다.

📊캐시 유무별 첫 바이트서버 안 측정 · 초
캐시 파일로 응답워드프레스가 새로 생성
캐시 파일이 있을 때
같은 페이지를 쿼리 없이, 그리고 광고 클릭 쿼리를 붙여 요청한 첫 바이트입니다. 쿼리가 붙으면 Apache와 PHP를 거치지만 같은 캐시 파일로 응답합니다.
0.0000.0070.0150.0220.030
쿼리 없음0.014~0.015초nginx 직접 응답
gclid0.029~0.030초Apache · PHP 경유
캐시 파일이 있을 때와 없을 때
광고 클릭 쿼리 요청과, 캐시 파일 없이 워드프레스가 페이지를 새로 만든 요청의 첫 바이트입니다.
0.00.91.82.73.6
gclid0.029~0.030초캐시 파일 있음
새로 생성3.639초1회
새로 생성3.260초2회
숫자는 Nginx + Apache 구성의 워드프레스 서버 안에서 같은 페이지를 요청해 잰 첫 바이트입니다(2026년 10월 17일).

캐시 파일은 캐시 수명이 지나면 삭제되며, WP Rocket 기본값은 10시간입니다. 글이나 설정을 저장할 때 관련 캐시가 함께 삭제되고, WP Rocket이 일주일에 한 번 받는 목록이 새 판으로 바뀌어 저장될 때도 사이트 캐시 전체가 비워집니다.

비워진 주소는 프리로드를 켜 두면 WP Rocket이 다시 열어 캐시를 채우며, 그 전에 들어온 방문자는 페이지를 새로 만드는 시간을 기다리게 됩니다. 광고 쿼리만 붙은 요청도 쿼리 없는 주소로 캐시 파일을 만들므로, 빈 캐시를 처음 만난 광고 클릭이 다음 방문자의 캐시를 채웁니다.

캐시를 비운 직후 광고 꼴 쿼리로 연 첫 요청은 캐시 파일이 없어 0.341~0.369초 걸려 새로 만들어졌고, 같은 초에 쿼리 없는 주소의 캐시 파일이 생겼습니다.

curl -s -o /dev/null -w '%{size_download} %{time_starttransfer}\n' -H 'Accept-Encoding: gzip' 'https://example.com/sample-page/?gclid=EXAMPLE1'
ls -l --time-style='+%F %T' wp-content/cache/wp-rocket/example.com/sample-page/
curl -s -o /dev/null -w '%{size_download} %{time_starttransfer}\n' -H 'Accept-Encoding: gzip' 'https://example.com/sample-page/'
21361 0.366881
합계 116
-rw-r--r-- 1 example nobody 90908 2026-10-17 23:56:38 index-https.html
-rw-r--r-- 1 example nobody 21385 2026-10-17 23:56:38 index-https.html_gzip
21385 0.025379

세 번 모두 같은 순서로 진행되었으며, 이어서 연 쿼리 없는 요청은 새 캐시 파일로 0.023~0.025초에 응답했습니다. 모바일 기기가 아닌 요청이라 PC용 파일 둘만 생겼습니다.

광고를 연결하는 주소는 캐시 파일이 있는지와 만든 시각을 직접 확인하며, 모바일 사본을 따로 만드는 설정이면 PC와 모바일 파일을 함께 확인합니다.

ls -l --time-style='+%F %T' wp-content/cache/wp-rocket/example.com/sample-page/
합계 3520
-rw-r--r-- 1 example nobody 1445922 2026-10-17 14:07:44 index-https.html
-rw-r--r-- 1 example nobody  350668 2026-10-17 14:07:44 index-https.html_gzip
-rw-r--r-- 1 example nobody 1446862 2026-10-17 14:07:47 index-mobile-https.html
-rw-r--r-- 1 example nobody  351042 2026-10-17 14:07:47 index-mobile-https.html_gzip
curl -s --compressed 'https://example.com/sample-page/?gclid=test123' | tail -c 200
n/1/wp-content/uploads/example-plugin/style.css' media='all' /></noscript></body>
</html>
<!-- Cached for great performance - Debug: cached@1792213663 -->

캐시 파일에서 나간 응답은 HTML 끝 주석에 [Debug: cached@] 뒤로 캐시 파일을 만든 시각이 유닉스 시간으로 적혀 있습니다. 이 표시가 없으면 그 응답은 워드프레스가 새로 만든 것입니다.

🔢 FAQ & 추천 콘텐츠

2026년 10월 17일 기준 WP Rocket 기본 목록에는 utm_source 같은 utm 쿼리와 페이스북의 fbclid, Microsoft Advertising의 msclkid, 구글 쇼핑의 srsltid도 들어 있어 같은 캐시 파일을 사용합니다. 목록에 없는 쿼리는 헬퍼 플러그인으로 더하기 전까지 캐시를 사용하지 않으므로, 사용하는 광고 플랫폼의 쿼리 이름이 [dynamic-lists.json]에 있는지 먼저 확인합니다.

생기지 않습니다. WP Rocket은 무시할 쿼리를 먼저 뺀 뒤 [Cache Query String(s)] 목록을 확인하므로, gclid는 이 칸에 넣어도 기본 주소의 캐시 파일을 사용합니다(3.23.5.1 코드 기준). 값마다 캐시 파일을 따로 두려면 공식 안내대로 헬퍼 플러그인으로 무시 목록에서 뺀 뒤 이 칸에 넣습니다.

nginx와 Apache의 기본 접근 기록 형식에는 처리 시간이 없어 응답 크기로 가늠하게 됩니다. 같은 페이지를 압축 응답으로 두 번씩 받았을 때 캐시 파일 응답은 두 번 모두 같은 크기였고, 새로 만든 응답은 두 번의 크기가 2바이트 달랐습니다. 앞으로의 요청은 nginx 기록 형식에 [$request_time]을 더하면 요청마다 처리 시간이 남습니다.

🧭 WP Rocket·Perfmatters 관련 글 글 15 · 도구 3
🗂️ What is WP?
📋 WP Rocket 설정 가이드 📄 Perfmatters 가이드 📄 WP Rocket With Perfmatters 📄 WP Rocket MCP Server 📄 WP Rocket 한글 URL 📄 nginx njs 📄 WP Rocket 다국어 캐시 📄 gclid 캐시
📄 WP Rocket 속도 테스트 📝 캐시·최적화 플러그인 📝 속도 개선 사례
📋 캐시: 정의와 모든 분야 📄 웹사이트 캐시 & 서버 내부 캐시
📋 BEST 호스팅 TOP 7 📄 빠른 호스팅 2026
🛠️ 워드프레스 감지 🛠️ 후이즈 도메인 조회 🛠️ 내 아이피 확인
WP Rocket 설정 가이드: 메뉴별 기본 세팅과 20% Promo Code
WordPress · WP Rocket
WP Rocket 설정 가이드: 메뉴별 기본 세팅과 20% Promo Code
WP Rocket 메뉴별 기본 세팅과 요금을 정리한 글입니다.
글 보기 →현재 콘텐츠
Perfmatters 플러그인 리뷰 & 가이드: 5년 동안 사용한 워드프레스 성능 최적화 설정 방법
WordPress · Perfmatters
Perfmatters 플러그인 리뷰 & 가이드: 5년 동안 사용한 워드프레스 성능 최적화 설정 방법
Perfmatters 메뉴별 권장 설정과 Script Manager 사용 방법입니다.
글 보기 →현재 콘텐츠
WP Rocket With Perfmatters 사용 방법: 최적화 기능 설정 가이드
WordPress · Perfmatters
WP Rocket With Perfmatters 사용 방법: 최적화 기능 설정 가이드
WP Rocket과 Perfmatters를 함께 쓸 때의 설정 방법입니다.
글 보기 →현재 콘텐츠
WP Rocket MCP Server: AI 도구로 캐시와 설정 다루기
WordPress · MCP
WP Rocket MCP Server: AI 도구로 캐시와 설정 다루기
AI 도구에서 WP Rocket 캐시와 설정을 다루는 방법입니다.
글 보기 →현재 콘텐츠
WP Rocket 한글 URL 요청 흐름 다이어그램
WordPress · WP Rocket
WP Rocket 한글 URL
한글 주소 요청의 인코딩 대소문자 때문에 nginx가 캐시 파일을 찾지 못하는 원인과 njs로 고치는 방법입니다.
글 보기 →현재 콘텐츠
nginx njs 변수와 캐시 파일 경로 다이어그램
Server · nginx
nginx njs: 모듈 설치와 js_set 설정, reload 적용으로 자바스크립트 변수 만들기
nginx 설정 안에서 자바스크립트 함수로 변수를 만드는 njs 모듈을 설치하고 js_set 변수를 reload로 적용하는 방법입니다.
글 보기 →현재 콘텐츠
WP Rocket 다국어 캐시 글 저장 흐름 다이어그램
WordPress · WP Rocket
WP Rocket 다국어 캐시
임시글 저장 때 번역판 캐시가 언어 폴더째 삭제되는 원인과 그것을 막는 코드입니다.
글 보기 →현재 콘텐츠
광고 쿼리가 붙은 요청이 CDN 사본이 없을 때 원본 서버로 전달되고, nginx에서 Apache로 넘어간 뒤 WP Rocket이 광고 쿼리를 빼고 같은 캐시 파일로 응답하는 흐름
Server · 캐시
gclid 캐시: 광고 클릭 쿼리와 페이지 캐시 키, 첫 바이트 실측
광고 클릭 주소 끝에 붙는 gclid 쿼리를 무시하고 쿼리 없는 주소의 캐시 파일로 응답하는 동작을 첫 바이트로 측정한 글입니다.
글 보기 →현재 콘텐츠

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

인간임을 증명하세요: 5   +   9   =