แคชกับ gclid: คิวรีจากการคลิกโฆษณา คีย์แคชของหน้า และไบต์แรกที่วัดได้

ประกาศแอฟฟิลิเอต Ver 3.1
ประกาศแอฟฟิลิเอต Ver 3.2 (เฉพาะมือถือ)
สภาพแวดล้อมทดสอบ ตระกูล RHELAlmaLinux 9.8Nginx 1.28 + Apache 2.4WP Rocket 3.23.5.1ตรวจสอบ 2026-10-17

การจัดการแคชกับ gclid คือการเพิกเฉยต่อคิวรี gclid ที่ต่อท้าย URL คลิกโฆษณา แล้วตอบด้วยไฟล์แคชของ URL ที่ไม่มีคิวรี จากการวัดไบต์แรกแยกตามคิวรีและการมีหรือไม่มีแคชบนเซิร์ฟเวอร์ WordPress แบบ Nginx + Apache เวลาที่ gclid เพิ่มขึ้นคือ 0.014–0.015 วินาที และความล่าช้าระดับหลายวินาทีเกิดเฉพาะเมื่อใช้แคชไม่ได้

ไบต์แรกที่วัดภายในเซิร์ฟเวอร์เดียวกันคือ 0.014–0.015 วินาทีเมื่อไม่มีคิวรี และ 0.029–0.030 วินาทีเมื่อเติมคิวรีคลิกโฆษณา เมื่อ WordPress สร้างหน้าเดียวกันใหม่โดยไม่มีแคช ใช้เวลา 3.639 วินาทีและ 3.260 วินาที

1️⃣ แคชกับ gclid: URL คลิกโฆษณาและคีย์แคช

ถ้าใช้ฟีเจอร์ติดแท็กอัตโนมัติของ Google Ads จะมี [?gclid=ค่า] ต่อท้าย URL ของผู้เข้าชมที่คลิกโฆษณา ค่านี้เป็นพารามิเตอร์ที่ระบุการคลิกโฆษณา จึงต่างกันในแต่ละผู้เข้าชม แม้บางครั้งคนเดิมที่คลิกโฆษณาเดิมซ้ำอาจได้ค่าเดิม

URL คลิกโฆษณาจริงมักไม่ได้มีแค่ 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

แม้มีคิวรีต่อท้าย URL เบราว์เซอร์ก็ยังเปิดหน้าเดียวกัน แต่สำหรับแคชถือเป็นที่อยู่คนละที่ มาตรฐานแคช HTTP (RFC 9111) กำหนดว่าคีย์แคชซึ่งเป็นเกณฑ์ที่แคชใช้เลือกการตอบสนองที่บันทึกไว้ ต้องประกอบด้วยอย่างน้อยเมธอดของคำขอและ URI เป้าหมาย และ URI เป้าหมายรวมสตริงคิวรีด้วย

ถ้าสตริงคิวรีเข้าไปอยู่ในคีย์แคชตามเดิม ทุกคลิกที่ค่า gclid ต่างกันจะกลายเป็นที่อยู่ใหม่ CDN, nginx และ WP Rocket ที่การตอบสนองผ่านจัดการคิวรีนี้ด้วยเกณฑ์ต่างกัน

คลิกโฆษณา https://example.com/sample-page/?gad_source=1&gbraid=…&gclid=…
CDN
ถ้าตัดคิวรีโฆษณาออกจากคีย์แคช→ ตอบด้วยสำเนาของ URL ที่ไม่มีคิวรี
ถ้าไม่มีสำเนา→ ส่งคำขอไปเซิร์ฟเวอร์ต้นทางพร้อมคิวรี
nginx
ถ้ามีคิวรีแม้แต่ตัวเดียว→ ข้ามการตอบด้วยไฟล์แคชโดยตรงและส่งต่อให้ Apache
WP Rocket
ถ้ามีแค่คิวรีจากรายการที่ละเว้น→ ตอบด้วยไฟล์แคชของ URL ที่ไม่มีคิวรี
ถ้าไม่มีไฟล์แคช→ WordPress สร้างหน้าใหม่

ถ้า CDN ไม่มีสำเนาหรือคีย์แคชแยกคิวรี คำขอจะถูกส่งต่อไปเซิร์ฟเวอร์ต้นทาง ความเร็วหลังจากนั้นขึ้นอยู่กับว่า nginx และ WP Rocket หาไฟล์แคชเจอหรือไม่

