เพราะปัญหา มีไว้ให้แก้ไข จึงเกิด Redirect Cleaner

หลายคนอาจจะเคยมีเว็บไซต์ที่ใช้ Joomla เวอร์ชันเก่า พอถึงวันหนึ่ง ก็จะต้องทำการอัพเดดปรับปรุงเว็บไซต์ใหม่ รวมทั้งเปลี่ยนโครงสร้างเนื้อหาของเว็บไซต์ ผมเองก็เช่นกัน ขอยกตัวอย่างจากการปรับปรุงเว็บไซต์สมาคมศึกษาและพัฒนาโอเพ่นซอร์ส (OSEDA) โดยการไมเกรดเว็บไซต์ไม่ได้มีความยุ่งยากอะไรมากนักสำหรับเว็บนี้ ด้วยที่พยายามจะใช้ Extension เสริมเพิ่มเติมให้น้อยที่สุด มีโครงสร้างเมนูและเนื้อหาในเว็บไซต์ที่ปรับปรุงเปลี่ยนแปลงจากของเดิม ทำให้ URL ในบางเมนูเปลี่ยนแปลงไปจากของเก่า สำหรับคนที่เปิดเข้าหน้าเว็บไซต์โดยตรงแล้วคลิกตามเมนูแต่ละเมนู ก็สามารถเช้าใช้งานได้ตามปกติ แต่เนื่องจากเว็บนี้เคยเปิดใช้งานมานานแล้ว Google ก็มีการเก็บ history ของ url หลายๆหน้าไว้หรือที่เรารู้จักกันในชื่อ google cache รวมถึงมีเว็บอื่นๆ ทำ Link กลับเข้ามายังเนื้อหาข่าวบางรายการ

ซึ่งหากเรามีการเปลี่ยนแปลง url ไปแล้ว เมื่อมีคนเปิดเข้ามาจากลิงก์ดังกล่าว หน้าเว็บก็จะขึ้นเป็น 404 Page Not Found หากเรามี URL หน้าใหม่และต้องการให้คนที่คลิกตามลิงก์เก่าเข้ามา โดยไม่ให้เกิดการแสดงเป็น 404 Page Not Found เราสามารถทำการเปลี่ยนไปยัง URL ใหม่ให้อัตโนมัติได้ง่ายๆ โดยใน Joomla! มี Component Redirect เพื่อไว้ใช้จัดการปัญหาได้ผ่าน 301 Redirect page และแน่นอน เพื่อแก้ปัญหาที่เกิดกับเว็บนี้ เราก็ต้องเปิดใช้ Component Redirect นี้ โดยคนที่เป็น WebMaster จะต้องหมั่นคอยดูรายการที่เกิดขึ้นว่ามี URL อะไรที่มีการเรียกใช้และ URL ไหนที่เรียกใช้แล้วไม่พบหน้าเว็บบนเว็บไซต์ภายใต้โครงสร้างเนื้อหาเว็บตัวใหม่บ้าง

ส่วนการใช้งานสามารถดูได้จากคู่มือของ Joomla! ตาม Link นี้
Joomla 2.5 : http://docs.joomla.org/Help25:Components_Redirect_Manager
Joomla 3.3 : http://docs.joomla.org/Help33:Components_Redirect_Manager

เมื่อเว็บเปิดใช้งานไปได้สักระยะ แล้วเรามาตรวจดูในส่วนของ Redirect Manager เราจะพบรายการต่างๆ เกิดขึ้นมากมาย ซึ่งคนที่เป็นเจ้าของเว็บจะต้องดูว่าใน Column Expired URL นั้นใช่ URL ปกติหรือไม่ หากเรามี URL ใหม่ของหน้าที่ต้องการให้ระบบเปลี่ยนหน้าไปให้อัตโนมัติ เราก็มาใส่ในช่อง New URL แล้ว Enable คือเปิดใช้งานรายการนั้นซะ ซึ่งปกติแล้วเราจะดูช่อง 404 Hits ประกอบกันด้วยว่ามีการเรียกมาบ่อยแค่ไหน มี Refering Page (หน้าที่กดลิงก์มา) หรือไม่ที่จะบอกว่ามีการเรียกมาจากหน้าไหนหรือเว็บไหน

Redirect Manager

