Redirect 301 คือการเปลี่ยนเส้นทาง URL แบบถาวร ส่วน Redirect 302 คือการเปลี่ยนเส้นทางแบบชั่วคราว ทั้งสองแบบพาผู้ใช้ไปหน้าใหม่ได้เหมือนกัน แต่ Google ใช้เป็นสัญญาณต่างกันในการเลือกว่าจะแสดง URL เก่าหรือ URL ใหม่ในผลการค้นหา ถ้าเลือกผิด หน้าใหม่อาจไม่ขึ้นแทนหน้าเก่า หรือเว็บอาจเสียผู้เข้าชมจาก URL ที่เคยติดอันดับ บทความนี้อธิบายตามลำดับ ได้แก่ Redirect คืออะไร, Redirect 301 กับ 302 ต่างกันอย่างไร, Google มอง Redirect แต่ละแบบอย่างไร, เมื่อไรควรใช้ 301 และเมื่อไรควรใช้ 302, วิธีทำ Redirect 301, ข้อผิดพลาดของ Redirect ที่ทำให้อันดับหาย, วิธีตรวจว่า Redirect ทำงานถูกต้อง และควรเก็บ Redirect ไว้นานแค่ไหน
Redirect คืออะไร
Redirect คือคำตอบจากเซิร์ฟเวอร์ที่บอกเบราว์เซอร์และ Crawler ว่าหน้าที่ขอเปิดย้ายไปอยู่ที่ URL อื่นแล้ว เซิร์ฟเวอร์จะตอบด้วยรหัสสถานะ HTTP กลุ่ม 3xx พร้อมส่วนหัว Location ที่บอกที่อยู่ใหม่ จากนั้นเบราว์เซอร์จะเปิดหน้าใหม่ให้เอง ผู้ใช้แทบไม่รู้ตัวว่ามีการเปลี่ยนเส้นทาง แต่สำหรับ Google รหัสสถานะที่ใช้มีผลต่อการเลือก URL ที่จะแสดงในผลการค้นหา การตั้ง Redirect ให้ถูกจึงเป็นส่วนหนึ่งของพื้นฐาน Technical SEO ที่ทุกเว็บต้องดูแล
คู่มือการเปลี่ยนเส้นทางของ Google Search Central ยกกรณีที่ควรใช้ Redirect ไว้ 4 กรณี ดังนี้
- ย้ายเว็บไปโดเมนใหม่ และต้องการให้ผู้ใช้กับ Google ตามไปหน้าใหม่ได้ครบ
- เว็บเปิดได้จากหลาย URL เช่น http, https, มี www และไม่มี www ให้เลือก URL หลักเพียงแบบเดียวแล้ว Redirect แบบอื่นไปหา
- รวม 2 เว็บเข้าด้วยกัน และต้องส่ง URL เก่าไปยังหน้าที่ถูกต้องในเว็บใหม่
- นำหน้าออกจากเว็บ และต้องการส่งผู้ใช้ไปยังหน้าใหม่ที่มาแทน
Redirect 301 กับ 302 ต่างกันอย่างไร
Redirect 301 กับ 302 ต่างกันที่ความถาวร 301 (Moved Permanently) บอกว่าหน้าย้ายไปแล้วและจะไม่กลับมา ส่วน 302 (Found) บอกว่าหน้าไปอยู่ที่อื่นชั่วคราวและ URL เดิมยังเป็นที่อยู่หลัก Google จึงมักแสดง URL ใหม่ในผลการค้นหาเมื่อเป็น 301 และแสดง URL เดิมเมื่อเป็น 302 นอกจาก 2 รหัสนี้ยังมี 307 และ 308 ที่ทำหน้าที่คล้ายกัน ตารางนี้สรุปทั้ง 4 แบบ
| รหัส | ความหมาย | Google มองเป็น | URL ที่มักแสดงในผลการค้นหา | เมธอดของคำขอ |
|---|---|---|---|---|
| 301 | ย้ายถาวร | สัญญาณแรงว่าหน้าปลายทางควรเป็นหน้าหลัก | URL ใหม่ | ไคลเอนต์บางตัวเปลี่ยน POST เป็น GET |
| 302 | ย้ายชั่วคราว | สัญญาณอ่อน | URL เดิม | ไคลเอนต์บางตัวเปลี่ยน POST เป็น GET |
| 307 | ย้ายชั่วคราว | เทียบเท่า 302 | URL เดิม | ห้ามเปลี่ยนเมธอด |
| 308 | ย้ายถาวร | เทียบเท่า 301 | URL ใหม่ | ห้ามเปลี่ยนเมธอด |
ความต่างระหว่าง 301 กับ 308 อยู่ที่วิธีส่งคำขอซ้ำ ตามคำอธิบายของ MDN เรื่องรหัส 308 ไคลเอนต์ต้องไม่เปลี่ยนเมธอดและเนื้อหาของคำขอเมื่อเจอ 308 ขณะที่ไคลเอนต์รุ่นเก่ามักเปลี่ยน POST เป็น GET เมื่อเจอ 301 ความต่างนี้สำคัญกับฟอร์มหรือ API มากกว่าหน้าเว็บทั่วไป สำหรับหน้าบทความหรือหน้าสินค้าที่เปิดด้วย GET ทั้ง 301 และ 308 ให้ผลกับ SEO เหมือนกัน ส่วน 302 กับ 307 ก็ต่างกันด้วยเหตุผลเดียวกัน
Google มอง Redirect 301 กับ 302 อย่างไร
Google มอง 301 เป็นสัญญาณแรงว่า URL ปลายทางควรเป็นหน้าหลัก และมอง 302 เป็นสัญญาณอ่อน เอกสารรหัสสถานะ HTTP ของ Google ระบุว่าระบบของ Google ใช้ 301 เป็นสัญญาณที่แรงว่าควรประมวลผลเป้าหมายการเปลี่ยนเส้นทาง ใช้ 302 เป็นสัญญาณที่อ่อน และถือว่า 307 เทียบเท่า 302 ส่วน 308 เทียบเท่า 301