🧭 ลำดับของคำขอจากการคลิกโฆษณา
WP Rocketแผนภาพอธิบาย
🔗 URL ของคำขอ
☁️ สำเนาบน 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 ต่างกันก็ตอบด้วยสำเนาเดียวกับ URL ที่ไม่มีคิวรี และคำขอไม่ถูกส่งไปถึงเซิร์ฟเวอร์ต้นทาง
ถ้า CDN ไม่มีสำเนา คำขอจะถูกส่งต่อไปเซิร์ฟเวอร์ต้นทาง และเพราะไม่มีคิวรี nginx จึงตอบด้วยไฟล์แคชของ WP Rocket โดยตรงโดยไม่ผ่าน PHP ไบต์แรกที่วัดภายในเซิร์ฟเวอร์คือ 0.014–0.015 วินาที
คำขอที่มีคิวรีโฆษณาจะถูกส่งต่อไปเซิร์ฟเวอร์ต้นทางพร้อมคิวรี และเพราะมีคิวรี nginx จึงข้ามการตอบด้วยไฟล์แคชโดยตรงแล้วส่งต่อให้ Apache จากนั้น WP Rocket ตัดคิวรีโฆษณาออกแล้วตอบด้วยไฟล์แคชเดียวกัน ไบต์แรกคือ 0.029–0.030 วินาที

2️⃣ การให้บริการไฟล์คงที่ของ nginx: ถ้ามีคิวรีจะส่งต่อให้ Apache

แม้ไฟล์แคชจะอยู่บนดิสก์ nginx ในการตั้งค่าแบบ Nginx + Apache ก็ไม่ตอบคำขอที่มีคิวรีด้วยไฟล์นั้นโดยตรง เพราะการตั้งค่าข้างล่างที่ให้ 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] ตรวจเพียงว่าสตริงคิวรีทั้งหมดว่างหรือไม่ gclid ที่ WP Rocket ละเว้นจึงถูกจัดการเหมือนคิวรีอื่น ถ้าตั้งค่าให้เก็บสำเนามือถือแยก จะมีการตรวจอีกขั้นที่เติม [-mobile] ในชื่อไฟล์

กฎ [.htaccess] ที่ WP Rocket สร้างให้ Apache ก็มีเงื่อนไขว่าสตริงคิวรีต้องว่าง ขั้นที่ตอบด้วยไฟล์แคชโดยตรงโดยไม่ผ่าน 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 ละเว้น: ตอบด้วยไฟล์แคชเดียวกัน

การไม่แคช URL ที่มีคิวรีคือการทำงานพื้นฐานของ WP Rocket แต่คิวรีคลิกโฆษณาเป็นข้อยกเว้น WP Rocket จะตัดพารามิเตอร์ที่อยู่ในรายการคิวรีที่ละเว้นออกก่อนตัดสิน และถ้าไม่มีคิวรีเหลือ จะตอบด้วยไฟล์แคชของ URL ที่ไม่มีคิวรี

// 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] หลังตัดคิวรีที่ละเว้นออกว่าง เส้นทางไฟล์แคชก็ถูกกำหนดเป็น URL ที่ไม่มีคิวรี คำขอที่ต่อ gclid ผ่าน Apache และ PHP แต่คอมเมนต์แคชท้าย HTML เหมือนคำขอที่ไม่มีคิวรี และขนาดการตอบสนองก็เท่ากับไฟล์แคช (gzip) คือ 350,668 ไบต์

รายการคิวรีที่ละเว้นคือรายการพื้นฐานที่ WP Rocket ดาวน์โหลดจากเซิร์ฟเวอร์ของตัวเองสัปดาห์ละครั้งแล้วบันทึกไว้ใน [wp-content/wp-rocket-config/dynamic-lists.json] ณ วันที่ 17 ตุลาคม 2026 รายการนี้มี gclid, gbraid, wbraid, gad_source และ gad_campaignid

ถ้ามีคิวรีที่ไม่อยู่ในรายการปนมาแม้แต่ตัวเดียว WP Rocket จะไม่ใช้แคช หน้าเดียวกันที่ต่อคิวรีใด ๆ ที่ไม่อยู่ในรายการถูก WordPress สร้างใหม่โดยไม่มีคอมเมนต์แคช ถ้าคุณต่อคิวรีติดตามที่สร้างเองเข้ากับ URL โฆษณาด้วย คลิกนั้นจะผ่านเส้นทางนี้ทุกครั้ง

