ป้ายกำกับ: Pretty Urls

Yii2: pretty urlsYii2: pretty urls

ในโลกของการทำ Search Engine Optimization (SEO) การที่เว็บไซต์มี URL ที่ยาวเหยียดเต็มไปด้วย Query String เช่น http://localhost/BanBan/1/backend/web/index.php?r=gii%2Fdefault%2Fview&id=model ถือเป็นอุปสรรคสำคัญที่ส่งผลเสียต่อประสบการณ์ผู้ใช้งาน (User Experience) และทำให้ Search Engine Bot เข้าใจโครงสร้างของเว็บไซต์ได้ยาก

การเปลี่ยนมาใช้ Pretty URLs หรือ Clean URLs คือการปรับปรุงที่สำคัญที่สุดอย่างหนึ่ง เพราะจะทำให้ URL มีความสั้น กระชับ และสื่อความหมายถึงเนื้อหาได้อย่างชัดเจน เช่น http://localhost/product/apple-banana

หลักการทำงานของ Pretty URLs กับ PostgreSQL

แม้ว่า Pretty URLs จะเป็นการจัดการที่ระดับ Web Server และ Framework แต่หัวใจสำคัญของการเก็บข้อมูลที่รองรับ Clean URLs คือการออกแบบฐานข้อมูลที่แข็งแกร่ง ซึ่ง PostgreSQL เข้ามามีบทบาทสำคัญในการจัดการและตรวจสอบความถูกต้องของ Slug (ส่วนที่ใช้แทน URL) เพื่อให้มั่นใจว่า URL ที่แสดงผลนั้นตรงกับข้อมูลจริงในระบบ

แทนที่จะพึ่งพาการ Rewrite Rules ที่ซับซ้อน เราสามารถใช้ฟังก์ชันของ PostgreSQL ในการสร้างและตรวจสอบความถูกต้องของ Slug ได้อย่างมีประสิทธิภาพ โดยเฉพาะการทำ Normalization เพื่อแปลงข้อความภาษาไทยหรือภาษาที่มีอักขระพิเศษให้เป็นรูปแบบที่เหมาะสมสำหรับ URL

การสร้างและจัดการ Slug ด้วย PostgreSQL

เราสามารถสร้างฟังก์ชัน (Function) ใน PostgreSQL เพื่อทำหน้าที่แปลงข้อความใดๆ ให้เป็น Slug ที่เป็นมาตรฐาน (เช่น เปลี่ยนช่องว่างเป็นขีดกลาง และลบอักขระที่ไม่จำเป็นออก) นี่คือตัวอย่างการสร้างฟังก์ชัน slugify:

SQL

-- 1. สร้างฟังก์ชันสำหรับแปลงข้อความให้เป็น Slug ที่เป็นมาตรฐาน (Normalization) <code>
CREATE OR REPLACE FUNCTION slugify(text_input text) <code>
RETURNS text AS $$ <code>
SELECT lower(regexp_replace(text_input, ' ', '-') || '-' || lower(regexp_replace(text_input, '[^a-zA-Z0-9\-]+', '', 'g'))); <code>
$$ LANGUAGE sql IMMUTABLE; </code>

-- 2. ตัวอย่างการใช้งานเพื่อแปลงชื่อสินค้า: <code>
SELECT slugify('Apple Banana Orange'); </code>
-- ผลลัพธ์: apple-banana-orange

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

สรุปและแนวทางการนำไปใช้

การปรับใช้ Pretty URLs ไม่ได้เป็นเพียงแค่การทำให้ URL ดูสวยงามเท่านั้น แต่ยังเป็นการปรับปรุงโครงสร้างเว็บไซต์ให้เป็นมิตรกับ Search Engine และผู้ใช้งานอย่างแท้จริง ในมุมมองของ System Architect การผสานการทำงานระหว่าง Web Framework (ที่จัดการการ Routing) และ PostgreSQL (ที่จัดการความถูกต้องของข้อมูล Slug) อย่างลงตัว จะช่วยให้เว็บไซต์ของคุณมีประสิทธิภาพสูงสุด

การใช้ PostgreSQL ในการควบคุมการสร้าง Slug ทำให้เราสามารถสร้างระบบที่ทนทานต่อการเปลี่ยนแปลงของข้อมูล และรับประกันว่าทุก URL ที่แสดงผลต่อผู้ใช้และ Search Engine จะเป็นรูปแบบที่สม่ำเสมอและมีคุณภาพสูง