การเปลี่ยนเส้นทางและ Google Search

การเปลี่ยนเส้นทาง URL คือการย้าย URL ที่มีอยู่ไปยัง URL อื่นเพื่อแจ้งผู้เข้าชมและ Google Search ว่าหน้าเว็บมีตําแหน่งใหม่อย่างมีประสิทธิภาพ การเปลี่ยนเส้นทางมีประโยชน์อย่างยิ่งในกรณีต่อไปนี้

  • คุณได้ย้ายเว็บไซต์ไปยังโดเมนใหม่และต้องการให้การเปลี่ยนแปลงนี้เป็นไปอย่างราบรื่นที่สุด
  • ผู้คนเข้าถึงเว็บไซต์ของคุณผ่าน URL ต่างๆ ที่ไม่เหมือนกัน ตัวอย่างเช่น ผู้ใช้อาจเข้าสู่หน้าแรกได้หลายทาง (เช่น http://example.com/home, http://home.example.com หรือ http://www.example.com) ดังนั้นคุณจึงควรเลือก URL รายการหนึ่งให้เป็นจุดหมายที่ต้องการ (Canonical) และใช้การเปลี่ยนเส้นทางเพื่อส่งการเข้าชมจาก URL อื่นๆ ไปยัง URL ที่ต้องการ
  • คุณจะรวม 2 เว็บไซต์เข้าด้วยกันและต้องการเปลี่ยนเส้นทางให้ลิงก์ URL ที่ล้าสมัยแล้วไปยังหน้าเว็บที่ถูกต้องด้วย
  • คุณนำหน้าเว็บออกและต้องการส่งผู้ใช้ไปยังหน้าใหม่

ภาพรวมของการเปลี่ยนเส้นทางประเภทต่างๆ

แม้ว่าโดยทั่วไปแล้ว ผู้ใช้จะไม่ทราบความแตกต่างระหว่างการเปลี่ยนเส้นทางประเภทต่างๆ แต่ Google Search ใช้การเปลี่ยนเส้นทางเป็นสัญญาณที่แรงหรืออ่อนในการพิจารณาว่าเป้าหมายการเปลี่ยนเส้นทางควรจะเป็นหน้า Canonical หรือไม่ การเลือกประเภทการเปลี่ยนเส้นทางขึ้นอยู่กับระยะเวลาที่คุณคาดว่าจะใช้การเปลี่ยนเส้นทางและหน้าเว็บที่คุณต้องการให้ Google Search แสดงในผลการค้นหา

  • การเปลี่ยนเส้นทางถาวร: แสดงเป้าหมายการเปลี่ยนเส้นทางใหม่ในผลการค้นหา
  • การเปลี่ยนเส้นทางชั่วคราว: แสดงหน้าเว็บต้นฉบับในผลการค้นหา

ตารางต่อไปนี้จะอธิบายวิธีต่างๆ ที่คุณสามารถใช้เพื่อสร้างการเปลี่ยนเส้นทางแบบถาวรและชั่วคราว โดยเรียงลําดับตามความเป็นไปได้ที่ Google จะตีความได้อย่างถูกต้อง (เช่น การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์มีแนวโน้มที่ Google จะตีความได้อย่างถูกต้องมากที่สุด) เลือกประเภทการเปลี่ยนเส้นทางที่เหมาะกับสถานการณ์และเว็บไซต์ของคุณ

ประเภทการเปลี่ยนเส้นทาง
ถาวร

Googlebot ติดตามการเปลี่ยนเส้นทาง และไปป์ไลน์การจัดทำดัชนีใช้การเปลี่ยนเส้นทางเป็นสัญญาณที่แรง ซึ่งเป้าหมายการเปลี่ยนเส้นทางควรจะเป็นหน้า Canonical

HTTP 301 (moved permanently)

สร้างการเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์

HTTP 308 (moved permanently)
meta refresh (0 วินาที)

สร้างการเปลี่ยนเส้นทาง meta refresh

การรีเฟรช HTTP (0 วินาที)
JavaScript location

สร้างการเปลี่ยนเส้นทางด้วย JavaScript

การเปลี่ยนเส้นทาง Crypto

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนเส้นทาง crypto

ชั่วคราว

Googlebot ติดตามการเปลี่ยนเส้นทาง และไปป์ไลน์การจัดทําดัชนีใช้การเปลี่ยนเส้นทางนั้นเป็นสัญญาณที่อ่อน ซึ่งเป้าหมายการเปลี่ยนเส้นทางควรจะเป็นหน้า Canonical

HTTP 302 (found)

สร้างการเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (>0 วินาที)

สร้างการเปลี่ยนเส้นทาง meta refresh

HTTP refresh (>0 วินาที)

การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์

การสร้างการเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์ต้องใช้สิทธิ์เข้าถึงไฟล์การกำหนดค่าเซิร์ฟเวอร์ (เช่น ไฟล์ .htaccess ใน Apache) หรือตั้งค่าส่วนหัวเปลี่ยนเส้นทางด้วยสคริปต์ฝั่งเซิร์ฟเวอร์ (เช่น PHP) คุณสร้างการเปลี่ยนเส้นทางได้ทั้งแบบถาวรและชั่วคราวในฝั่งเซิร์ฟเวอร์

การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์แบบถาวร

หากคุณต้องการเปลี่ยน URL ของหน้าเว็บให้เหมือนกับที่ปรากฏในผลลัพธ์ของเครื่องมือค้นหา เราขอแนะนำให้ใช้การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์แบบถาวรทุกครั้งที่ทำได้ เพราะเป็นวิธีที่ดีที่สุดที่จะนำ Google Search และผู้ใช้ไปยังหน้าที่ถูกต้อง รหัสสถานะ 301 และ 308 หมายความว่าหน้าเว็บย้ายไปยังตำแหน่งใหม่อย่างถาวร

การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์แบบชั่วคราว

หากคุณเพียงต้องการส่งผู้ใช้ไปยังหน้าอื่นชั่วคราว ให้ใช้การเปลี่ยนเส้นทางชั่วคราว วิธีนี้ยังช่วยให้มั่นใจว่า Google จะเก็บ URL เก่าไว้ในผลการค้นหาเป็นเวลานานขึ้นด้วย เช่น หากไม่พร้อมให้บริการที่เสนอในเว็บไซต์ชั่วคราว คุณก็อาจสร้างการเปลี่ยนเส้นทางชั่วคราวเพื่อส่งผู้ใช้ไปยังหน้าเว็บที่อธิบายเหตุผลโดยไม่ทําให้ URL เดิมในผลการค้นหาได้รับผลกระทบ

ใช้การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์

การใช้การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์จะขึ้นอยู่กับสภาพแวดล้อมของโฮสติ้งและเซิร์ฟเวอร์ หรือภาษาสคริปต์ของแบ็กเอนด์ของเว็บไซต์

หากต้องการสร้างการเปลี่ยนเส้นทางถาวรด้วย PHP ให้ใช้ฟังก์ชัน header() คุณต้องตั้งค่าส่วนหัวก่อนที่จะส่งเนื้อหาไปยังหน้าจอ ดังนี้

header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.example.com/newurl');
exit();

ในทำนองเดียวกัน ลองดูตัวอย่างวิธีสร้างการเปลี่ยนเส้นทางชั่วคราวด้วย PHP ต่อไปนี้

header('HTTP/1.1 302 Found');
header('Location: http://www.example.com/newurl');
exit();

หากมีสิทธิ์เข้าถึงไฟล์การกำหนดค่าของเว็บเซิร์ฟเวอร์ คุณอาจเขียนกฎการเปลี่ยนเส้นทางได้ด้วยตนเอง ทำตามคำแนะนำของเว็บเซิร์ฟเวอร์ดังนี้

  • Apache: ดูบทแนะนำ .htaccess ของ Apache, คำแนะนำในการเขียน URL ใหม่ของ Apache และเอกสารประกอบเกี่ยวกับ mod_alias ของ Apache เช่น คุณอาจใช้ mod_alias เพื่อสร้างการเปลี่ยนเส้นทางที่มีรูปแบบง่ายที่สุด ดังนี้

    # Permanent redirect:
    Redirect permanent "/old" "http://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "http://example.com/two-new"

    หากต้องการสร้างการเปลี่ยนเส้นทางที่ซับซ้อนมากขึ้น ให้ใช้ mod_rewrite เช่น

    RewriteEngine on
    # redirect the service page to a new page with a permanent redirect
    RewriteRule   "^/service$"  "/about/service"  [R=301]
    
    # redirect the service page to a new page with a temporary redirect
    RewriteRule   "^/service$"  "/about/service"  [R]
  • NGINX: อ่านเกี่ยวกับการสร้างกฎการเขียนใหม่ของ NGINX ในบล็อก NGINX คุณเลือกสร้างการเปลี่ยนเส้นทางได้หลายวิธีเช่นเดียวกับ Apache เช่น

    location = /service {
      # for a permanent redirect
      return 301 $scheme://example.com/about/service
    
      # for a temporary redirect
      return 302 $scheme://example.com/about/service
    }

    หากต้องการสร้างการเปลี่ยนเส้นทางที่ซับซ้อนมากขึ้น ให้ใช้คำสั่ง rewrite ดังนี้

    location = /service {
      # for a permanent redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
    
      # for a temporary redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
    }
  • สําหรับเว็บเซิร์ฟเวอร์อื่นๆ ทั้งหมด ให้สอบถามผู้จัดการหรือผู้โฮสต์เซิร์ฟเวอร์ หรือค้นหาคำแนะนำจากเครื่องมือค้นหาที่คุณชื่นชอบ (เช่น ค้นหา "การเปลี่ยนเส้นทางของ LiteSpeed")

meta refresh และรูปแบบเทียบเท่าสำหรับ HTTP

หากไม่สามารถใช้การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์กับแพลตฟอร์มของคุณ การเปลี่ยนเส้นทาง meta refresh อาจเป็นทางเลือกที่ใช้ได้ Google จะแยกความแตกต่างระหว่างการเปลี่ยนเส้นทาง meta refresh 2 ประเภทดังนี้

  • การเปลี่ยนเส้นทาง meta refresh แบบทันที: ทริกเกอร์ทันทีที่หน้าเว็บโหลดในเบราว์เซอร์ Google Search จะตีความการเปลี่ยนเส้นทาง meta refresh ประเภทนี้เป็นการเปลี่ยนเส้นทางถาวร
  • การเปลี่ยนเส้นทาง meta refresh แบบหน่วงเวลา: ทริกเกอร์หลังผ่านไปเป็นระยะเวลา (วินาที) ตามที่เจ้าของเว็บไซต์กำหนดไว้เท่านั้น Google Search จะตีความการเปลี่ยนเส้นทาง meta refresh ประเภทนี้เป็นการเปลี่ยนเส้นทางชั่วคราว

วางการเปลี่ยนเส้นทาง meta refresh ในส่วนหัวของ HTML หรือในส่วนหัว HTTP ที่มีโค้ดฝั่งเซิร์ฟเวอร์ ลองดูตัวอย่างการเปลี่ยนเส้นทาง meta refresh แบบทันทีในส่วนหัวของ HTML ต่อไปนี้

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="0; url=https://example.com/newlocation" />
  <title>Example title</title>
  <!--...-->

นี่คือตัวอย่างของสิ่งที่เทียบเท่าส่วนหัว HTTP ซึ่งคุณนำสคริปต์ฝั่งเซิร์ฟเวอร์มาแทรกได้

HTTP/1.1 200 OK
Refresh: 0; url=http://www.example.com/newlocation
...

หากต้องการสร้างการเปลี่ยนเส้นทางแบบหน่วงเวลาซึ่ง Google ตีความว่าเป็นการเปลี่ยนเส้นทางชั่วคราว ให้ตั้งค่าแอตทริบิวต์ content เป็นจำนวนวินาทีที่ควรหน่วงเวลาการเปลี่ยนเส้นทาง

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="5; url=https://example.com/newlocation" />
  <title>Example title</title>
  <!--...-->

การเปลี่ยนเส้นทางตาม location ด้วย JavaScript

Google Search จะตีความและเรียกใช้ JavaScript โดยใช้ Web Rendering Service เมื่อรวบรวมข้อมูล URL เสร็จเรียบร้อยแล้ว

หากต้องการสร้างการเปลี่ยนเส้นทางด้วย JavaScript ให้ตั้งค่าพร็อพเพอร์ตี้ location เป็น URL เป้าหมายการเปลี่ยนเส้นทางในบล็อกสคริปต์ของส่วนหัว HTML เช่น

<!doctype html>
<html>
  <head>
    <script>
      window.location.href('http://www.example.com/newlocation')
    </script>
    <title>Example title</title>
    <!--...-->

การเปลี่ยนเส้นทาง Crypto

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

<a href="https://newsite.example.com/newpage.html">We moved! Find the content on our new site!</a>

วิธีนี้จะช่วยให้ผู้ใช้พบเว็บไซต์ใหม่และ Google อาจเข้าใจว่าเป็นการเปลี่ยนเส้นทาง crypto

URL เวอร์ชันทางเลือก

เมื่อคุณเปลี่ยนเส้นทาง URL ทาง Google จะติดตามทั้งต้นทางการเปลี่ยนเส้นทาง (URL เดิม) และเป้าหมายการเปลี่ยนเส้นทาง (URL ใหม่) URL รายการหนึ่งจะเป็น Canonical โดยขึ้นอยู่กับสัญญาณ เช่น การเปลี่ยนเส้นทางเป็นแบบชั่วคราวหรือถาวร ส่วน URL อีกรายการจะกลายเป็นชื่อทางเลือกของ Canonical URL ดังกล่าว ชื่อทางเลือกอาจปรากฏในผลการค้นหาเมื่อการค้นหาของผู้ใช้แนะนําว่าอาจเชื่อถือ URL เดิมมากกว่า

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