เมื่อต้องการเปลี่ยนรายการ ให้ใช้ ปลั๊กอินตัวช่วยที่ 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/] และอ่านไฟล์นั้นทุกคำขอ ถ้าใส่แค่ฟิลเตอร์โดยไม่สร้างไฟล์การตั้งค่าใหม่ รายการใหม่จะไม่มีผล คิวรีในรายการใช้ไฟล์แคชเดียวของ URL พื้นฐานไม่ว่าค่าจะเป็นอะไร จึงไม่ควรใส่คิวรีที่ค่าของมันเปลี่ยนเนื้อหาหน้า

หลังเพิ่ม [uk_test] ที่ไม่มีในรายการลงในปลั๊กอินตัวช่วยแล้วเปิดใช้งาน ไฟล์การตั้งค่าถูกสร้างใหม่และคิวรีนั้นถูกเพิ่มต่อท้ายรายการ จากนั้นได้ส่งคำขอ URL ที่ไม่มีคิวรีและ URL ที่ค่า [uk_test] ต่างกันสอง URL ตามลำดับ

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 วินาที และได้เปิดท้าย HTML ของคำขอที่ต่อ [uk_test] เพื่อตรวจเวลาแคช

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 -->

เวลาแคชในคอมเมนต์ท้ายตรงกับไฟล์แคชของ URL ที่ไม่มีคิวรี ก่อนเปิดใช้ปลั๊กอินตัวช่วย คำขอเดียวกันถูกสร้างใหม่โดยไม่มีคอมเมนต์แคชในเวลา 0.36–0.38 วินาที

แม้เปิดใช้งานแล้ว คำขอที่ต่อ [foo] ซึ่งไม่อยู่ในรายการมาด้วยก็ไม่ใช้ไฟล์แคชและถูกสร้างใหม่

ในช่วง 1 นาทีทันทีหลังสร้างไฟล์การตั้งค่าใหม่ คำขอ [uk_test] ก็ถูกสร้างใหม่ด้วย เพราะตั้งค่า PHP OPcache ให้ตรวจไฟล์ที่เปลี่ยนซ้ำทุก 60 วินาที (revalidate_freq) จึงเริ่มตอบด้วยไฟล์แคชหลังผ่านไป 1 นาที

แม้ปิดและลบปลั๊กอินตัวช่วยแล้ว บรรทัด [uk_test] ยังอยู่ในไฟล์การตั้งค่า เพราะโค้ดที่ทำงานตอนปิดใช้งานพยายามถอดฟิลเตอร์ที่ใส่ด้วยลำดับความสำคัญ 999 ออกด้วยลำดับความสำคัญค่าเริ่มต้น ไฟล์การตั้งค่าจึงถูกสร้างใหม่ทั้งที่ฟิลเตอร์ยังอยู่ ต้องสร้างไฟล์การตั้งค่าอีกครั้งหลังลบปลั๊กอิน คิวรีนั้นจึงจะหลุดจากรายการ

4️⃣ คีย์แคชของ CDN: การตัดคิวรีโฆษณาและคำขอไปยังต้นทาง

ถ้า CDN ใส่สตริงคิวรีลงในคีย์แคชตามเดิม ทุกคลิกที่ค่า gclid ต่างกันจะไม่มีสำเนาและคำขอถูกส่งไปถึงเซิร์ฟเวอร์ต้นทาง ถ้าตัดคิวรีออกทั้งหมด ปัญหานี้จะหายไป แต่ไม่เหมาะกับเว็บไซต์ที่มี URL ที่เนื้อหาเปลี่ยนตามคิวรีอย่างผลการค้นหา จึงควรตัดเฉพาะคิวรีโฆษณาออกจากคีย์แคช

เมื่อตัดคิวรีโฆษณาแบบนี้ แม้ค่า gclid ต่างกัน CDN ก็ตอบด้วยสำเนาเดียวกับ URL ที่ไม่มีคิวรี และจะส่งคำขอพร้อมคิวรีไปเซิร์ฟเวอร์ต้นทางเฉพาะเมื่อไม่มีสำเนา