สัญญาณนี้มีผลกับการเลือก URL Canonical คือ URL ที่ Google ใช้เป็นตัวแทนของเนื้อหาและแสดงในผลการค้นหา คู่มือการเปลี่ยนเส้นทางอธิบายว่า Google เก็บทั้ง URL เก่าและ URL ใหม่ไว้ แล้วเลือกตัวหนึ่งเป็น Canonical จากสัญญาณหลายอย่าง รวมถึงประเภทของ Redirect ส่วนอีก URL จะเป็นชื่อสำรอง หลังย้ายโดเมน Google จึงอาจยังแสดง URL เก่าในบางคำค้นหาอยู่ระยะหนึ่ง ซึ่งเป็นเรื่องปกติ
- ติดตามได้สูงสุด 10 ทอด Googlebot ติดตาม Redirect ที่ต่อกันได้ไม่เกิน 10 ครั้งเมื่อ Crawl เนื้อหาเว็บทั่วไป
- เนื้อหาบน URL ต้นทางถูกข้าม Google ประมวลผลเนื้อหาของ URL ปลายทางสุดท้ายเท่านั้น
- 302 ไม่ได้ปิดกั้นหน้าปลายทาง หน้าปลายทางยังถูกจัดทำดัชนีได้ถ้ามีสัญญาณ Canonical อื่นชี้ไป เช่น ลิงก์ภายในและ Sitemap แต่ผลลัพธ์คาดเดาได้ยากกว่า
ข้อสุดท้ายคือเหตุผลที่ไม่ควรใช้ 302 กับการย้ายถาวรแล้วรอให้ Google เข้าใจเอง ถ้าตั้งใจย้ายจริงให้ใช้ 301 ตั้งแต่แรก เพื่อให้สัญญาณทุกตัวชี้ไปทางเดียวกัน
เมื่อไรควรใช้ 301 และเมื่อไรควรใช้ 302
ใช้ 301 เมื่อแน่ใจว่า URL เดิมจะไม่กลับมาใช้อีก และใช้ 302 เมื่อจะส่งผู้ใช้ไปหน้าอื่นเพียงช่วงสั้น ๆ แล้ว URL เดิมจะกลับมาเป็นหน้าหลัก คู่มือของ Google แนะนำให้ใช้ Redirect ถาวรเมื่อแน่ใจว่าจะไม่เปลี่ยนกลับ และใช้ Redirect ชั่วคราวเมื่อต้องการให้ URL เดิมยังอยู่ในผลการค้นหา เช่น ช่วงที่บริการบางอย่างหยุดให้บริการชั่วคราว

