วิธี Redirect ด้วย Cloudflare สำหรับการเปลี่ยน Domain โดยที่โครงสร้างของ URL ยังคงเดิม พร้อมกับการตั้งค่า 301 302 307 หรือ 308 เพื่อพาผู้ใช้งานไปยังหน้าเดิม และผลลัพธ์ด้าน SEO
อย่างไรก็ตาม ด้วยความที่เป็นบันทึก จึงเขียนไว้เพียงแค่ use case ที่ใช้
Redirect คืออะไร?
การ Redirect คือการเปลี่ยนเส้นทางจาก URL หนึ่งไปยัง URL เป้าหมายที่ต้องการ ผลลัพธ์ทำให้เมื่อผู้ใช้งานกด URL ที่ถูก Redirect จะถูกพาไปยัง URL ใหม่ตามที่ตั้งค่าเอาไว้
สมมติว่าเราอยากย้ายที่อยู่ของหน้านี้ (URL ของหน้านี้คือ piases.com/blog/redirection-with-cloudflare/) ไปที่ URL ใหม่ piases.com/blog/url-ใหม่จ้า/ การ Redirection จะทำให้เมื่อผู้ใช้กดลิงก์ piases.com/blog/redirection-with-cloudflare/ (URL เก่า) จะไปที่ piases.com/blog/url-ใหม่จ้า/ (URL ใหม่) แทน
ทั้งนี้ การ Redirect จะมีเป้าหมายเป็นหน้าอื่นในเว็บไซต์เดียวกันแบบในตัวอย่าง หรือไปยังหน้าอื่นในเว็บไซต์อื่นก็ได้
Redirection HTTP Status Code
แน่นอนว่าหน้าที่ของการ Redirect ก็คือการอำนวยความสะดวกโดยการเปลี่ยนเส้นทางไปยังปลายทางเป้าหมาย แทนที่ผู้ใช้จะมาที่ลิงก์เดิมอยู่แล้วพบว่าเนื้อหาถูกลบและพบกับความว่างเปล่า
ทั้งนี้ ในทางเทคนิคการ Redirect มีอยู่หลายรูปแบบ เรียกว่า Hypertext Transfer Protocol (HTTP) Response Status Codes ซึ่งนัก SEO จะใช้ประโยชน์ Codes เหล่านี้ในการสื่อสารกับ Google ว่าเกิดอะไรกับหน้าที่ถูก Redirect โดย HTTP Status Code ในกลุ่ม 3xx หรือ Redirection ที่ใช้บ่อย ๆ จะมีอยู่ 4 รหัส ได้แก่
- 301 Moved Permanently - เป็นการ Redirect แบบถาวร บอกเครื่องมือค้นหาและเบราว์เซอร์ว่าหน้าเว็บได้ย้ายไปยัง URL ใหม่แล้ว
- 302 Found - เป็นการ Redirect แบบชั่วคราว บอกเครื่องมือค้นหาและเบราว์เซอร์ว่าหน้าเว็บมีการย้ายตำแหน่งชั่วคราว
- 307 Temporary Redirect - เป็นการ Redirect แบบชั่วคราว (คล้ายกับ 302) แต่จะไม่เปลี่ยนแปลงวิธีการ HTTP (เช่น POST จะยังคงเป็น POST)
- 308 Permanent Redirect - เป็นการ Redirect แบบถาวร (คล้ายกับ 301) แต่จะไม่เปลี่ยนแปลงวิธีการ HTTP เช่นเดียวกัน 307
สำหรับ HTTP Status Code อื่น ๆ สามารถอ่านเพิ่มเติมได้จาก List of HTTP status codes ในเชิงเทคนิคและ 11 Types Of Redirects & Their SEO Impact ในเชิง SEO
ทางเลือกในการ Redirect
วิธี Redirect สามารถทำได้มากมายหลายวิธี ขึ้นอยู่กับว่าเว็บไซต์ต้นทางสร้างขึ้นด้วยเทคโนโลยีแบบใด (รวมถึงต้องการ Redirect เพื่ออะไร) โดยวิธีที่ใช้กันบ่อย ๆ ในการ Redirect ได้แก่
- การตั้งค่า Redirect ผ่านระบบ Control Panel ของ Hosting อย่างเช่น cPanel, Plesk, CyberPanel, หรือ DirectAdmin
- การแก้ .htaccess Rewrite Rules
- การใช้ Plugin สำหรับเว็บไซต์ WordPress ทั้ง Plugin SEO อย่างเช่น Rank Math และ Yoast SEO (Pro) หรือการใช้ Plugin สำหรับ Redirect อย่าง Redirection
แต่วิธีการที่เรามักจะเลือกใช้คือการ Redirect ผ่าน Cloudflare Page Rules ที่ไม่จำเป็นต้องเปิดเว็บไซต์ทิ้งไว้ในกรณีของการย้ายเว็บไซต์ และไม่ต้องเข้าไปแก้ไข .htaccess โดยตรง
อีกทั้งในกรณีของเว็บไซต์ WordPress การหลีกเลี่ยงการใช้ Plugin ยังช่วยลดปัญหาเหล่านี้
- Conflict ระหว่างตัว Plugin กับอะไรสักอย่าง
- ไม่ต้องทนติดตั้ง Plugin ที่หนักเว็บ จากฟังก์ชันที่ไม่จำเป็น
- ปัญหา Vulnerability ที่ไม่รู้จะเกิดขึ้นเมื่อไหร่ การลดการใช้ 1 Plugin นอกจากจะลดความเสี่ยงด้านความปลอดภัย ยังได้การลด 2 ปัญหาข้างต้นเป็นของแถม
Redirect ด้วย Cloudflare
เป้าหมายของการ Redirect ด้วย Cloudflare ในที่นี้คือการเปลี่ยน Domain โดยที่โครงสร้าง URL ทุกอย่างยังคงเหมือนเดิม เพื่อพาผู้ใช้งานไปยังหน้าเดิม พร้อมกับการทำ 301 Redirect
ตัวอย่างเช่น เมื่อทำการย้ายจาก old-domain.com ไปยัง new-domain.com
เมื่อผู้ใช้ไปที่ old-domain.com จะถูกพาไปที่ new-domain.com
อีกทั้งเมื่อไปที่หน้า old-domain.com/สวัสดี ก็จะถูกพาไปที่ new-domain.com/สวัสดี
Prerequisites
- เพิ่มโดเมนไปที่ Cloudflare
- ตั้งค่า DNS
- รอ DNS อัปเดตจนเสร็จ (ใช้ dnschecker ตรวจสอบได้)
เมื่ออัปเดต DNS เรียบร้อยแล้ว ไปที่ Rules > Page Rules > Create Page Rule จากนั้นตั้งค่า Rule ตามภาพเพื่อการ Redirect และเลือก HTTP Status Code ที่ต้องการ