หนึ่งในงานที่เจ้าของเว็บต้องเจอบ่อยคือการ "เปลี่ยนเส้นทาง URL" หรือที่เรียกว่า Redirect เช่น เปลี่ยน URL หน้าเก่าไปหน้าใหม่, โอนผู้เยี่ยมชมจากโดเมนเก่าไปโดเมนใหม่ หรือบังคับให้เว็บใช้ HTTPS แทน HTTP หลายคนคิดว่าต้องไปแก้ไฟล์ .htaccess เอง ซึ่งถ้าทำผิดอาจทำให้เว็บล่มได้ แต่จริงๆ แล้ว cPanel มีเครื่องมือ Redirects Manager ที่ช่วยทำสิ่งนี้ผ่านหน้าจอ GUI ได้เลย ไม่ต้องเขียนโค้ดเองแม้แต่บรรทัดเดียว
Redirect คืออะไร และทำไมถึงสำคัญ
Redirect คือคำสั่งที่บอกให้เบราว์เซอร์หรือ Search Engine รู้ว่า URL ที่ร้องขอได้ย้ายไปอยู่ที่อื่นแล้ว มีสองประเภทหลักที่ใช้กันบ่อยคือ:
- 301 Moved Permanently — URL นี้ย้ายถาวรแล้ว เหมาะสำหรับการเปลี่ยน URL จริงจัง เช่น เปลี่ยนโดเมน หรือเปลี่ยนโครงสร้าง URL ของเว็บ SEO จะโอน "link juice" ไปด้วย
- 302 Found (Temporary) — URL นี้ย้ายชั่วคราว เช่น หน้าอยู่ระหว่างปรับปรุง SEO จะไม่โอน link juice จากหน้าเดิม
การ redirect ที่ถูกต้องช่วยให้ผู้ใช้ไม่เจอหน้า 404, รักษา SEO ranking และทำให้เว็บดูเป็นมืออาชีพ
เปิดหน้า Redirects Manager ใน cPanel
เข้าสู่ Redirects Manager ได้ง่ายๆ ดังนี้:
- ล็อกอินเข้า cPanel ที่
yourdomain.com/cpanelหรือyourdomain.com:2083 - มองหาหมวด "Domains" แล้วคลิก "Redirects"
- หน้า Redirects Manager จะเปิดขึ้น มีสองส่วนหลัก: ฟอร์มสร้าง redirect ใหม่ด้านบน และรายการ redirect ที่มีอยู่ด้านล่าง
วิธีสร้าง Redirect ใหม่ทีละขั้นตอน
เมื่อเข้าหน้า Redirects Manager แล้ว ให้ทำตามขั้นตอนนี้:
- Type — เลือกประเภท:
Permanent (301)หรือTemporary (302) - https://www. (โดเมน) — เลือกโดเมนที่ต้องการตั้งค่า redirect (ถ้ามีหลายโดเมนในบัญชี)
- /path — ใส่ path (เส้นทาง) ของ URL เก่าที่ต้องการ redirect เช่น
/old-pageหรือ/blog/old-article - Redirects to — ใส่ URL ปลายทาง เช่น
https://yourthaihost.com/new-page - www. Redirection — เลือกว่าจะให้ redirect ทั้ง www และ non-www หรือแค่บางแบบ
- Wild Card Redirect — ถ้าติ๊ก จะ redirect ทุก URL ที่ขึ้นต้นด้วย path นั้น เช่น
/old/จะครอบคลุม/old/anythingด้วย - คลิกปุ่ม "Add" เพื่อบันทึก
ตัวอย่างการใช้งานจริงที่พบบ่อย
1. Redirect โดเมนเก่าไปโดเมนใหม่
สมมติว่าคุณเปลี่ยนโดเมนจาก oldsite.com มาเป็น newsite.com ให้ตั้งค่าดังนี้:
- Type: Permanent (301)
- โดเมน:
oldsite.com - path: ว่างเปล่า (หมายถึงทุกหน้า)
- Redirects to:
https://newsite.com/ - Wild Card: ติ๊ก เพื่อให้ทุกหน้าถูก redirect
2. Redirect หน้าที่ลบออกแล้วไปหน้าใกล้เคียง
ถ้าลบบทความ /blog/old-review ออกแล้ว แต่มีลิงก์จากที่อื่นชี้มา ให้ redirect ไปหน้าที่เกี่ยวข้องแทน เพื่อไม่ให้ผู้ใช้เจอ 404:
- Type: Permanent (301)
- path:
/blog/old-review - Redirects to:
https://yoursite.com/blog/
3. Redirect เว็บชั่วคราวระหว่าง Maintenance
ถ้าต้องการโอนผู้เยี่ยมชมไปหน้า "กำลังปรับปรุง" ชั่วคราว ให้ใช้ Temporary (302) และอย่าลืมลบออกเมื่อเปิดเว็บกลับมาแล้ว
การจัดการ Redirect ที่มีอยู่แล้ว
ในส่วนล่างของหน้า Redirects Manager จะแสดงรายการ redirect ทั้งหมดที่ตั้งค่าไว้ คุณสามารถ:
- ดู รายละเอียด source path, destination URL และประเภท redirect
- ลบ redirect ที่ไม่ต้องการอีกแล้ว โดยคลิก "Delete" ด้านข้าง
ความแตกต่างระหว่าง cPanel Redirects และ .htaccess
หลายคนสงสัยว่าใช้ Redirects Manager แล้ว cPanel ไปทำอะไรเบื้องหลัง คำตอบคือ cPanel จะเขียน redirect rules ลงในไฟล์ .htaccess โดยอัตโนมัติ ดังนั้น:
- ผล redirect เหมือนกันกับการเขียน .htaccess เอง
- ปลอดภัยกว่า เพราะ cPanel ตรวจสอบ syntax ให้
- ถ้าคุณเปิด File Manager แล้วดูไฟล์
.htaccessจะเห็น redirect rule ที่ถูกเพิ่มเข้าไปในส่วน# BEGIN cPanel-generated handler
# ตัวอย่าง redirect rule ที่ cPanel สร้างใน .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldsite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.oldsite\.com$
RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]
ตรวจสอบว่า Redirect ทำงานถูกต้อง
หลังตั้งค่า redirect แล้ว ควรทดสอบให้แน่ใจด้วยวิธีต่อไปนี้:
# ทดสอบด้วย curl — ดู HTTP status code และ Location header
curl -I https://yoursite.com/old-page
# ผลลัพธ์ที่ถูกต้องสำหรับ 301:
# HTTP/2 301
# location: https://yoursite.com/new-page
# ทดสอบ redirect chain (ตรวจว่ามี redirect ซ้อนกันไหม)
curl -IL https://yoursite.com/old-page
# เช็คด้วย browser developer tools:
# F12 > Network tab > คลิก URL เก่า > ดู Status code
แก้ปัญหาที่พบบ่อย
Error: "Too many redirects" หรือ ERR_TOO_MANY_REDIRECTS
เกิดเมื่อ URL redirect วนลูปหากัน เช่น A → B → A ให้ตรวจสอบว่า destination URL ไม่ตรงกับ source path และตรวจสอบ redirect ใน WordPress (Settings > General) ด้วย บางครั้งเกิดจาก SSL redirect ซ้อนกัน ให้ลบ redirect HTTP→HTTPS ที่ตั้งด้วย Redirects Manager ออก แล้วใช้ Force HTTPS ใน cPanel แทน
Error: Redirect ไม่ทำงาน — เว็บยังอยู่ที่เดิม
ตรวจสอบ 3 สิ่ง: 1) เคลียร์ browser cache และลองเปิดแท็บ incognito, 2) ตรวจว่าโดเมนที่เลือกใน Redirects Manager ตรงกับโดเมนที่ test จริง (ระวัง www vs non-www), 3) เปิดไฟล์ .htaccess ใน File Manager เพื่อยืนยันว่ามี redirect rule ถูกบันทึกแล้ว
Error: Redirect ทำงานได้บางครั้ง แต่ไม่แน่นอน
อาจเกิดจาก CDN (เช่น Cloudflare) cache หน้าเก่าไว้ ให้ purge cache บน Cloudflare และรอ DNS propagation ให้ครบก่อน ปกติ Cloudflare จะ update cache ภายใน 5 นาทีหลัง purge
Error: Wild Card Redirect ส่งผลกระทบต่อหน้าที่ไม่ต้องการ redirect
ถ้าเปิด Wild Card แล้วมีหน้าบางหน้าที่ไม่ควรถูก redirect ให้ปิด Wild Card แล้วสร้าง redirect แยกทีละ URL แทน หรือใช้ .htaccess เขียน RewriteCond เพื่อยกเว้นบาง path
Error: ลบ redirect ใน cPanel แล้วแต่ redirect ยังทำงานอยู่
ตรวจสอบไฟล์ .htaccess ว่ามี redirect rule เหลืออยู่ไหม (อาจเคยเพิ่มด้วยมือก่อนใช้ Redirects Manager) และเคลียร์ cache ทั้ง browser, Cloudflare และ WordPress cache plugin
คำถามที่พบบ่อย (FAQ)
Q: ถ้า redirect ด้วย 301 แล้ว จะยกเลิกได้ไหม?
A: ได้ แต่ต้องใช้เวลา เพราะ browser และ Search Engine จะ cache 301 redirect ไว้นาน การลบ redirect ออกจาก cPanel จะหยุดการ redirect ทันที แต่ browser ที่เคยเข้าแล้วอาจยัง cache ค่าเก่าไว้ 1–7 วัน แนะนำให้ใช้ 302 ในระหว่างทดสอบก่อน แล้วเปลี่ยนเป็น 301 เมื่อมั่นใจแล้ว
Q: cPanel Redirects Manager รองรับ redirect กี่รายการ?
A: ไม่มีจำกัดจำนวนในตัว cPanel เอง แต่ redirect จำนวนมากเกินไป (เช่น หลายร้อยรายการ) อาจทำให้ไฟล์ .htaccess ใหญ่และเว็บช้าลงได้ ถ้ามี redirect เยอะๆ ควรพิจารณาจัดการผ่าน WordPress plugin เช่น Redirection แทน
Q: Redirect Manager ใน cPanel ต่างจากการตั้งค่า redirect ใน WordPress อย่างไร?
A: cPanel Redirects ทำงานระดับ server (Apache) ก่อนที่ WordPress จะโหลด ทำให้เร็วกว่าและเหมาะกับ URL ที่ไม่ใช่ WordPress เช่น redirect โดเมนเก่า ส่วน WordPress Redirect plugins เช่น Redirection เหมาะกับจัดการ permalink ภายในเว็บ WordPress เพราะเชื่อมกับระบบ URL ของ WP โดยตรง