# สถานะแคช CDN ของสองคำขอที่ค่า gclid ต่างกัน (ชื่อเฮดเดอร์ต่างกันตาม 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 ทั้งคู่และเวลาที่บันทึกสำเนาตรงกับ URL ที่ไม่มีคิวรี แสดงว่า CDN นั้นตัด gclid ออกจากคีย์แคช การเข้าชมครั้งแรกที่จุดที่ยังไม่มีสำเนา แม้ CDN จะตัดคิวรีโฆษณาออกจากคีย์ ก็ยังผ่านการประมวลผลของ nginx และ WP Rocket บนเซิร์ฟเวอร์ต้นทางตามเดิม

5️⃣ สาเหตุที่คลิกโฆษณาช้า: แคชหน้าเว็บที่ว่างอยู่

ถ้าหน้าแรกที่เข้ามาจากโฆษณาช้า มักเข้าใจว่า gclid ทำให้ข้ามแคช แต่ถ้ามีไฟล์แคช แม้มีคิวรีก็ตอบด้วยไฟล์แคชเดียวกัน สิ่งที่ทำให้ไบต์แรกเพิ่มขึ้นหลายวินาทีคือกรณีที่ไฟล์แคชว่างจน WordPress ต้องสร้างหน้าใหม่

📊ไบต์แรกตามการมีหรือไม่มีแคชวัดภายในเซิร์ฟเวอร์ · วินาที
ตอบด้วยไฟล์แคชWordPress สร้างใหม่
เมื่อมีไฟล์แคช
ไบต์แรกของหน้าเดียวกันที่ขอโดยไม่มีคิวรีและโดยต่อคิวรีคลิกโฆษณา เมื่อมีคิวรี คำขอจะผ่าน Apache และ PHP แต่ยังตอบด้วยไฟล์แคชเดียวกัน
0.0000.0070.0150.0220.030
ไม่มีคิวรี0.014–0.015 วินาทีnginx ตอบโดยตรง
gclid0.029–0.030 วินาทีผ่าน Apache · PHP
เมื่อมีและไม่มีไฟล์แคช
ไบต์แรกของคำขอที่มีคิวรีคลิกโฆษณา และของคำขอที่ WordPress สร้างหน้าใหม่โดยไม่มีไฟล์แคช
0.00.91.82.73.6
gclid0.029–0.030 วินาทีมีไฟล์แคช
สร้างใหม่3.639 วินาทีครั้งที่ 1
สร้างใหม่3.260 วินาทีครั้งที่ 2
ตัวเลขคือไบต์แรกที่วัดจากการขอหน้าเดียวกันภายในเซิร์ฟเวอร์ WordPress แบบ Nginx + Apache (17 ตุลาคม 2026)

ไฟล์แคชจะถูกลบเมื่อพ้น อายุแคชแล้ว ค่าเริ่มต้นของ WP Rocket คือ 10 ชั่วโมง เมื่อบันทึกโพสต์หรือการตั้งค่า แคชที่เกี่ยวข้องจะถูกลบไปด้วย และเมื่อรายการที่ WP Rocket ดาวน์โหลดสัปดาห์ละครั้งถูกเปลี่ยนเป็นเวอร์ชันใหม่แล้วบันทึก แคชของทั้งเว็บไซต์ก็ถูกล้าง

ถ้าเปิด preload ไว้ WP Rocket จะเปิด URL ที่ถูกล้างอีกครั้งเพื่อเติมแคช ผู้เข้าชมที่มาก่อนหน้านั้นต้องรอเวลาที่หน้าเว็บถูกสร้างใหม่ คำขอที่มีแค่คิวรีโฆษณาก็สร้างไฟล์แคชด้วย URL ที่ไม่มีคิวรี คลิกโฆษณาแรกที่เจอแคชว่างจึงเติมแคชให้ผู้เข้าชมคนถัดไป

ทันทีหลังล้างแคช คำขอแรกที่เปิดด้วยคิวรีแบบโฆษณาไม่พบไฟล์แคชและถูกสร้างใหม่ใน 0.341–0.369 วินาที และไฟล์แคชของ URL ที่ไม่มีคิวรีเกิดขึ้นในวินาทีเดียวกัน

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 สองไฟล์

สำหรับ URL ปลายทางของโฆษณา ให้ตรวจเองว่ามีไฟล์แคชหรือไม่และสร้างเมื่อไร และถ้าตั้งค่าให้สร้างสำเนามือถือแยก ให้ตรวจทั้งไฟล์ 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 -->

