ใช้งาน gzip ให้เว็บเราบน Gitlab page

ใช้งาน gzip ให้เว็บเราบน Gitlab page

ผมจะทำเว็บบริษัทใหม่โดยทำเป็นแบบ Nextjs แล้ว Build ออกมาเป็น Static web โดยฝาก ไว้บน Gitlab page เพื่อความประหยัด หลังจากนั้นก็เลยใช้ Google Lighthouse ตรวจสอบเว็บ แล้วพบว่ามันมี Error คือ Enable text compression อยู่

โดยการแก้ไขเขาแนะนำให้ gzip ไฟล์พวก CSS, JavaScript, และ HTML ไว้

เราสามารถตรวจสอบเว็บตัวเองได้โดยการ

$ curl -ILH "Accept-Encoding: gzip" https://twinsynergy.co.th/

ถ้าแสดงประมาณนี้แสดงว่าเว็บของเรายังไม่ได้ทำ gzip ไว้

ฉะนั้นเราสามารถจัดการได้ดังนี้ผ่าน gitlab-ci

pages:
  image: node:18-alpine
  stage: build
  script:
    - yarn install --frozen-lockfile
    - yarn build
    - rm -rf public/*
    - mv out/* public
    - rm -rf out
    - gzip -k -6 $(find public -type f)
  artifacts:
    paths:
      - public
    expire_in: 1 hrs
    when: always

สังเกตุคำสั่ง gzip -k -6 $(find public -type f) มันเป็นการทำ gzip ให้กับไฟล์ภายใน public

คราวนี้เราลองคำสั่ง curl -ILH "Accept-Encoding: gzip" https://twinsynergy.co.th/ อีกรอบก็ได้จะแบบนี้

สังเกตุว่ามี content-encoding: gzip แล้ว ไปแสกนด้วย Google lighthouse อีกรอบ Enable text compression ก็จะหายไปแล้ว เย้ ได้คะแนนเพิ่มอีกนิด ฮาๆ

Arnon Kijlerdphon

Arnon Kijlerdphon

Board game & Plant-based & Minimalist, it's all my life.
Bangkok, Thailand