จากตัวอย่างผมพบ URL ที่มีการเรียกแปลกๆ โดยไม่มี Referring Page อยู่จำนวนมากหลายหน้า ถ้าเราหมั่นดูทุกวันบ่อยๆ ก็คงจะลบออกเองได้ไม่ยาก แต่ด้วยความที่มีหลายเว็บที่ต้องดูแล จึงมีรายการที่เกิดขึ้นในนี้เยอะมากหลายพันรายการ และมีหลายรายการที่ผมต้องการจะลบมันออก จึงคิดว่ามันน่าจะมีเครื่องทุ่นแรง ที่จะลบให้เราอัตโนมัติ ตามเงื่อนไขที่เรากำหนดไว้ได้ง่ายๆ โดยไม่ต้องมาไล่ลบออกเองทีละรายการ ซึ่งแน่นอน การลบรายการในระบบของ Joomla! ใหม่นั้น เป็นเพียงการเปลี่ยนสถานะจากการเปิดใช้งานเป็นสถานะลบ ซึ่งหากเราต้องการที่จะลบออกจริงๆ จะต้องเปลี่ยนตัวกรองด้านบน เพื่อดูเฉพาะรายการสถานะลบ แล้วทำการเลือกลบอีกครั้งหนึ่ง เพื่อลบอย่างถาวรออกจากฐานข้อมูลไป ซึ่งค่อนข้างยาก และใช้เวลามากในการลบ

ด้วยเหตุนี้ จึงเป็นที่มาของการพัฒนา Redirect Link Cleaner Plugin โดยมีเงื่อนไขอยู่ 2 เงื่อนไข คือ ตรวจสอบว่าในรายการที่เข้ามา ตรง Column None Referring Page มีข้อมูลหรือไม่ Status เป็น Disable อยู่หรือเป็น Trash หรือทั้ง Disable และ Trash ถ้าเข้าเงื่อนไขนี้ ก็ให้ทำการลบให้อัตโนมัติ

Redirect Link Cleaner Plugin

ผลจากการที่ผมตั้งเงื่อนไขในการลบแบบแรกคือลบเฉพาะรายการที่ไม่มีข้อมูลในช่อง Refereing Page (ซึ่งมักจะเป็นสแปมบ็อทที่วิ่งเข้ามา) ก็ทำให้ผมเห็นข้อมูลที่ไม่เข้าเงื่อนไขอยู่อีกชุดใหญ่ๆ หลายร้อยรายการ โดยที่มี Referring Page มาจากเว็บ Baidu.com เข้ามาเรียกด้วย URL แปลกๆ ซึ่งมันไม่ใช่รูปแบบของ URL ที่ผมเคยมี แล้วก็ไม่รู้ว่าใครพยายามจะทำอะไรผ่านทาง Search Engine นั้น

Redirect Link Refereing Page

แต่สิ่งที่ผมต้องการคือต้องการลบรายการพวกนี้ทิ้ง ก็ต้องกลับไปตั้งค่าใน Redirect Link Cleaner อีกครั้ง โดยคราวนี้ ต้องปรับ None Referring Page เป็น No ซึ่ง Plugin จะทำการลบในสิ่งที่ผมต้องการ เหลือเฉพาะรายการ URL ที่ผมเปิดใช้งานไว้เท่านั้น

ทีนี้หากเราต้องการจะเก็บรายการที่มี Referring Page เพื่อใช้วิเคราะห์เว็บของเราต่อไปในอนาคต ก็จะต้องกลับไปเปลี่ยนการตั้งค่าใหม่ เพื่อไม่ให้ลบกรณีที่มีข้อมูลใน Referring Page แต่คราวนี้คงต้องหมั่นเข้ามาดูส่วนนี้บ่อยๆ ว่ามีอะไรแปลกไหม อย่าปล่อยให้มีเยอะๆ แบบผม

 Redirect Manager : Link

สำหรับรายละเอียดเกี่ยวกับ Redirect link cleaner ท่านสามารถดูและสั่งซื้อได้จาก URL นี้ http://www.cmsplugin.com/products/plugins/16-redirect-link-cleaner

The Joomla!® name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.
marvelic.co.th is not affiliated with or endorsed by Open Source Matters or the Joomla!® Project