วิธีแก้ URL Joomla ที่มีตัวเลขหรือรหัส Itemid ปรากฏในลิงก์

ก่อนแก้ URL Joomla ที่มีตัวเลข ให้ดูว่าตัวเลขนั้นอยู่ในรูปแบบใด เพราะ Itemid คือรหัสของ Menu Item ส่วนตัวเลขที่อยู่ในเส้นทาง SEF อาจเป็นรหัสบทความหรือหมวดหมู่ที่ Joomla ใช้ระบุหน้า การเปิด SEF URLs ช่วยซ่อนพารามิเตอร์บางส่วน แต่ไม่ได้ทำให้ตัวเลขทุกตัวหายไป

❶ แยกให้ออกว่าตัวเลขมาจากอะไร

① URL มีพารามิเตอร์ Itemid

URL แบบเดิมอาจมีลักษณะคล้าย index.php?option=com_content&view=article&id=15&Itemid=28 โดย Itemid หมายถึงรหัสของรายการเมนูที่ Joomla ใช้เลือกเส้นทางและบริบทของหน้า

การเปิด SEF URLs อาจเปลี่ยนรูปแบบ URL ให้อ่านง่ายขึ้น แต่บางกรณียังมีพารามิเตอร์ที่จำเป็นอยู่ จึงไม่ควรลบ Itemid ออกจากลิงก์ด้วยการแก้ URL เอง

② URL แบบ SEF ยังมีตัวเลขในเส้นทาง

ตัวอย่างเช่น /articles/12-seo/15-joomla-guide ตัวเลขอาจเป็นรหัสหมวดหมู่หรือบทความที่ Joomla ใช้กับ router เพื่อเปิดหน้าให้ถูกต้อง การมีตัวเลขแบบนี้ไม่ได้แปลว่าการตั้งค่า SEF ผิด

③ ตรวจว่าเปิด SEF URLs แล้วหรือยัง

เข้า System → Global Configuration → SEO แล้วตรวจว่า Search Engine Friendly URLs เปิดอยู่หรือไม่ หาก URL ยังแสดง index.php และต้องการซ่อนส่วนนี้ ให้ตรวจเรื่อง Use URL Rewriting และการตั้งค่าเว็บเซิร์ฟเวอร์แยกต่างหาก

❷ จัดเส้นทาง URL ผ่านเมนูและ alias

① สร้าง Menu Item ให้ชี้ไปยังหน้าที่ต้องการ

Menu Item เป็นส่วนสำคัญของเส้นทางใน Joomla เลือกเมนูที่เหมาะสมและตั้งชนิดรายการให้ตรงกับเนื้อหา เช่น บทความเดี่ยวหรือหน้าแสดงหมวดหมู่

หากบทความมีเส้นทางไม่สม่ำเสมอ ให้ตรวจว่ามี Menu Item ที่ชี้ไปยังบทความหรือหมวดหมู่นั้นหรือไม่ อาจใช้เมนูที่ไม่แสดงในแถบนำทางเพื่อกำหนดเส้นทางได้ แต่ควรตรวจผลลัพธ์จริงหลังบันทึก

② ตั้ง Alias ของเมนู หมวดหมู่ และบทความ

เปิดรายการเมนู หมวดหมู่ และบทความ แล้วตรวจช่อง Alias ให้สื่อความหมาย สั้น และไม่ซ้ำกับรายการอื่นในเส้นทางเดียวกัน

การเปลี่ยน alias จะเปลี่ยน URL ของรายการนั้นได้ หากหน้าเดิมเผยแพร่แล้ว ควรวางแผนเปลี่ยนเส้นทางจาก URL เก่าไป URL ใหม่

③ ตรวจเส้นทางจากหน้าเว็บจริง

เปิดบทความจากเมนู หมวดหมู่ และลิงก์ภายใน แล้วเปรียบเทียบ URL ที่ได้ หากบทความเดียวกันเปิดได้หลาย URL ให้จัดเส้นทางหลักให้ชัด และตรวจการตั้งค่า canonical ในขั้นตอนที่เกี่ยวข้อง

