แจ้งให้ Google ทราบเกี่ยวกับเวอร์ชันที่แปลแล้วของหน้าเว็บ

ใช้ hreflang หรือแผนผังไซต์สำหรับหน้าเว็บในภาษาหรือภูมิภาคที่เฉพาะเจาะจง

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

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

ตัวอย่างสถานการณ์ที่แนะนำให้มีการระบุหน้าเว็บทางเลือก มีดังนี้

  • หากคุณมีเนื้อหาหลักในภาษาเดียวและแปลเฉพาะเทมเพลต เช่น การนำทางและส่วนท้าย หน้าที่มีเนื้อหาที่ผู้ใช้สร้างขึ้น เช่น ฟอรัม มักจะเป็นเช่นนี้
  • หากเนื้อหามีความแตกต่างตามภูมิภาคเพียงเล็กน้อยโดยที่มีเนื้อหาที่คล้ายกันในภาษาเดียว ตัวอย่างเช่น คุณมีเนื้อหาภาษาอังกฤษที่มีเป้าหมายเป็นสหรัฐอเมริกา เกรทบริเตน และไอร์แลนด์
  • หากเนื้อหาในเว็บไซต์มีการแปลเนื้อหาทั้งหมดเป็นภาษาต่างๆ เช่น คุณมีหน้าเวอร์ชันภาษาเยอรมันและภาษาอังกฤษสำหรับทุกหน้า

เราจะถือว่าหน้าเว็บเวอร์ชันแปลเป็นหน้าที่ซ้ำเฉพาะเมื่อเนื้อหาหลักในหน้าไม่ได้มีการแปล

Creating multi-regional and multilingual sites

วิธีระบุหน้าเว็บทางเลือก

การระบุเวอร์ชันสำหรับภาษา/สถานที่ต่างๆ ของหน้าเว็บให้ Google ทราบมี 3 วิธี ดังนี้

แท็ก HTML

เพิ่มเอลิเมนต์ <link rel="alternate" hreflang="lang_code"... > ในส่วนหัวของหน้าเว็บเพื่อบอก Google เกี่ยวกับรูปแบบสำหรับภาษาและภูมิภาคทั้งหมดของหน้า ซึ่งจะเป็นประโยชน์หากคุณไม่มีแผนผังไซต์หรือระบุส่วนหัวการตอบกลับของ HTTP ของเว็บไซต์ไม่ได้

หน้าเว็บแต่ละรูปแบบควรมีชุดเอลิเมนต์ <link> อยู่ในเอลิเมนต์ <head> 1 ลิงก์สำหรับแต่ละรูปแบบของหน้า รวมทั้งตัวเองด้วย ชุดลิงก์ของหน้าทุกหน้าจะเหมือนกันทุกประการ ดูหลักเกณฑ์เพิ่มเติม

ไวยากรณ์ของเอลิเมนต์ของลิงก์แต่ละรายการเป็นดังนี้

<link rel="alternate" hreflang="lang_code" href="url_of_page" />

lang_code
รหัสภาษา/ภูมิภาคที่รองรับซึ่งเวอร์ชันนี้ของหน้ากำหนดเป้าหมายไว้ หรือ x-default ที่จะจับคู่ภาษาที่แท็ก hreflang ไม่ได้ระบุไว้อย่างชัดเจนในหน้าเว็บ
url_of_page
URL ที่อยู่ในรูปแบบเต็มตามเกณฑ์ของเวอร์ชันของหน้านี้สำหรับภาษา/ภูมิภาคที่ระบุ
วางแท็ก <link> ไว้ใกล้ส่วนบนของเอลิเมนต์ <head> อย่างน้อยแท็ก <link> ต้องอยู่ภายในส่วน <head> ที่มีรูปแบบถูกต้อง หรืออยู่ก่อนรายการที่อาจทำให้ <head> ปิดก่อนเวลาอันควร เช่น <p> หรือพิกเซลการติดตาม หากไม่แน่ใจ ให้วางโค้ดจากหน้าเว็บที่แสดงผลในเครื่องมือตรวจสอบ HTML เพื่อตรวจสอบว่าลิงก์อยู่ภายในเอลิเมนต์ <head>