ในงาน SEO จริง 301 ใช้บ่อยกว่า 302 มาก เพราะการเปลี่ยน URL ส่วนใหญ่เป็นการเปลี่ยนถาวร ปลั๊กอินและแผงควบคุมโฮสติ้งส่วนใหญ่ให้เลือกประเภทของ Redirect ได้ ก่อนบันทึกกฎทุกครั้งให้ตรวจว่าเลือกแบบถาวรแล้ว เพราะการไม่ได้ดูค่านี้คือที่มาของ 302 ที่ค้างอยู่ในเว็บโดยไม่ตั้งใจ
วิธีทำ Redirect 301
วิธีทำ Redirect 301 ที่ดีที่สุดคือทำฝั่งเซิร์ฟเวอร์ เพราะคู่มือของ Google ระบุว่าเป็นแบบที่ Google ตีความได้ถูกต้องที่สุด ส่วน meta refresh และ JavaScript ใช้เมื่อทำฝั่งเซิร์ฟเวอร์ไม่ได้เท่านั้น ตัวอย่างโค้ดต่อไปนี้ดัดแปลงจากคู่มือการเปลี่ยนเส้นทางของ Google
Apache (.htaccess)
Apache ทำ Redirect 301 ได้ด้วยคำสั่ง Redirect permanent สำหรับกรณีง่าย หรือ RewriteRule พร้อม R=301 สำหรับกฎที่ซับซ้อนกว่า
# ย้ายหน้าเดียวแบบถาวร
Redirect permanent "/old" "https://example.com/new"
# ใช้ mod_rewrite
RewriteEngine on
RewriteRule "^/service$" "/about/service" [R=301]
Nginx
Nginx ทำ Redirect 301 ด้วยคำสั่ง return ในบล็อก location ของ URL เดิม
location = /service {
return 301 $scheme://example.com/about/service;
}
PHP
PHP ทำ Redirect 301 ด้วยฟังก์ชัน header() ซึ่งต้องเรียกก่อนส่งเนื้อหาใด ๆ ออกไปที่หน้าจอ
header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/newurl');
exit();
WordPress
เว็บ WordPress ทำ Redirect 301 ผ่านปลั๊กอินได้โดยไม่ต้องแก้ไฟล์เซิร์ฟเวอร์ เช่น ปลั๊กอิน Redirection หรือโมดูล Redirections ของ Rank Math เว็บ rankfinder.in.th ใช้ปลั๊กอิน Redirection ส่ง URL แบ่งหน้าแบบเก่า /seo-article/page/2/ ไปยัง /category/seo-article/page/2/ ด้วย 301 และส่งหน้าคลังบทความตามวันที่ แท็ก และผู้เขียน ไปยังหน้าที่ผู้อ่านใช้งานจริง ข้อดีของปลั๊กอินคือเห็นรายการกฎทั้งหมดในที่เดียว และมีบันทึก 404 ให้รู้ว่า URL ไหนยังไม่มีปลายทาง
ถ้าทำฝั่งเซิร์ฟเวอร์ไม่ได้ Google ยังรองรับ meta refresh โดย meta refresh แบบ 0 วินาทีจะถูกตีความเป็น Redirect ถาวร ส่วนแบบหน่วงเวลาจะถูกตีความเป็นแบบชั่วคราว ส่วน Redirect ด้วย JavaScript ให้ใช้เป็นทางเลือกสุดท้าย เพราะถ้า Google แสดงผลหน้าไม่สำเร็จ ก็จะไม่เห็น Redirect นั้นเลย
ข้อผิดพลาดของ Redirect ที่ทำให้อันดับหาย
ข้อผิดพลาดของ Redirect ที่ทำให้อันดับหายไม่ได้มาจากการเลือกผิดระหว่าง 301 กับ 302 อย่างเดียว แต่มาจากกฎที่ทำให้ Google ไปไม่ถึงหน้าปลายทาง หรือไปถึงหน้าที่ไม่เกี่ยวข้อง คู่มือการย้ายเว็บไซต์ของ Google เตือนเรื่องเหล่านี้ไว้หลายข้อ
- ใช้ 302 กับการย้ายถาวร Google ได้รับสัญญาณอ่อน และอาจแสดง URL เก่าต่อไป
- Redirect ต่อกันเป็นทอด เช่น A ไป B แล้วไป C Google แนะนำให้ชี้ไปปลายทางสุดท้ายโดยตรง ถ้าทำไม่ได้ให้มีไม่เกิน 3 ทอด และน้อยกว่า 5 ทอด เพราะแต่ละทอดทำให้ผู้ใช้รอนานขึ้น
- Redirect วนลูป A ไป B แล้ว B กลับมา A ทำให้เบราว์เซอร์เปิดหน้าไม่ขึ้นและ Google เก็บหน้าไม่ได้
- ส่งทุกหน้าไปหน้าแรก Google ระบุว่าการส่ง URL เก่าจำนวนมากไปยัง URL เดียวที่ไม่เกี่ยวข้อง เช่น หน้าแรก อาจถูกจัดเป็น soft 404
- ลิงก์ภายในยังชี้ URL เก่า ทุกคลิกต้องผ่าน Redirect โดยไม่จำเป็น ทั้งเมนู บทความ และ Sitemap ควรใช้ URL ใหม่
- ลบ Redirect เร็วเกินไป ลิงก์จากเว็บอื่นที่ยังชี้ URL เก่าจะกลายเป็นลิงก์ไปหน้า 404

