เข้าหน้าเว็บแล้วยังเจอไฟล์เดิม เคลียร์แคชยังไงให้หาย?

หลายๆ ครั้งที่เราแก้ไขข้อมูลเว็บไซต์ แล้วพบว่าหน้าเว็บไม่เปลี่ยนไปตามที่แก้ หรือส่ง url ให้คนอื่น แต่พบว่าเค้าเห็นหน้าเว็บไม่เหมือนเรา ส่วนใหญ่แล้วสาเหตุของปัญหาเหล่านี้คือ “เพราะเครื่องที่ดูอยู่ ไปดึงข้อมูลมาจากแคช (ที่เก็บชั่วคราว) แทนที่จะดึงจากข้อมูลล่าสุดที่มี”

แคชอยู่ที่ไหน? ทำไมต้องมีแคช?

แคชนั้นมีกระจายอยู่ในหลายจุดมาก ตั้งแต่เว็บไซต์, Cloud/CDN, ผู้ให้บริการอินเทอร์เน็ต, เราเตอร์ที่ใช้ต่อเน็ตที่บ้าน จนถึงเครื่องของเรา ที่ต้องมีแคช ก็เพื่อทำให้ไฟล์หลายๆ ไฟล์นั้นโหลดเร็วขึ้น ไม่ต้องไปเรียกจากต้นทางทุกครั้ง

เราเลยต้องไล่เคลียร์แคชตามจุดต่างๆ เพื่อให้เห็นเวอร์ชั่นล่าสุดของเว็บเรา

แคชที่ตัวเว็บ

อันนี้คือต้นทาง เพราะเว็บในยุคนี้ควรมีแคชกันทุกๆ เว็บแล้ว หากใช้เวิร์ดเพรสก็ติดตั้งปลั๊กอินแคช เช่น WP Fastest Cache (เพราะตั้งค่าง่าย ตัวฟรีติ๊กทุกช่องที่ติ๊กได้ ได้ผลดีกว่า WordPress Super Cache ที่โด่งดังเสียอีก)

ดังนั้น หากเว็บเรามีการใช้ปลั๊กอินแคช เวลาเปลี่ยนแปลงข้อมูลต่างๆ ก็ควรสั่งเคลียร์แคชด้วย เช่น ในเมนูบน Admin Bar ตามรูปครับ

แต่หากเรากำลังแก้ไขเว็บจริงอยู่ และคนเข้าไม่ได้เยอะมาก ก็แนะนำให้ปิดปลั๊กอินแคชไปก่อนนะครับ จะได้ไม่ต้องเคลียร์บ่อยๆ (ส่วนคนที่ทำงานกับเว็บขนาดใหญ่ ก็ต้องไปพัฒนาบนเว็บทดสอบอีกเว็บนึงอยู่แล้วนะครับ อันนั้นก็ไม่ต้องเปิดแคชไปเลย)

แคชที่ CDN

หากเราตั้งค่าให้เว็บไปสำรองข้อมูลผ่าน Cloudflare ต้องระวังว่า ทุกครั้งที่อัพเดทเว็บ ต้องไปเคลียร์แคชที่ Cloudflare ด้วย มีปลั๊กอิน Cloudflare ที่ช่วยเคลียร์ให้ แต่ว่าถ้าเรากำลังแก้เว็บอยู่ ก็ควรเปิดโหมด Development Mode ตามในรูปนะครับ ระบบจะได้หยุด Cache ไปก่อน 3 ชั่วโมง

แคชที่ผู้ให้บริการอินเทอร์เน็ต (ISP)

กรณีนี้นานๆ จะเกิดซักครั้ง เช่น ถ้าดูด้วยเน็ต TRUE กลับแสดงผลไม่เหมือนเน็ต 3BB, AIS เพราะผู้ให้บริการอินเทอร์เน็ตมีการแคชไฟล์ไว้บางส่วน

ทางแก้ก็มีแต่ต้องลองเปลี่ยนเน็ตที่ใช้ดู เช่น เปลี่ยนไปต่อเน็ตผ่านมือถือ เพื่อดูว่าเห็นผลลัพธ์ต่างกับเน็ตบ้านที่ใช้หรือเปล่า

แคชที่เราเตอร์/โมเด็มต่อเน็ต

อันนี้ก็นานๆ เกิดขึ้นครั้งนึงเช่นกัน วิธีเคลียร์แบบบ้านๆ สุดๆ ก็คือไปปิดเปิดเราเตอร์/โมเด็มใหม่ ก็จะทำให้แคชหายไปได้ (แต่ก่อนจะใช้วิธีนี้ เราคงต้องลองเปลี่ยนไปใช้เน็ตมือถือเทียบกันก่อนอยู่แล้ว)

แคชที่คอมพิวเตอร์ของเรา

อันนี้เป็นกรณีที่เกิดบ่อยที่สุดนะครับ

วิธีแก้แบบสะดวกหน่อย คือลองเปิดเบราว์เซอร์อีกตัวขึ้นมา เช่น ถ้าใช้ Chrome อยู่ ก็ลองเปิด Firefox / Safari / Opera มาเทียบกันดู หรือเข้าโหมด incognito / private mode หรือเคลียร์แคชผ่านโปรแกรมก็ได้

แต่หลังจากลองมาหลายท่า ผมพบว่าวิธีที่สะดวกที่สุด คือ ใช้ Developer Tools แล้วสั่งว่าอย่าใช้แคชเลยนะ มีอะไรให้ไปโหลดใหม่อย่างเดียวเลย

ขั้นตอนปิดแคชบนโครม คือ

  1. ใช้ Chrome เปิด Developer Tools โดยการกด F12 (Windows) หรือไปที่เมนู View -> Developer -> Developer Tools
  2. ไปที่แท็บ Network
  3. ไปติ๊กที่ Disable Cache ตามรูป
  4. คราวนี้ลอง refresh หน้าเว็บใหม่ ระบบจะไม่มีการแคชในเครื่องแล้วครับ แล้วต่อไปเวลาเข้าหน้าไหน หากต้องการมั่นใจว่าไม่ติดแคช ก็เปิด Developer Tools ไว้ คราวนี้ก็เช็คเว็บได้สบายใจแล้วครับ

สรุป

แคชนั้นมีประโยชน์ในแง่ที่ทำให้เว็บโหลดเร็ว รองรับคนได้เยอะ แต่ข้อเสียคือ เวลาเราแก้ไขเว็บไป กลับไม่แน่ใจว่าเว็บเปลี่ยนไปจริงๆ หรือยัง คำแนะนำคือ เปิด Developer Tools แล้วสั่ง Disable Cache ไว้ จะทำให้การทำงานแก้ไขเว็บสะดวกขึ้นอีกมากครับ และทีมงาน/ลูกค้า ที่ต้องการดูเว็บเวอร์ชั่นล่าสุด หากทำตามคำแนะนำด้านบน ก็จะเห็นเว็บตรงกัน เข้าใจเนื้อหาของงานตรงกัน ไม่เกิดความเข้าใจผิดว่า “เฮ้ยน้อง ตกลงแก้เว็บให้พี่ยังเนี่ยยยยย” 😀


หมายเหตุ: คำถามผ่านเฟซบุคอาจมีการตกหล่น แนะนำให้ติดต่อผ่าน อินบ๊อกซ์ หรือ เว็บบอร์ด นะครับ

Copyright © 2016-2019. All rights reserved.