อาการที่ทำให้คนมาสนใจหัวข้อนี้แทบจะเหมือนกันทุกครั้ง: บริษัทมีส่วนเว็บไซต์ภาษาญี่ปุ่น ถูกอินเด็กซ์แล้ว แต่ผู้ค้นหาในญี่ปุ่นกลับไปลงที่หน้าภาษาอังกฤษอยู่เรื่อย ๆ บางครั้งหน้าภาษาอังกฤษถึงกับติดอันดับเหนือหน้าภาษาญี่ปุ่นสำหรับคำค้นภาษาญี่ปุ่นด้วยซ้ำ
Hreflang มักเป็นส่วนหนึ่งของเรื่องนี้ แม้จะไม่ใช่ทั้งหมดเสมอไป — หน้าภาษาญี่ปุ่นที่ไม่มีใครค้นหาจะไม่ติดอันดับไม่ว่าจะกำกับข้อมูลอย่างไร — แต่เป็นส่วนที่แก้ได้อย่างเป็นระบบและให้ผลแน่นอน และควรแก้ก่อนจะสรุปสาเหตุอื่นใด
Hreflang ทำอะไรจริง ๆ
Hreflang ไม่ได้ทำให้หน้าเว็บติดอันดับ มันบอก Google ว่า URL หลายรายการเป็นเวอร์ชันภาษาหรือภูมิภาคทางเลือกของเนื้อหาเดียวกัน เพื่อว่าเมื่อหน้าใดหน้าหนึ่งมีสิทธิ์ได้แสดงในผลการค้นหา Google จะสามารถสลับไปแสดงเวอร์ชันที่ตรงกับภาษาและตำแหน่งของผู้ใช้ได้
จากนิยามนี้มีผลตามมาสองข้อ และความผิดพลาดเรื่อง hreflang ส่วนใหญ่มาจากการมองข้ามข้อใดข้อหนึ่ง
ข้อแรก มันคือกลไก สลับ ไม่ใช่ตัวช่วยดันอันดับ หากหน้าภาษาญี่ปุ่นของคุณไม่มีการมองเห็นของตัวเอง และหน้าภาษาอังกฤษก็ไม่มีเช่นกัน hreflang ที่ถูกต้องก็ไม่ได้เปลี่ยนอะไร
ข้อสอง มันทำงานบน คลัสเตอร์ของ URL ไม่ใช่บนทั้งเว็บไซต์ แต่ละหน้ามีคลัสเตอร์ของตัวเอง /services/technical-seo/ และ /ja/services/technical-seo/ เป็นคลัสเตอร์หนึ่ง หน้าแรกของสองภาษาเป็นอีกคลัสเตอร์หนึ่ง บล็อกกำกับข้อมูลชุดเดียวทั้งเว็บไซต์ที่ชี้ไปยังหน้าแรกของแต่ละภาษา แล้วใส่ซ้ำในทุกหน้า คือหนึ่งในสาเหตุที่พบบ่อยที่สุดที่ทำให้มี hreflang แต่ไม่ได้ประโยชน์อะไรเลย
ja หรือ ja-JP?
แท็กย่อยภาษาคือ ja ไม่ใช่ jp เพราะ jp เป็นรหัสประเทศ — คือสิ่งที่ปรากฏใน .co.jp และใน ja-JP — และไม่ใช่ค่าภาษาที่ถูกต้องเมื่ออยู่ตัวเดียว hreflang="jp" ไม่ถูกต้องและจะถูกเพิกเฉยทันที นี่คือข้อผิดพลาด hreflang ที่เราพบบ่อยที่สุดในส่วนเว็บไซต์ภาษาญี่ปุ่น และเพราะการกำกับข้อมูลที่ไม่ถูกต้องจะใช้ไม่ได้โดยไม่มีการแจ้งเตือนใด ๆ ข้อผิดพลาดนี้จึงอาจค้างอยู่ได้หลายปี
ระหว่าง ja กับ ja-JP คำตอบตามจริงคือ ja เหมาะกับเว็บไซต์ส่วนใหญ่
jaหมายถึง “หน้านี้สำหรับผู้ใช้ภาษาญี่ปุ่น” ไม่ว่าจะอยู่ที่ใดในโลกja-JPหมายถึง “หน้านี้สำหรับผู้ใช้ภาษาญี่ปุ่น ในญี่ปุ่น” และไม่รวมผู้ใช้ภาษาญี่ปุ่นที่เข้าชมจากที่อื่น
ใช้แท็กย่อยภูมิภาคเฉพาะเมื่อคุณมีเวอร์ชันภาษาญี่ปุ่นมากกว่าหนึ่งเวอร์ชันที่แยกตามประเทศจริง ๆ — เช่น หน้า ja-JP ที่มีราคาสำหรับญี่ปุ่น และหน้า ja-SG สำหรับนิติบุคคลในสิงคโปร์ หากคุณมีหน้าภาษาญี่ปุ่นเพียงหน้าเดียว ja ครอบคลุมทุกคนที่ควรเห็นหน้านั้น รวมถึงผู้ใช้ภาษาญี่ปุ่นที่เดินทางหรืออาศัยอยู่ต่างประเทศ การจำกัดให้แคบลงเป็น ja-JP โดยไม่มีเหตุผล เท่ากับตัดผู้ชมกลุ่มหนึ่งทิ้งไปเฉย ๆ
หากคุณใช้แท็กย่อยภูมิภาค ต้องเป็นรหัสประเทศตาม ISO 3166-1 alpha-2 และรูปแบบตัวพิมพ์ตามธรรมเนียมคือ ja-JP (ค่านี้ไม่แยกตัวพิมพ์เล็กใหญ่ แต่ความสม่ำเสมอทำให้ตรวจสอบง่ายขึ้น)
การอ้างอิงกลับ (reciprocity) คือกฎที่การตั้งค่าส่วนใหญ่ผิดพลาด
ทุก URL ในคลัสเตอร์ต้องระบุ ทุก URL ในคลัสเตอร์นั้น รวมถึงตัวเองด้วย หากหน้า A ระบุว่าหน้า B เป็นเวอร์ชันภาษาญี่ปุ่นของตน แต่หน้า B ไม่ได้ระบุกลับมาที่หน้า A Google อาจไม่นำการกำกับข้อมูลนั้นมาใช้เลย
การอ้างอิงถึงตัวเองเป็นสิ่งจำเป็นจริง ๆ และก็ขาดหายไปบ่อยจริง ๆ หน้าภาษาญี่ปุ่นต้องมีบรรทัด hreflang="ja" ที่ชี้มาที่ตัวเอง ไม่ใช่มีเพียงบรรทัดที่ชี้ไปยังภาษาอังกฤษ
สำหรับเว็บไซต์ที่มีต้นฉบับภาษาอังกฤษและเวอร์ชันภาษาญี่ปุ่น บล็อกเดียวกันทุกประการจะปรากฏบนทั้งสองหน้า:
<link rel="alternate" hreflang="en" href="https://example.com/services/pricing/" />
<link rel="alternate" hreflang="ja" href="https://example.com/ja/services/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/services/pricing/" />
วิธีที่เชื่อถือได้ที่สุดในการทำ reciprocity ให้ถูกคือเลิกดูแลมันด้วยมือ สร้างคลัสเตอร์จากแหล่งข้อมูลอ้างอิงหลักเพียงแหล่งเดียว — ทะเบียนหน้าเว็บที่รู้ว่าแต่ละหน้ามีอยู่ในภาษาใดบ้าง — เพื่อให้ทุกหน้าในคลัสเตอร์แสดงรายการเดียวกันโดยอัตโนมัติ hreflang ที่ดูแลด้วยมือจะเริ่มเสื่อมทันทีที่มีคนเพิ่มหน้าใหม่ครั้งแรก
x-default
x-default ใช้ระบุหน้าที่จะแสดงเมื่อไม่มีเวอร์ชันอื่นที่ตรงกับผู้ใช้ เป็นค่าที่ไม่บังคับ และมักถูกเข้าใจผิด
ให้ชี้ไปยังหน้าที่เหมาะสมที่สุดเป็นทางสำรองสำหรับ “คนที่เราไม่มีเวอร์ชันที่ตรงกว่าให้” ซึ่งมักเป็นเวอร์ชันภาษาอังกฤษระดับโลก หรือหน้าเลือกภาษาจริง ๆ หากคุณมี อย่าชี้ x-default ไปที่หน้าภาษาญี่ปุ่น — เพราะหน้านั้นจะถูกแสดงต่อผู้ใช้กลุ่มที่คุณไม่ได้ตั้งใจ
x-default ก็อยู่ภายใต้กฎ reciprocity เช่นกัน: การกำกับข้อมูลเดียวกันต้องอยู่ในทุกหน้าของคลัสเตอร์ รวมถึงหน้าที่มันชี้ไปด้วย
ข้อควรรู้อีกเล็กน้อย: x-default จะมีประโยชน์ก็ต่อเมื่อมีเวอร์ชันให้เลือกมากกว่าหนึ่ง บนหน้าที่มีอยู่เพียงภาษาเดียว บล็อกกำกับข้อมูลทั้งหมดเป็นเพียงข้อมูลส่วนเกิน
ควรใส่ไว้ที่ไหน
มีสามวิธีในการส่งข้อมูล ซึ่ง Google ถือว่าถูกต้องเท่ากันทั้งหมด:
- องค์ประกอบ
<link>ใน<head>— ง่ายที่สุด และเป็นค่าเริ่มต้นที่เหมาะกับเว็บไซต์ส่วนใหญ่ ต้องอยู่ใน<head>ของ HTML ดิบ ไม่ใช่ถูกแทรกเข้าไปใน<body>ด้วย JavaScript - HTTP
Linkheader — เป็นทางเลือกเดียวสำหรับไฟล์ที่ไม่ใช่ HTML เช่น PDF - การกำกับข้อมูลใน XML sitemap — มักเป็นทางเลือกที่ดูแลง่ายที่สุดสำหรับเว็บไซต์ขนาดใหญ่ เพราะแผนผังคลัสเตอร์ทั้งหมดอยู่ในไฟล์ที่สร้างขึ้นไฟล์เดียว แทนที่จะกระจายอยู่ในเทมเพลตหลายพันชุด
เลือกเพียงวิธีเดียว สองวิธีที่ขัดแย้งกันแย่กว่าใช้วิธีใดวิธีหนึ่งเพียงอย่างเดียว และเป็นผลลัพธ์ที่พบบ่อยอย่างน่าประหลาดใจเมื่อทั้งปลั๊กอินและเทมเพลตที่เขียนเองทำงานพร้อมกัน
Canonical และ hreflang ต้องสอดคล้องกัน
นี่คือจุดที่การตั้งค่าซึ่งถูกต้องในด้านอื่น ๆ มักผิดพลาด
ทุกเวอร์ชันภาษาต้อง มี canonical ชี้ที่ตัวเอง หน้าภาษาญี่ปุ่นต้อง canonical ไปที่ตัวเอง หากหน้าภาษาญี่ปุ่นมี <link rel="canonical"> ชี้ไปยัง URL ภาษาอังกฤษ — ซึ่งเกิดขึ้นบ่อยกว่าที่คิด มักเป็นของตกค้างจากความกังวลเรื่องเนื้อหาซ้ำ — เท่ากับคุณบอก Google ว่าหน้าภาษาญี่ปุ่นไม่ควรถูกอินเด็กซ์เลย และการกำกับ hreflang ที่ชี้มาที่หน้านั้นก็ไร้ความหมาย
กฎที่เกี่ยวข้องซึ่งมาจากหลักการเดียวกัน:
- hreflang ต้องชี้ไปยัง URL ที่เป็น canonical และอินเด็กซ์ได้ — ไม่ใช่ URL ที่รีไดเรกต์ ไม่ใช่เวอร์ชันที่มีพารามิเตอร์ ไม่ใช่หน้า noindex
- ใช้ URL แบบสมบูรณ์ (absolute) พร้อมโปรโตคอล URL แบบสัมพัทธ์ (relative) ใน hreflang ไม่ได้รับการรองรับ
- ทำให้ตรงกับรูปแบบเครื่องหมายทับปิดท้าย,
wwwและhttpsของคุณทุกประการhttps://example.com/ja/pricingและhttps://example.com/ja/pricing/เป็นคนละ URL และความไม่ตรงกันทำให้ reciprocity เสียไป แม้เบราว์เซอร์จะไปลงที่เดียวกันก็ตาม
ซับไดเรกทอรี ซับโดเมน หรือ .co.jp
Hreflang ทำงานเหมือนกันทุกประการในทั้งสามแบบ example.com/ja/, ja.example.com และ example.co.jp สามารถกำกับเป็นเวอร์ชันทางเลือกของกันและกันได้ทั้งหมด และ Google จัดการคลัสเตอร์ hreflang ข้ามโดเมนได้ดี
ดังนั้นการตัดสินใจเรื่องโครงสร้าง URL จึงไม่ใช่การตัดสินใจเรื่อง hreflang — แต่เป็นการตัดสินใจเรื่อง authority การดำเนินงาน และความน่าเชื่อถือ ซึ่งเราอธิบายแยกไว้ใน จำเป็นต้องใช้โดเมน .co.jp เพื่อติดอันดับในญี่ปุ่นหรือไม่ ประเด็นเดียวที่เกี่ยวกับ hreflang คือ คลัสเตอร์ข้ามโดเมนรักษา reciprocity ได้ยากกว่า เพราะสองฝั่งมักดูแลโดยต่างทีมที่มีรอบการรีลีสต่างกัน นั่นเป็นความเสี่ยงด้านการดำเนินงาน ไม่ใช่ด้านอันดับ แต่เป็นความเสี่ยงที่มีอยู่จริง
จุดผิดพลาดที่ควรตรวจสอบก่อน
เรียงตามลำดับที่เรามักพบโดยประมาณ:
- ใช้
hreflang="jp"แทนhreflang="ja" - ไม่มีการกำกับข้อมูลอ้างอิงถึงตัวเองในฝั่งใดฝั่งหนึ่งหรือทั้งสองฝั่ง
- คลัสเตอร์ที่ไม่อ้างอิงกลับ — มักเป็นเพราะส่วนภาษาญี่ปุ่นถูกสร้างทีหลัง โดยทีมอื่น จากเทมเพลตอื่น
- การกำกับข้อมูลแบบทั้งเว็บไซต์ที่ชี้ทุกหน้าไปยังหน้าแรกสองหน้า
- เป้าหมาย hreflang ที่รีไดเรกต์ ขึ้น 404 หรือมี
noindex - หน้าภาษาญี่ปุ่น canonical ไปยังหน้าภาษาอังกฤษ
- โปรโตคอล,
wwwหรือเครื่องหมายทับปิดท้ายไม่ตรงกันระหว่างการกำกับข้อมูลกับ URL จริง - การกำกับข้อมูลที่ถูกแทรกโดย JavaScript ฝั่งไคลเอนต์
- การรีไดเรกต์อัตโนมัติตาม IP ที่ส่ง Googlebot — ซึ่งส่วนใหญ่ครอว์ลจาก IP ในสหรัฐฯ — ออกไปจากหน้าภาษาญี่ปุ่นทั้งหมด
ข้อสุดท้ายควรเน้นย้ำ เพราะมันทำให้ทุกอย่างที่เหลือไร้ผล หากผู้เข้าชมจาก IP ญี่ปุ่นถูกบังคับรีไดเรกต์ไปที่ /ja/ และคนอื่นทั้งหมดถูกบังคับรีไดเรกต์ออกไป การกำกับข้อมูลของคุณก็กำลังอธิบายเว็บไซต์ที่ Google ครอว์ลไม่ได้ ให้แนะนำการสลับภาษาด้วยแบนเนอร์ที่ปิดได้ อย่าบังคับ
วิธีตรวจสอบความถูกต้อง
Google ยกเลิกรายงาน International Targeting โดยเฉพาะใน Search Console แล้ว จึงไม่มีเครื่องมือตรวจสอบ hreflang จาก Google ให้พึ่งพาอีกต่อไป การตรวจสอบจึงเป็นหน้าที่ของคุณเอง ซึ่งไม่ได้ยาก:
- ครอว์ลส่วนเว็บไซต์ทั้งสองภาษา ด้วยครอว์เลอร์ที่ดึงข้อมูล hreflang ได้ และตรวจ reciprocity ทั่วทั้งชุด แทนการสุ่มตรวจทีละหน้า ข้อผิดพลาดเรื่อง reciprocity เป็นปัญหาเชิงระบบ หากหน้าหนึ่งมี ก็น่าจะมีอีกหลายร้อยหน้า
- ตรวจว่าทุก URL เป้าหมายตอบกลับ 200 มี canonical ชี้ที่ตัวเอง และอินเด็กซ์ได้
- ตรวจ HTML ดิบ ไม่ใช่ DOM ที่เรนเดอร์แล้วใน inspector ของเบราว์เซอร์ — ทั้งสองอาจต่างกัน
- ใช้เครื่องมือ URL Inspection กับหน้าภาษาญี่ปุ่นที่เป็นตัวแทน เพื่อยืนยันว่า Google เห็น canonical ตามที่คุณตั้งใจ
- ติดตามรายงาน Performance ของ Search Console โดยกรองเฉพาะญี่ปุ่น และดูว่า URL ใด ได้รับ impression สำหรับคำค้นภาษาญี่ปุ่น หากยังเป็น URL ภาษาอังกฤษหลายสัปดาห์หลังแก้ไข แสดงว่าการกำกับข้อมูลไม่ถูกนำไปใช้ หรือหน้าภาษาญี่ปุ่นยังไม่ใช่ผลลัพธ์ที่น่าเชื่อถือสำหรับคำค้นนั้น
ความแตกต่างข้อสุดท้ายนี้คือสิ่งที่ควรยึดไว้ Hreflang ตัดสินว่าหน้าใดของคุณจะถูกแสดง แต่ไม่ได้ตัดสินว่าหน้าเหล่านั้นสมควรได้แสดงหรือไม่ หากหน้าภาษาญี่ปุ่นเป็นการแปลตรงจากหน้าภาษาอังกฤษ ซึ่งสร้างขึ้นจากความต้องการค้นหาของผู้ใช้ภาษาอังกฤษ การกำกับข้อมูลที่ถูกต้องก็จะดันหน้าที่ไม่มีใครค้นหาขึ้นมา — ซึ่งเป็นประเด็นที่อธิบายไว้อย่างละเอียดใน ทำไมการแปลเว็บไซต์จึงไม่ใช่ SEO ญี่ปุ่น
แก้ชั้นทางเทคนิคก่อน เพราะเป็นสิ่งที่ตรวจสอบได้แน่ชัด และเมื่อแก้แล้วก็คงอยู่ถาวร จากนั้นจึงไปทำอีกครึ่งที่ยากกว่า
หากคุณต้องการให้ตรวจสอบการตั้งค่าอย่างละเอียด นั่นเป็นส่วนหนึ่งของงาน International SEO สำหรับญี่ปุ่น และ SEO เชิงเทคนิค ของเรา — ส่ง URL มาให้เรา แล้วเราจะบอกคุณว่าพบอะไรบ้าง