ข้อผิดพลาดเหล่านี้เกิดบ่อยที่สุดตอนย้ายทั้งเว็บ เพราะต้องทำ Redirect หลายร้อยหรือหลายพัน URL พร้อมกัน ขั้นตอนเตรียมตารางจับคู่ URL เก่ากับ URL ใหม่ และการตรวจหลังย้าย อธิบายไว้ในคู่มือย้ายเว็บหรือเปลี่ยนโดเมนโดยไม่เสียอันดับ
วิธีตรวจว่า Redirect ทำงานถูกต้อง
วิธีตรวจว่า Redirect ทำงานถูกต้องคือดูรหัสสถานะที่เซิร์ฟเวอร์ตอบจริง ไม่ใช่ดูแค่ว่าเบราว์เซอร์พาไปหน้าใหม่ได้ เพราะ 301 กับ 302 ให้ผลบนหน้าจอเหมือนกัน คำสั่ง curl -I แสดงส่วนหัวของคำตอบ ตัวอย่างนี้คือผลตรวจ URL แบ่งหน้าแบบเก่าของ rankfinder.in.th
$ curl -I https://rankfinder.in.th/seo-article/page/2/
HTTP/2 301
x-redirect-by: redirection
location: /category/seo-article/page/2/
บรรทัดแรกบอกว่าเป็น 301 บรรทัด location บอกปลายทาง และ x-redirect-by บอกว่ากฎนี้มาจากปลั๊กอิน Redirection ข้อมูลบรรทัดนี้ช่วยได้มากเมื่อเว็บมีหลายระบบที่ทำ Redirect ได้ เช่น ปลั๊กอิน SEO ปลั๊กอินแคช และกฎในโฮสติ้ง เพราะบอกได้ทันทีว่าต้องไปแก้ที่ไหน

