วันพุธที่ 6 กรกฎาคม พ.ศ. 2559

กำหนดการแคชในเบราว์เซอร์ แปะไว้กันลืม

พอดีได้ไปนั่งแก้ไขเว็บไซต์ รุ่นพระเจ้าเหามาที่เคยทำไว้ครับ เค้าบอกว่ามันช้า ผมเลยลองเอาเข้าไปเทสสปีดเว็บไซต์ดู ปรากฏว่า แม่เจ้า ได้แค่ 60/100 เองครับ สรุปให้อย่างแรก หลังจากทดสอบมานะครับ สิ่งที่ทำให้คะแนนมันต่ำเตี้ยเรี่ยดินขนาดนี้ก็คือ การไม่ได้แคชไฟล์รูปภาพในเว็บนะครับ วิธีการแก้ไขนะครับ

สำหรับคนที่ใช้โฮสแบบ Linux
ให้เข้าไปแก้ที่ .httaccess ครับโดยเพิ่มคำสั่งเหล่านี้ไปครับ

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

**604800 คือหน่วยวินาทีครับ บวกลบคูณหารแล้วก็คือ เก็บไว้ 7 วันครับ

สำหรับคนที่ใช้ host แบบ window server
ให้เข้าไปแก้ไฟล์ web.config ครับ โดยเพิ่มตามนี้

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
    </staticContent>
  </system.webServer>
</configuration>

**7.00:00:00 หมายถึงเจ็ดวันครับ

ทำไมถึงต้องเจ็ดวัน ผมลองน้อยกว่านี้ page speed มันไม่ผ่านอ่ะครับ  ผมเลยเข้าใจว่า มันคงให้เก็บแคชไว้น้อยสุด 7 วันครับ

ปล. ไฟล์ .htaccess หรือ web.config หากไม่มี เพิ่มเองได้เลยครับ วางไว้ที่ อยู่เดียวกับไฟล์ index หน้าแรกครับ

อันนี้คือพอแก้ไขเสร็จแล้วครับ

พอแก้เรื่อง cache แล้วความเร็วก็พุ่งประมาณนี้ล่ะครับ จาก60/100


ว่างๆ เด๋วจะมาต่อเรื่อง css/js กับการบล๊อกเนื้อหาด้านบนนะครับ