ตัวอย่าง

บริษัทตัวอย่างชื่อ Widgets มีเว็บไซต์ที่ให้บริการผู้ใช้ในสหรัฐฯ เกรตบริเตน และเยอรมนี URL ต่อไปนี้มีเนื้อหาส่วนใหญ่เหมือนกัน แต่แตกต่างกันในแต่ละภูมิภาค

  • http://en.example.com/page.html - หน้าแรกเป็นภาษาอังกฤษทั่วไปที่มีข้อมูลเกี่ยวกับค่าธรรมเนียมการจัดส่งสินค้าระหว่างประเทศจากสหรัฐอเมริกา
  • http://en-gb.example.com/page.html - หน้าแรกของสหราชอาณาจักรที่แสดงราคาเป็นเงินปอนด์สเตอร์ลิง
  • http://en-us.example.com/page.html - หน้าแรกของสหรัฐฯ ที่แสดงราคาเป็นดอลลาร์สหรัฐฯ
  • http://de.example.com/page.html - หน้าแรกเป็นภาษาเยอรมัน
  • http://www.example.com/ - หน้าเริ่มต้นที่ไม่ได้กำหนดเป้าหมายเป็นภาษาหรือสถานที่ใดๆ มีตัวเลือกเพื่อให้ผู้ใช้เลือกภาษาและภูมิภาคของตน

โปรดทราบว่า Google ไม่ได้ใช้โดเมนย่อยที่เจาะจงภาษาใน URL เหล่านี้ (en, en-gb, en-us, de) เพื่อกำหนดผู้ชมเป้าหมายของหน้าเว็บ คุณต้องจับคู่ผู้ชมเป้าหมายอย่างชัดเจน

นี่เป็น HTML ที่ควรวางไว้ในส่วน <head> ของหน้าเว็บทั้งหมดที่ระบุไว้ข้างต้น ซึ่งจะนำผู้ใช้ภาษาอังกฤษทั่วไปจากสหรัฐฯ และสหราชอาณาจักร รวมถึงผู้ใช้ภาษาเยอรมันไปยังหน้าที่แปลแล้ว และนำผู้ใช้ภาษาอื่นๆ ไปยังหน้าแรกทั่วไป Google Search จะแสดงผลการค้นหาที่เหมาะสำหรับผู้ใช้ตามการตั้งค่าเบราว์เซอร์ของผู้ใช้

<head>
  <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
        href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
        href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
        href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
        href="http://de.example.com/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

ส่วนหัว HTTP

คุณแสดงผลส่วนหัว HTTP พร้อมการตอบสนอง GET ของหน้าเว็บเพื่อแจ้งให้ Google ทราบเกี่ยวกับรูปแบบภาษาและภูมิภาคทั้งหมดของหน้าเว็บได้ ซึ่งเป็นประโยชน์สำหรับไฟล์ที่ไม่ใช่ HTML (เช่น PDF)

รูปแบบของส่วนหัวเป็นดังนี้

ลิงก์: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...

<url_x>
URL ที่อยู่ในรูปแบบเต็มตามเกณฑ์ของหน้าเว็บทางเลือกซึ่งตรงกับสตริงสถานที่ที่กำหนดให้กับแอตทริบิวต์ hreflang ที่เชื่อมโยง URL ต้องมีเครื่องหมาย < > คร่อมอยู่ ตัวอย่างเช่น <https://www.google.com>
lang_code_x
รหัสภาษา/ภูมิภาคที่รองรับซึ่งเวอร์ชันนี้ของหน้ากำหนดเป้าหมายไว้ หรือ x-default ที่จะจับคู่ภาษาที่แท็ก hreflang ไม่ได้ระบุไว้อย่างชัดเจนในหน้าเว็บ