- ดูรหัสสถานะด้วย curl -I หรือส่วนขยายของเบราว์เซอร์ที่แสดงส่วนหัว HTTP ต้องเห็น 301 หรือ 308 และ location ที่ถูกต้อง
- ตรวจ URL ปลายทางใน Search Console ด้วยเครื่องมือตรวจสอบ URL โดยใส่ URL ใหม่โดยตรง เพราะเอกสารของ Google ระบุว่าเครื่องมือตรวจสอบของ Google ไม่ติดตาม Redirect
- Crawl ทั้งเว็บ ด้วยโปรแกรม Crawler เพื่อหา Redirect ที่ต่อกันเป็นทอด วนลูป และลิงก์ภายในที่ยังชี้ URL เก่า
ทดสอบในหน้าต่างไม่ระบุตัวตนทุกครั้ง เพราะตาม มาตรฐาน HTTP (RFC 9110) คำตอบ 301 และ 308 เก็บแคชได้โดยค่าเริ่มต้น เบราว์เซอร์ที่เคยเปิด URL นั้นอาจพาไปปลายทางเดิมแม้แก้กฎไปแล้ว
ควรเก็บ Redirect 301 ไว้นานแค่ไหน
ควรเก็บ Redirect 301 ไว้อย่างน้อย 1 ปี และถ้าเป็นไปได้ให้เก็บไว้ตลอด คู่มือการย้ายเว็บไซต์ของ Google แนะนำให้ใช้การเปลี่ยนเส้นทางให้นานที่สุดเท่าที่ทำได้ โดยทั่วไปอย่างน้อย 1 ปี เพื่อให้ Google โอนสัญญาณทั้งหมดไปยัง URL ใหม่ Crawl อีกครั้ง และเปลี่ยนลิงก์จากเว็บอื่นที่ยังชี้ URL เดิมให้ไปนับที่ URL ใหม่