การตอบสนองที่มาจากไฟล์แคชจะมีเวลาที่สร้างไฟล์แคชเป็นเวลา Unix อยู่หลัง [Debug: cached@] ในคอมเมนต์ท้าย HTML ถ้าไม่มีเครื่องหมายนี้ แสดงว่า WordPress สร้างการตอบสนองนั้นใหม่

🔢 FAQ & เนื้อหาแนะนำ

ณ วันที่ 17 ตุลาคม 2026 รายการพื้นฐานของ WP Rocket ยังมีคิวรี utm อย่าง utm_source, fbclid ของ Facebook, msclkid ของ Microsoft Advertising และ srsltid ของ Google Shopping จึงใช้ไฟล์แคชเดียวกัน คิวรีที่ไม่อยู่ในรายการจะไม่ใช้แคชจนกว่าจะเพิ่มด้วยปลั๊กอินตัวช่วย จึงควรตรวจก่อนว่าชื่อคิวรีของแพลตฟอร์มโฆษณาที่ใช้อยู่ใน [dynamic-lists.json] หรือไม่

ไม่ WP Rocket ตัดคิวรีที่ละเว้นออกก่อนแล้วจึงตรวจรายการ [Cache Query String(s)] แม้ใส่ gclid ในช่องนี้ก็ยังใช้ไฟล์แคชของ URL พื้นฐาน (ตามโค้ด 3.23.5.1) ถ้าต้องการแยกไฟล์แคชตามค่า ให้ทำตามคู่มือทางการ คือเอาออกจากรายการที่ละเว้นด้วยปลั๊กอินตัวช่วยแล้วจึงใส่ในช่องนี้

รูปแบบบันทึกการเข้าถึงพื้นฐานของ nginx และ Apache ไม่มีเวลาประมวลผล จึงต้องประเมินจากขนาดการตอบสนอง เมื่อขอหน้าเดียวกันแบบบีบอัดสองครั้ง การตอบจากไฟล์แคชมีขนาดเท่ากันทั้งสองครั้ง ส่วนการตอบที่สร้างใหม่มีขนาดต่างกัน 2 ไบต์ สำหรับคำขอต่อจากนี้ ถ้าเพิ่ม [$request_time] ในรูปแบบบันทึกของ nginx จะมีเวลาประมวลผลของทุกคำขอ