❸ จัดการตัวเลขที่ไม่จำเป็นอย่างระมัดระวัง

① อย่าลบตัวเลขจาก URL ด้วย .htaccess

การลบตัวเลขด้วยกฎ rewrite โดยไม่เข้าใจระบบ routing อาจทำให้ Joomla แยกไม่ออกว่าควรเปิดบทความหรือหมวดหมู่ใด และอาจทำให้เกิดหน้า 404 หรือเปิดผิดหน้าได้

② ตรวจส่วนเสริมที่ปรับ routing

หากต้องการ URL ที่ไม่มีตัวเลขในเส้นทาง ให้ตรวจว่ามีส่วนเสริมจัดการ SEF หรือ routing อยู่หรือไม่ อ่านความเข้ากันได้กับ Joomla เวอร์ชันที่ใช้ และทดสอบบนสำเนาเว็บไซต์ก่อนใช้งานจริง

③ อย่าเปลี่ยน URL เก่าจำนวนมากในครั้งเดียว

การเปลี่ยนเส้นทาง URL อาจกระทบลิงก์ภายใน ลิงก์จากเว็บไซต์อื่น และหน้าที่ Google เคยจัดทำดัชนี ให้เปลี่ยนทีละกลุ่ม บันทึก URL เก่าไว้ และตรวจว่ามีการส่งต่อไปยังหน้าใหม่ถูกต้อง

ComSiam แนะนำให้เริ่มจากระบุชนิดของตัวเลขและตรวจเมนูที่เกี่ยวข้องก่อน ไม่ควรรีบลบตัวเลขที่ Joomla ใช้สร้างเส้นทางของหน้า

❹ ตรวจสอบหลังปรับ URL

① ทดสอบ URL เก่าและใหม่

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

② ตรวจลิงก์ภายในเว็บไซต์

ตรวจเมนู บทความที่เกี่ยวข้อง โมดูล และปุ่มต่าง ๆ ว่ายังเปิดหน้าเป้าหมายได้ หากพบลิงก์ที่ชี้ไป URL เก่า ให้แก้เป็น URL ปัจจุบัน

③ ตรวจหน้า 404 และการจัดทำดัชนี

หลังเปลี่ยน URL ให้ตรวจหน้า 404 และสถานะ URL ในเครื่องมือดูแลเว็บไซต์ หากพบหน้าเดิมที่ยังถูกค้นพบ ให้จัดการเส้นทางหรือเปลี่ยนเส้นทางอย่างเหมาะสม

❺ สรุปวิธีแก้ตามอาการ

  • ถ้าเห็น Itemid ใน query string ให้ตรวจ SEF URLs และเส้นทางจาก Menu Item
  • ถ้าเห็นตัวเลขในเส้นทาง SEF ให้ตรวจว่าเป็นรหัสหมวดหมู่หรือบทความหรือไม่
  • ถ้า URL แสดง index.php ให้ตรวจ URL Rewriting และเว็บเซิร์ฟเวอร์
  • ถ้าต้องการเอาตัวเลขออก ให้ทดสอบส่วนเสริม routing บนสำเนาเว็บไซต์ก่อน
  • ถ้าเปลี่ยน URL ที่เผยแพร่แล้ว ให้จัดการ URL เก่าและตรวจลิงก์ภายใน

ตัวเลขใน URL Joomla บางกรณีเป็นส่วนหนึ่งของการทำงานปกติ การแยกสาเหตุให้ถูกก่อนแก้ช่วยให้เว็บไซต์ยังเปิดหน้าได้ตรงเนื้อหา และลดปัญหาลิงก์เสีย สำหรับเว็บไซต์ของ ComSiam ควรทดสอบการเปลี่ยนเส้นทางบนสำเนาเว็บไซต์ก่อนนำไปใช้จริง