คุณต้องระบุชุดค่า <url>, rel="alternate" และ hreflang สำหรับทุกเวอร์ชันของหน้าเว็บ รวมทั้งเวอร์ชันที่ขอ โดยคั่นด้วยเครื่องหมายจุลภาคดังที่แสดงไว้ในตัวอย่างด้านล่าง ลิงก์: ส่วนหัวที่แสดงผลสำหรับทุกเวอร์ชันของหน้าจะเหมือนกันทุกประการ ดูหลักเกณฑ์เพิ่มเติม

ตัวอย่าง

นี่คือตัวอย่างลิงก์: ส่วนหัวที่แสดงโดยเว็บไซต์ที่มีไฟล์ PDF 3 เวอร์ชัน ได้แก่ เวอร์ชันสำหรับผู้ใช้ภาษาอังกฤษ เวอร์ชันสำหรับผู้ใช้ภาษาเยอรมันจากสวิสเซอร์แลนด์ และอีกเวอร์ชันสำหรับพูดภาษาเยอรมันอื่นๆ ทั้งหมด

ลิงก์: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

แผนผังไซต์

คุณใช้แผนผังไซต์เพื่อบอก Google เกี่ยวกับรูปแบบสำหรับภาษาและภูมิภาคทั้งหมดสำหรับ URL แต่ละรายการได้ ซึ่งทำได้โดยเพิ่มเอลิเมนต์ <loc> ที่ระบุ URL เดียวโดยมีรายการย่อย <xhtml:link> ที่แสดงรูปแบบสำหรับภาษา/สถานที่ทุกรายการของหน้าเว็บ รวมถึงรายการของตัวเอง ดังนั้นหากคุณมีหน้าเว็บ 3 เวอร์ชัน แผนผังไซต์ก็จะมี 3 รายการ ซึ่งแต่ละรายการมีรายการย่อยที่เหมือนกันอยู่ 3 รายการ

กฎของแผนผังไซต์

  • ระบุเนมสเปซของ xhtml ดังนี้
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • สร้างเอลิเมนต์ <url> สำหรับ URL แต่ละรายการแยกกัน
  • เอลิเมนต์ <url> แต่ละรายการต้องมี <loc> ย่อยที่ระบุ URL ของหน้า
  • เอลิเมนต์ <url> แต่ละรายการต้องมีเอลิเมนต์ย่อย <xhtml:link rel="alternate" hreflang="supported_language-code"> ที่ระบุเวอร์ชันทางเลือกของหน้าเว็บ รวมถึงรายการของตัวเอง  ลำดับของเอลิเมนต์ <xhtml:link> ย่อยเหล่านี้ไม่สำคัญ แต่คุณอาจต้องเก็บไว้ตามลำดับเดิมเพื่อให้ตรวจหาข้อผิดพลาดได้ง่ายขึ้น
  • ดูหลักเกณฑ์เพิ่มเติม

ตัวอย่าง

นี่คือหน้าเว็บภาษาอังกฤษที่กำหนดเป้าหมายไปที่ผู้ใช้ภาษาอังกฤษทั่วโลก โดยมีหน้าที่เป็นเวอร์ชันเดียวกันซึ่งกำหนดเป้าหมายไปยังผู้ใช้ภาษาเยอรมันทั่วโลก และผู้ใช้ภาษาเยอรมันที่อาศัยอยู่ในสวิตเซอร์แลนด์ URL ทั้งหมดที่มีอยู่ในเว็บไซต์มีดังนี้

  • www.example.com/english/page.html กำหนดเป้าหมายที่ผู้ใช้ภาษาอังกฤษ
  • www.example.com/deutsch/page.html กำหนดเป้าหมายที่ผู้ใช้ภาษาเยอรมัน
  • www.example.com/schweiz-deutsch/page.html กำหนดเป้าหมายที่ผู้ใช้ภาษาเยอรมันในสวิสเซอร์แลนด์

แผนผังไซต์ของหน้าเว็บทั้ง 3 เป็นดังนี้

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