🧭 บทความที่เกี่ยวกับ WP Rocket บทความ 16 · เครื่องมือ 3
📋 คู่มือตั้งค่า WP Rocket 📄 WP Rocket MCP Server 📄 WP Rocket กับ URL ภาษาเกาหลี 📄 nginx njs 📄 แคชหลายภาษาของ WP Rocket 📄 แคชกับ gclid
📄 ทดสอบความเร็ว WP Rocket 📝 ปลั๊กอินแคช·เพิ่มประสิทธิภาพ 📝 กรณีศึกษาการเพิ่มความเร็ว
📋 แคช: ความหมายและทุกด้านที่ใช้ 📄 แคชเว็บไซต์ & แคชภายในเซิร์ฟเวอร์
📋 BEST โฮสติ้ง TOP 7 📄 โฮสติ้งที่เร็ว 2026
🛠️ ตรวจหา WordPress 🛠️ ตรวจสอบโดเมน WHOIS 🛠️ เช็ค IP ของฉัน
WP Rocket คืออะไร: เทียบ 5 ข้ออ้างของบทความที่แนะนำ FlyingPress กับหน้าจอทางการและการวัดบนเซิร์ฟเวอร์
WordPress · WP Rocket
WP Rocket คืออะไร: ฟีเจอร์หลัก ข้อเสีย และข้อดีของปลั๊กอินแคชแบบครบวงจร
สรุปการทำงานของ WP Rocket ที่ตอบหน้าเว็บด้วยไฟล์แคช และราคา
อ่านบทความ →เนื้อหาปัจจุบัน
คู่มือตั้งค่า WP Rocket: การตั้งค่าพื้นฐานแต่ละเมนูและ Promo Code 20%
WordPress · WP Rocket
คู่มือตั้งค่า WP Rocket: การตั้งค่าพื้นฐานแต่ละเมนูและ Promo Code 20%
บทความที่สรุปการตั้งค่าพื้นฐานแต่ละเมนูและราคาของ WP Rocket
อ่านบทความ →เนื้อหาปัจจุบัน
WP Rocket MCP Server: จัดการแคชและการตั้งค่าด้วยเครื่องมือ AI
WordPress · MCP
WP Rocket MCP Server: จัดการแคชและการตั้งค่าด้วยเครื่องมือ AI
วิธีจัดการแคชและการตั้งค่าของ WP Rocket จากเครื่องมือ AI
อ่านบทความ →เนื้อหาปัจจุบัน
แผนภาพลำดับคำขอ URL ภาษาเกาหลีของ WP Rocket
WordPress · WP Rocket
WP Rocket กับ URL ภาษาเกาหลี
สาเหตุที่ nginx หาไฟล์แคชไม่เจอเพราะตัวพิมพ์ใหญ่-เล็กของการเข้ารหัสในคำขอ URL ภาษาเกาหลี และวิธีแก้ด้วย njs
อ่านบทความ →เนื้อหาปัจจุบัน
แผนภาพตัวแปร nginx njs และพาธไฟล์แคช
Server · nginx
nginx njs: ติดตั้งโมดูล ตั้งค่า js_set และใช้ reload เพื่อสร้างตัวแปร JavaScript
วิธีติดตั้งโมดูล njs ที่สร้างตัวแปรด้วยฟังก์ชัน JavaScript ในค่าตั้ง nginx และนำตัวแปร js_set มาใช้ด้วย reload
อ่านบทความ →เนื้อหาปัจจุบัน
แผนภาพลำดับการบันทึกโพสต์ของแคชหลายภาษา WP Rocket
WordPress · WP Rocket
แคชหลายภาษาของ WP Rocket
สาเหตุที่การบันทึกฉบับร่างลบแคชของหน้าแปลไปทั้งโฟลเดอร์ภาษา และโค้ดที่ป้องกันไว้
อ่านบทความ →เนื้อหาปัจจุบัน
ลำดับที่คำขอซึ่งมีคิวรีโฆษณาถูกส่งไปเซิร์ฟเวอร์ต้นทางเมื่อ CDN ไม่มีสำเนา ผ่านจาก nginx ไป Apache แล้ว WP Rocket ตัดคิวรีโฆษณาออกและตอบด้วยไฟล์แคชเดียวกัน
Server · แคช
แคชกับ gclid: คิวรีจากการคลิกโฆษณา คีย์แคชของหน้า และไบต์แรกที่วัดได้
วัดด้วยไบต์แรกว่าคิวรี gclid ที่ต่อท้าย URL จากการคลิกโฆษณาถูกข้าม และตอบด้วยไฟล์แคชของ URL ที่ไม่มีคิวรีอย่างไร
อ่านบทความ →เนื้อหาปัจจุบัน
ทดสอบความเร็วปลั๊กอินแคช WordPress อย่าง WP Rocket: วิเคราะห์เปรียบเทียบประสิทธิภาพก่อนและหลังตั้งค่า
WordPress · ทดสอบความเร็ว
ทดสอบความเร็วปลั๊กอินแคช WordPress อย่าง WP Rocket: วิเคราะห์เปรียบเทียบประสิทธิภาพก่อนและหลังตั้งค่า
บทความที่วัดและเปรียบเทียบความเร็วก่อนและหลังตั้งค่า WP Rocket
อ่านบทความ →เนื้อหาปัจจุบัน
ปลั๊กอินแคชและปลั๊กอินเพิ่มประสิทธิภาพของ WordPress
WordPress · ปลั๊กอินแคช
ปลั๊กอินแคชและปลั๊กอินเพิ่มประสิทธิภาพของ WordPress
บทความที่แยกอธิบายปลั๊กอินแคชและปลั๊กอินเพิ่มประสิทธิภาพของ WordPress
อ่านบทความ →เนื้อหาปัจจุบัน
กรณีศึกษาการเพิ่มความเร็ว WordPress: การกลับมาของการมองเห็นในการค้นหาหลังจัดระเบียบชั้นแคช (2026-08)
WordPress · การเพิ่มความเร็ว
กรณีศึกษาการเพิ่มความเร็ว WordPress: การกลับมาของการมองเห็นในการค้นหาหลังจัดระเบียบชั้นแคช (2026-08)
กรณีที่การมองเห็นในการค้นหากลับมาหลังจัดระเบียบชั้นแคช
อ่านบทความ →เนื้อหาปัจจุบัน

ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

Prove your humanity: 6   +   1   =