Tech stack ที่ใช้คือ Nuxt3 + Tailwind CSS + DaisyUI ที่เราเลือกใช้ Nuxt3 เพราะมีความสามารถในการทำ Server-Side Rendering (SSR) และ Static Site Generation (SSG) ทำให้เว็บไซต์โหดเร็วขึ้น และดีต่อ SEO เนื่องจากสามารถจัดทำ index ได้ดีกว่า และขอขอบคุณ Tailwind CSS DaisyUI ที่ช่วยให้เรามี UI สวย ๆ แบบนี้ได้
Deployment Diagram
ขออธิบายการทำงานนี้ ประกอบกับ Diagram สักหน่อย โดยเริ่มต้นที่ Local Development Environment ซึ่งเป็นที่ที่เราสร้างและทดสอบเว็บไซต์ด้วย Nuxt 3 ก่อนที่โค้ดจะถูก Push ขึ้นไปยัง GitHub เพื่อจัดการ version และเก็บข้อมูลไว้ใน Repository เมื่อมีการเปลี่ยนแปลงในโค้ด GitHub จะเริ่มกระบวนการ Deploy โดยส่งคำสั่งไปยัง Cloudflare Pages ที่มีหน้าที่สร้างและปล่อยเว็บไซต์ไปยัง Live Environment สุดท้ายเนื้อหาจะถูกส่งไปยัง Cloudflare CDN ที่ทำหน้าที่กระจายเนื้อหาให้แก่ผู้ใช้งาน โดยเมื่อผู้ใช้เข้าถึงเว็บไซต์ผ่าน Internet ผ่านโดเมน chompukyrc.com ผู้ใช้จะสามารถรับชมเนื้อหาที่รวดเร็วและมีประสิทธิภาพ เนื่องจาก Cloudflare CDN จะทำการส่งข้อมูลจาก server ที่อยู่ใกล้ที่สุดกับผู้ใช้นั่นเอง
เราอยากเพิ่มโอกาสในการมองเห็นจากโปรแกรมเก็บข้อมูล (Crawlers) ซึ่งจะช่วยให้ เว็บไซต์ของเราถูกจัดทำ Indexing ในผลการค้นหาได้ดีขึ้น นอกจากนี้ยังช่วยลดต้นทุน การตลาดในระยะยาวได้อีกด้วย เว็บไซต์ที่มีการทำ SEO ที่ดี มักจะมี UX ที่ดี เช่น ความเร็วในการโหลดหน้าเว็บ ทำให้เกิดความน่าเชื่อถือในสายตาของผู้ใช้งาน ดังนั้น การลงทุนใน SEO จึงเป็นการสร้างความมั่นคงให้กับเว็บไซต์ในระยะยาวนั่นเอง
เราได้ทดสอบ SEO ที่เราทำโดยใช้ และนี่คือผลลัพธ์ สังเกตได้ว่า SEO 100% แล้ว แต่กว่าจะมา 100% ได้ ก็มีการแก้ไขหลายอย่างตามที่ และ Nuxt SEO Documentation แนะนำ
ในส่วนด้าน Performance ที่ทำให้ไม่สามารถถึงระดับ 100% ได้นั้น อาจเกิดจากหลายปัจจัย เช่น ข้อจำกัดของเซิร์ฟเวอร์ที่มีทรัพยากรจำกัด เช่น CPU หรือ Bandwidth ซึ่งอาจทำให้อัตราการตอบสนองช้าลง นอกจากนี้ ไฟล์ที่มีขนาดใหญ่ เช่น รูปภาพหรือ JavaScript ที่ไม่ได้ถูกบีบอัดก็จะเพิ่มเวลาในการดาวน์โหลด ความเร็วในการเชื่อมต่อของผู้ใช้ที่แตกต่างกันอาจส่งผลกระทบต่อเวลาโหลดเว็บไซต์ได้เช่นกัน