หลักเกณฑ์ของทุกวิธีการ

  • เวอร์ชันภาษาแต่ละเวอร์ชันต้องระบุตัวเองและเวอร์ชันภาษาอื่นๆ ทั้งหมด
  • URL ทางเลือกต้องอยู่ในรูปแบบเต็มตามเกณฑ์ รวมถึงวิธีการส่ง (http/https) ซึ่งควรมีลักษณะดังนี้
     https://example.com/foo ไม่ใช่ //example.com/foo หรือ /foo
  • URL ทางเลือกไม่จำเป็นต้องอยู่ในโดเมนเดียวกัน 
  • หากคุณมี URL ทางเลือกหลายรายการที่มีเป้าหมายเป็นผู้ใช้ที่ใช้ภาษาเดียวกันแต่อยู่ต่างสถานที่ ก็ควรมี URL แบบรับสำหรับผู้ใช้ที่ไม่ระบุข้อมูลทางภูมิศาสตร์ของภาษานั้นด้วย ตัวอย่างเช่น คุณอาจมี URL เฉพาะสำหรับผู้ใช้ภาษาอังกฤษในไอร์แลนด์ (en-ie) แคนาดา (en-ca) และออสเตรเลีย (en-au) แต่ก็ควรมีหน้าภาษาอังกฤษทั่วไป (en) สำหรับผู้ค้นหาที่อยู่ในประเทศอื่นด้วย เช่น สหรัฐฯ สหราชอาณาจักร และสถานที่อื่นๆ ทั้งหมดที่พูดภาษาอังกฤษ คุณจะเลือกให้หน้านี้เป็นหน้าที่เจาะจงด้วยก็ได้
  • ระบบจะไม่สนใจแท็กหากหน้า 2 หน้าไม่ได้นำไปที่กันและกัน เพื่อให้คนในเว็บไซต์อื่นไม่สามารถสร้างแท็กโดยตั้งชื่อตนเองว่าเป็นเวอร์ชันทางเลือกหนึ่งของหน้าเว็บของคุณ
  • หากการรักษาลิงก์ 2 ทางของทุกภาษาให้เป็นชุดที่สมบูรณ์นั้นทำได้ยาก คุณละเว้นบางภาษาในบางหน้าได้ Google จะยังคงประมวลผลลิงก์ที่นำไปที่กันและกัน อย่างไรก็ตาม คุณต้องลิงก์หน้าภาษาที่ขยายเพิ่มใหม่ไปยังภาษาดั้งเดิม/ภาษาหลักแบบ 2 ทาง ตัวอย่างเช่น หากเว็บไซต์ของคุณสร้างเป็นภาษาฝรั่งเศสในตอนแรกโดยมี URL เป็น .fr คุณยิ่งต้องลิงก์หน้าใหม่อย่างเม็กซิโก (.mx) และสเปน (.es) ไปยังหน้าเว็บหลักอย่าง .fr แทนที่จะลิงก์หน้าต่างๆ ที่มีภาษาสเปนรูปแบบใหม่ (.mx และ .es) ไปยังกันและกันแบบ 2 ทาง
  • พิจารณาเพิ่มหน้าสำรองสำหรับภาษาที่ไม่ตรงกัน โดยเฉพาะในตัวเลือกภาษา/ประเทศ หรือการเปลี่ยนเส้นทางหน้าแรกโดยอัตโนมัติ ใช้ค่า x-default
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

รหัสภาษา/ภูมิภาคที่รองรับ

ค่าของแอตทริบิวต์ hreflang จะระบุภาษา (ในรูปแบบ ISO 639-1) และภูมิภาค (ไม่บังคับสำหรับภูมิภาค) (ในรูปแบบ ISO 3166-1 Alpha 2) ของ URL ทางเลือก (ภาษาไม่จำเป็นต้องเกี่ยวข้องกับภูมิภาค) เช่น

  • de: เนื้อหาภาษาเยอรมัน ไม่กำหนดภูมิภาค
  • en-GB: เนื้อหาภาษาอังกฤษ สำหรับผู้ใช้ในเกรตบริเตน
  • de-ES: เนื้อหาภาษาเยอรมัน สำหรับผู้ใช้ในสเปน