ในมุมของผู้ใช้ ลิงก์เก่าในโพสต์โซเชียล อีเมล และบทความของเว็บอื่นจะยังถูกคลิกต่อไปอีกหลายปี การลบ Redirect ทำให้คนกลุ่มนี้เจอหน้า 404 ทางที่ดีกว่าคือเก็บกฎไว้ แล้วแก้ลิงก์ภายในเว็บของตัวเอง และขอให้เว็บที่ส่งผู้เข้าชมมามากเปลี่ยนลิงก์ให้ชี้ URL ใหม่โดยตรง
เว็บที่เปลี่ยนโครงสร้าง URL มาหลายรอบมักมีกฎ Redirect สะสมจนไม่มีใครรู้ว่ากฎไหนยังจำเป็น ถ้ากำลังจะย้ายโดเมน เปลี่ยนธีม หรือรวมหลายเว็บเข้าด้วยกัน สามารถให้ทีม Rankfinder วางแผน Redirect ก่อนย้ายเว็บ เพื่อจับคู่ URL และตรวจรหัสสถานะทุกหน้าก่อนเปิดใช้จริง
ประเด็นสำคัญของ Redirect 301 และ 302
- Redirect คือคำตอบ 3xx จากเซิร์ฟเวอร์ที่บอกว่าหน้าย้ายไปอยู่ URL อื่น และมีผลต่อ URL ที่ Google แสดง
- 301 คือย้ายถาวร 302 คือย้ายชั่วคราว ส่วน 308 กับ 307 ทำงานแบบเดียวกันแต่ห้ามเปลี่ยนเมธอดของคำขอ
- Google ใช้ 301 และ 308 เป็นสัญญาณแรงว่าหน้าปลายทางควรเป็นหน้าหลัก ส่วน 302 และ 307 เป็นสัญญาณอ่อน
- ใช้ 301 เมื่อ URL เดิมจะไม่กลับมาอีก ใช้ 302 เมื่อย้ายช่วงสั้น ๆ แล้วจะกลับมาใช้ URL เดิม
- ทำ Redirect ฝั่งเซิร์ฟเวอร์ก่อนเสมอ บน WordPress ใช้ปลั๊กอินอย่าง Redirection หรือ Rank Math ได้
- หลีกเลี่ยง Redirect ต่อกันเป็นทอด วนลูป และการส่งทุกหน้าไปหน้าแรก
- ตรวจด้วย curl -I, เครื่องมือตรวจสอบ URL และโปรแกรม Crawler แทนการเปิดหน้าเว็บดู
- เก็บ Redirect 301 ไว้อย่างน้อย 1 ปี และแก้ลิงก์ภายในให้ชี้ URL ใหม่โดยตรง
อ่านต่อในหัวข้อเดียวกัน
- วิธีใช้ Google Search Console ฉบับมือใหม่
- Core Web Vitals คืออะไร? LCP, INP, CLS และวิธีแก้
- เว็บ WordPress ช้า แก้อย่างไร (เคสจริง: TTFB จาก 0.8 วิ เหลือ 0.07 วิ)
- XML Sitemap และ robots.txt ตั้งค่าอย่างไรให้ถูก
- หน้าเว็บไม่ถูก Index แก้อย่างไร (“Crawled – currently not indexed”)
- Schema Markup คืออะไร? คู่มือใส่ Structured Data ให้เว็บไทย 2026
คำถามที่พบบ่อยเกี่ยวกับ Redirect 301 และ 302
Redirect 301 ทำให้อันดับตกไหม
Redirect 301 ที่ชี้ไปหน้าที่เนื้อหาตรงกันไม่ได้ทำให้อันดับตกในตัวเอง แต่ช่วงแรกอันดับอาจขยับขึ้นลงระหว่างที่ Google ประมวลผล URL ใหม่ คู่มือการย้ายเว็บไซต์ของ Google ระบุว่าควรคาดว่าอันดับจะผันผวนชั่วคราวระหว่างย้าย ถ้าอันดับไม่กลับมา ให้ตรวจว่าหน้าปลายทางมีเนื้อหาครบเท่าหน้าเดิมหรือไม่
ใช้ 302 นาน ๆ แล้ว Google จะถือเป็น 301 ไหม
Google ไม่ได้รับประกันเรื่องนี้ไว้ในเอกสาร สิ่งที่เอกสารระบุคือหน้าปลายทางของ 302 อาจถูกจัดทำดัชนีได้ถ้ามีสัญญาณ Canonical อื่นชี้ไป ถ้าการย้ายเป็นแบบถาวรจริง ให้เปลี่ยนกฎเป็น 301 ทันทีแทนการรอให้ Google ตีความเอง
ใช้ Canonical Tag แทน Redirect 301 ได้ไหม
ใช้แทนกันได้เฉพาะกรณีที่ต้องการให้ทั้ง 2 URL ยังเปิดได้ เช่น หน้าสินค้าที่มี URL ตัวกรองหลายแบบ Canonical Tag บอก Google ว่าหน้าไหนคือหน้าหลักแต่ไม่ได้ส่งผู้ใช้ไปไหน ส่วน Redirect 301 ส่งทั้งผู้ใช้และ Google ไปหน้าใหม่ ถ้าหน้าเดิมไม่ต้องใช้แล้วให้ใช้ Redirect 301
ลบหน้าแล้วควร Redirect ไปที่ไหน
หน้าที่ลบแล้วควร Redirect ไปยังหน้าที่เนื้อหาใกล้เคียงที่สุด เช่น สินค้ารุ่นใหม่ที่มาแทนรุ่นเดิม ถ้าไม่มีหน้าที่ตรงกันจริง การปล่อยให้ตอบ 404 หรือ 410 ดีกว่าส่งไปหน้าแรก เพราะ Google อาจมอง Redirect ไปหน้าที่ไม่เกี่ยวข้องเป็น soft 404 อยู่ดี