อย่าระบุรหัสประเทศเพียงอย่างเดียว Google จะไม่ดึงภาษาจากรหัสประเทศโดยอัตโนมัติ คุณระบุรหัสภาษาเพียงอย่างเดียวได้หากต้องการให้การติดป้ายกำกับไม่ซับซ้อน  การเพิ่มรหัสประเทศหลังภาษาจะช่วยจำกัดหน้าให้กับภูมิภาคหนึ่งๆ โดยเฉพาะ  ตัวอย่างเช่น

  • be: ภาษาเบลารุส ไม่กำหนดภูมิภาค (ไม่ใช่ ภาษาฝรั่งเศสที่ใช้ในเบลเยียม)
  • nl-be: ภาษาดัตช์สำหรับเบลเยียม
  • fr-be: ภาษาฝรั่งเศสสำหรับเบลเยียม 

สำหรับรูปแบบสคริปต์ภาษาต่างๆ สคริปต์ที่เหมาะสมจะถูกดึงจากประเทศนั้นๆ ตัวอย่างเช่น เมื่อใช้ zh-TW สำหรับผู้ใช้ในไต้หวัน ระบบจะดึงสคริปต์ภาษาดังกล่าวมาโดยอัตโนมัติ (ในตัวอย่างนี้คือ ภาษาจีนตัวเต็ม) คุณสามารถระบุตัวสคริปต์นั้นเองอย่างชัดแจ้งโดยใช้ ISO 15924 ดังนี้

  • zh-Hant: ภาษาจีน (ตัวเต็ม)
  • zh-Hans: ภาษาจีน (ตัวย่อ)

อีกทางเลือกหนึ่งคือ คุณสามารถระบุชุดของสคริปต์และภูมิภาคผสมกันได้ เช่น ใช้ zh-Hans-TW เพื่อระบุภาษาจีน (ตัวย่อ) สำหรับผู้ใช้ชาวไต้หวัน

ใช้แท็ก x-default สำหรับภาษาที่ไม่ตรงกัน

ระบบจะใช้ค่า hreflang="x-default" ที่สงวนไว้นี้เมื่อไม่มีภาษา/ภูมิภาคอื่นตรงกับการตั้งค่าเบราว์เซอร์ของผู้ใช้ ค่านี้ไม่ใช่ค่าบังคับ แต่แนะนำให้เป็นวิธีควบคุมหน้าเว็บเมื่อไม่มีภาษาที่ตรงกัน การใช้ที่เหมาะสมคือกำหนดเป้าหมายหน้าแรกของเว็บไซต์ที่มีแผนที่ให้ผู้ใช้คลิกเลือกประเทศของตนได้

การแก้ปัญหา

ข้อผิดพลาดทั่วไป

ข้อผิดพลาดในการใช้งาน hreflang ที่พบบ่อยมีดังนี้

  • ไม่มีลิงก์ส่งกลับ: หากหน้า ก ลิงก์ไปยังหน้า ข หน้า ข ต้องลิงก์กลับมาที่หน้า ก หากหน้าที่ใช้คำอธิบายประกอบ hreflang บางหน้าไม่ได้มีลักษณะแบบนี้ ระบบอาจเพิกเฉยต่อข้อมูลเสริมดังกล่าวหรือไม่ได้รับการตีความอย่างถูกต้อง
  • รหัสภาษาไม่ถูกต้อง: โปรดตรวจสอบว่ารหัสภาษาทั้งหมดที่คุณใช้นั้นมีการระบุภาษา (ในรูปแบบ ISO 639-1) และภูมิภาค (ไม่บังคับสำหรับภูมิภาค) (ในรูปแบบ ISO 3166-1 Alpha 2) ของ URL ทางเลือก ทั้งนี้ไม่สามารถระบุภูมิภาคอย่างเดียวได้

การแก้ข้อผิดพลาด hreflang

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

นอกจากนี้ยังมีเครื่องมือของบุคคลที่สามที่ใช้ได้อยู่หลายรายการ เครื่องมือที่ได้รับความนิยมมีดังนี้ (Google ไม่ได้ดูแลรักษาหรือตรวจสอบเครื่องมือเหล่านี้)

บทความนี้มีประโยชน์ไหม
เราจะปรับปรุงได้อย่างไร