ใช้งาน Hreflang จริง: วิธีเขียน หน้าตามภูมิภาค การอ้างอิงสองทาง และข้อผิดพลาดที่พบบ่อย
หนึ่ง、hreflang แก้ปัญหาอะไร: ไม่ใช่ตัวเพิ่มคะแนน แต่เป็นการป้องกันการตัดสินผิด
ขอแก้ความเข้าใจผิดที่แพร่หลายก่อน: hreflang ไม่ได้ช่วยให้อันดับดีขึ้น Google ระบุหลายครั้งว่าแท็ก hreflang ไม่ใช่ปัจจัยจัดอันดับ สิ่งที่มันแก้คืออีกปัญหา: เมื่อหน้าเยอรมันกับหน้า อังกฤษของคุณพูดถึงสินค้าเดียวกัน Google อาจตัดสินว่าหน้าเยอรมันเป็นเนื้อหาซ้ำของหน้า อังกฤษ
เมื่อไม่มี hreflang Google ทำได้แค่ใช้การตรวจจับภาษาเดาเองว่าเวอร์ชันไหนควรให้ผู้ใช้ประเทศไหน ราคาของการเดาผิดคือผู้ใช้เยอรมันเจอหน้า อังกฤษ อัตราตีกลับสูง อันดับกลับตก hreflang คือคู่มือที่คุณยื่นให้ Google เอง: หน้าเหล่านี้เป็นเวอร์ชันแปลของกันและกัน แจกจ่ายตามภาษาของผู้ใช้
| ความเข้าใจผิด | สถานการณ์จริง | ผลที่ตามมา |
|---|---|---|
| hreflang ช่วยให้อันดับดีขึ้น | ไม่ใช่ปัจจัยจัดอันดับ มีผลแค่การเลือกเวอร์ชัน | ใส่แล้วก็ไม่ขึ้นอันดับ |
| เขียนแล้วต้องได้ผลแน่นอน | ทำกฎทั้งชุดพังข้อเดียวใช้ไม่ได้ทั้งหมด | รายงานการกำหนดเป้าหมายระหว่างประเทศแสดงข้อผิดพลาด |
| เขียนแค่หน้า อังกฤษก็พอ | ทุกหน้าเวอร์ชันต้องเขียนและอ้างอิงสองทาง | แท็กด้านเดียวไม่ทำงาน |
| ใช้ rel=alternate แทน | นั่นใช้กับเวอร์ชัน responsive/มือถือ | หลายภาษาต้องใช้ hreflang |
สอง、วิธีวางสามแบบ: เลือกตามขนาดเว็บ
hreflang วางได้สามที่ ทั้งสามวิธีได้ผลเหมือนกัน แต่ต้นทุนการดูแลและความเร็วในการ crawl ต่างกัน เลือกตามจำนวนภาษาและจำนวนหน้าของเว็บ
| วิธีวาง | รูปแบบไวยากรณ์ | เหมาะกับขนาด | ความเร็วในการ crawl |
|---|---|---|---|
| แท็ก head link | link rel=”alternate” hreflang=”de” | ภาษาไม่เกิน 5 เวอร์ชัน หน้าไม่เกิน 200 | ทันที ตามการ crawl หน้า |
| XML sitemap | แท็กย่อย xhtml:link | เว็บใหญ่หลายภาษา แนะนำ | crawl ใหม่ใน 3 ถึง 7 วัน |
| HTTP header | ฟิลด์ Link ใน response header | เฉพาะ PDF และไฟล์ที่ไม่ใช่ HTML | ตามการ crawl ไฟล์ |
สมมติว่าคุณมีเว็บ 5 ภาษา ได้แก่ อังกฤษ เยอรมัน ฝรั่งเศส สเปน และอาหรับ แต่ละภาษามี 50 หน้าสินค้า รวม 250 หน้า ใช้เทมเพลต head link สร้างทีละชุด แต่ละหน้า head มี 5 บรรทัดแท็ก ต้นทุนการดูแลยังควบคุมได้ ถ้าขยายเป็น 12 ภาษา 2,000 หน้า การใช้ head link จะทำให้หน้าโหลดช้าลง ถึงตอนนั้นให้ย้ายไปใช้ XML sitemap แล้วสร้างรายการ alternative ด้วยโปรแกรมแบบเป็นชุด
หน้าภาษา HTML ไม่ควรใช้วิธี HTTP header เพราะนั่นเตรียมไว้สำหรับลิงก์ดาวน์โหลด PDF การใช้สามวิธีปนกันจะทำให้แท็กชุดเดียวกันถูกประกาศซ้ำ Google จะเลือกใช้เพียงชุดเดียว และตรวจสอบได้ยากขึ้น
เมื่อใช้วิธี sitemap โครงสร้างคือแขวนแท็กย่อย xhtml:link ไว้ใต้โหนด URL แต่ละอัน สองแท็ก โดยอันหนึ่งชี้ไปเวอร์ชันอังกฤษ อีกอันชี้ไปเวอร์ชันเยอรมัน แล้วเพิ่ม x-default อีกหนึ่งรายการ ข้อดีของวิธีนี้คือเวลาแก้เวอร์ชันภาษา แก้แค่ไฟล์ sitemap ไฟล์เดียว ไม่ต้องแก้ head ทีละหน้า ข้อเสียคือ Google ต้องกลับมาเก็บข้อมูล sitemap ใหม่ ใช้เวลา 3 ถึง 7 วัน จึงใช้กับการแก้ไขเร่งด่วนไม่ได้ เว็บหลายภาษาที่มีหน้ามากกว่า 500 หน้า แนะนำให้สร้างด้วยโปรแกรมอัตโนมัติ ไม่ควรเขียนด้วยมือ
สาม รหัสภาษาและประเทศ หน้าเฉพาะภูมิภาค และการอ้างอิงสองทาง
กฎเรื่องรหัสเป็นจุดที่เขียน hreflang ผิดได้ง่ายที่สุด รหัสภาษาใช้ ISO 639-1 ตัวพิมพ์เล็กสองตัว (de, fr, ar) รหัสประเทศใช้ ISO 3166-1 ตัวพิมพ์ใหญ่สองตัว (DE, AT, US) ใช้แค่รหัสภาษาเพื่อหมายถึงทุกภูมิภาคที่ใช้ภาษานั้น เติมรหัสประเทศเพื่อหมายถึงประเทศที่เจาะจง
| วิธีเขียน | ความหมาย | สถานการณ์ใช้งาน |
|---|---|---|
| hreflang=”de” | ภาษาเยอรมัน ไม่จำกัดประเทศ | เยอรมนีและออสเตรียใช้หน้าเดียวกัน |
| hreflang=”de-DE” | ภาษาเยอรมันถิ่นเยอรมนี | เนื้อหาท้องถิ่นเฉพาะเยอรมนี |
| hreflang=”de-AT” | ภาษาเยอรมันถิ่นออสเตรีย | หน้าราคา/กฎระเบียบที่ต่างกันของออสเตรีย |
| hreflang=”en-GB” | ภาษาอังกฤษแบบอังกฤษ | หน้าราคาที่เป็นปอนด์ |
| hreflang=”x-default” | เวอร์ชันเริ่มต้นสำรอง | ทุกกลุ่มต้องมี โดยปกติชี้ไปที่หน้าภาษาอังกฤษ |
การตัดสินใจเรื่องหน้าเฉพาะภูมิภาค ถ้าเยอรมนีกับออสเตรียต่างกันแค่ราคา กฎระเบียบ และช่องทางติดต่อ ส่วนเนื้อหาสินค้าเหมือนกัน ทำเวอร์ชันเยอรมนีหนึ่งหน้า + หน้าความแตกต่างของออสเตรียหนึ่งหน้า ก็พอ ไม่ต้องแปลทั้งฉบับสำหรับทุกประเทศที่ใช้ภาษาเยอรมัน เมื่อไหร่ควรทำหน้าเฉพาะภูมิภาค แนวเขตดูได้ที่ทำแลนดิ้งเพจแยกตามประเทศ เพื่อไม่ให้ทำเป็น doorway page แล้วถูกตัดสินว่าเป็นสแปม
วิธีเขียนการอ้างอิงสองทางแบบเจาะจง ใน head ของหน้าเยอรมันเขียน hreflang=”en” ชี้ไปหน้า อังกฤษ และใน head ของหน้าอังกฤษก็ต้องเขียน hreflang=”de” ชี้ไปหน้าเยอรมันด้วย ทั้งสองหน้าต้องมีการอ้างอิงตัวเอง (เขียนเวอร์ชันภาษาของตัวเอง) และมี x-default ทั้งคู่ ถ้าตกหล่นข้อใดข้อหนึ่ง Google จะไม่ใช้แท็กทั้งชุด
การอ้างอิงตัวเองเป็นสิ่งที่มักถูกมองข้าม หลายคนเขียนแค่ “ฉันชี้ไปเวอร์ชันอื่น” แต่ลืมว่า “ฉันก็เป็นตัวแทนของตัวเองด้วย” ในชุดแท็กที่ถูกต้อง หน้าภาษาอังกฤษต้องมีบรรทัด hreflang=”en” ชี้ไปยัง canonical URL ของตัวเอง และหน้าภาษาเยอรมันก็ต้องมีบรรทัด hreflang=”de-DE” ชี้ไปยังตัวเองเช่นกัน Google ใช้การอ้างอิงตัวเองเพื่อยืนยันว่าคุณยอมรับว่าเวอร์ชันนี้เป็นหนึ่งในเวอร์ชัน canonical หากขาดสิ่งนี้ Google จะถือว่าชุดแท็กนี้ไม่สมบูรณ์และข้ามการประมวลผลไปเลย
สี่ รายการข้อผิดพลาดที่พบบ่อยและขั้นตอนการตรวจสอบ
หลังเปิดใช้ hreflang ต้องตรวจสอบภายใน 3 ถึง 7 วัน รายงานการกำหนดเป้าหมายระหว่างประเทศใน Search Console จะแสดงข้อผิดพลาดที่เจาะจง แก้ไขตามตารางด้านล่างทีละรายการ
| ประเภทความผิด | สาเหตุที่กระตุ้น | การแก้ไข |
|---|---|---|
| URL ส่งคืน 404 | หน้าปลายทางถูกลบแต่แท็กยังไม่ถูกลบ | ลบแท็กหรือเปลี่ยนไปชี้หน้าเวอร์ชันใหม่ |
| หน้า noindex ปรากฏในรายการ | เวอร์ชันที่ถูก noindex ยังคงเขียน hreflang | นำหน้านั้นออกจากกลุ่มแท็ก |
| รหัสภาษาพิมพ์ใหญ่เล็กผิด | เขียนเป็น de-de แทน de-DE | เปลี่ยนรหัสประเทศเป็นตัวพิมพ์ใหญ่ |
| HTTP/HTTPS ไม่สอดคล้องกัน | sitemap เขียน http แต่หน้าจริงเป็น https | รวมเป็น https URL แบบเต็ม |
| หน้ากรองแบบแบ่งหน้าปนเข้ามา | หน้ากรองพารามิเตอร์ของรายการสินค้าถูกมองเป็นเวอร์ชันภาษา | เขียนแท็กให้เฉพาะหน้า canonical |
| ขาด x-default | ลืมแท็กสำรอง | เพิ่มหนึ่งรายการในแต่ละกลุ่มที่ชี้ไปยังหน้าภาษาอังกฤษ |
ขั้นตอนการตรวจสอบมีสามขั้นตอน ขั้นแรกใช้ Rich Results Test หรือเครื่องมือตรวจสอบ hreflang ของบุคคลที่สามรัน URL หนึ่งรายการ ดูว่าชุดแท็กทั้งหมดสมบูรณ์หรือไม่ ขั้นที่สองดูรายงานการกำหนดเป้าหมายระหว่างประเทศใน Search Console ว่าจำนวนข้อผิดพลาดที่ Google ตรวจพบจริงเป็นเท่าใด ขั้นที่สามหลังแก้ไขเสร็จให้กดปุ่ม “ตรวจสอบการแก้ไข” เพื่อส่ง วงจรการประเมินใหม่ของ Google ใช้เวลาประมาณ 2 ถึง 4 สัปดาห์ ดูห้าด่านครบถ้วนสำหรับการเผยแพร่เนื้อหาหลายภาษาที่ขั้นตอนการเผยแพร่เนื้อหาหลายภาษา โดย hreflang เป็นด่านสุดท้าย
ขอบเขตหนึ่งที่มักถูกมองข้าม hreflang ใช้ได้เฉพาะกับหน้าที่ “เป็นเวอร์ชันแปลของกันและกัน” เท่านั้น หากหน้าที่คุณเขียนให้ภาษาฝรั่งเศสและภาษาอังกฤษจริง ๆ เป็นบทความสองชิ้นที่แตกต่างกันโดยสิ้นเชิง เพียงแค่ภาษาต่างกัน ก็ไม่ควรฝืนจับมารวมเป็นชุด hreflang เดียว Google จะตัดสินว่าเนื้อหาเป็นการแปลซึ่งกันและกันจริงหรือไม่ เมื่อพบว่าเนื้อหาไม่สอดคล้องกันก็จะข้ามทั้งกลุ่มเช่นกัน หน้าข้ามภาษาต้องเป็นคำแปลของสินค้าเดียวกัน หัวข้อเดียวกัน โดยโครงสร้างและจำนวนย่อหน้าสอดคล้องกันโดยประมาณ
คุณภาพการแปลก็ส่งผลต่อประสิทธิภาพของ hreflang เช่นกัน หน้าที่เป็น pseudo-localization จากเครื่องแปล แม้แท็กจะถูกต้อง Google ก็จะไม่แสดงให้ประเทศนั้นเห็นเพราะคุณภาพเนื้อหาต่ำ ดังนั้นก่อนเปิดใช้ hreflang เนื้อหาต้องผ่าน การแก้ไขหลังการแปล การสุ่มตรวจ ส่วนศัพท์และตัวเลขที่ต้องแปลให้เข้ากับท้องถิ่นดูเพิ่มเติมที่การจัดการแผนภูมิของเว็บหลายภาษา。
FAQ คำถามที่พบบ่อย
hreflang ควรวางใน head หรือใน sitemap กันแน่?
แท็ก hreflang ช่วยให้อันดับดีขึ้นจริงไหม
ทำไมเขียน hreflang แล้วไม่ทำงาน
เยอรมนีกับออสเตรียใช้ภาษาเยอรมันเหมือนกัน ต้องเขียน hreflang สองอันไหม
x-default คืออะไร ต้องใส่ไหม
แก้ข้อผิดพลาด hreflang แล้วนานแค่ไหนจึงเห็นผล
ทิ้งท้าย
hreflang เป็นจุดเทคนิคที่ทำถูกแล้วไม่มีใครชม แต่ทำผิดแล้วงานพังทั้งหมด มันไม่ได้เพิ่มอันดับให้คุณ แต่ถ้าลืมเขียนสักบรรทัดหรือพิมพ์ผิดสักตัวอักษร เนื้อหาหลายภาษาที่คุณตั้งใจทำมาก็อาจถูก Google มองว่าเป็นเนื้อหาซ้ำ และความพยายามทั้งหมดก็สูญเปล่า
ลงมือทำใน 3 ขั้นตอน: สัปดาห์นี้ใช้เครื่องมือตรวจสอบสุ่มเช็กความครบถ้วนของชุด hreflang ในหน้าสินค้าหลัก 5 หน้า; สัปดาห์หน้าเติมให้ครบตามกฎเหล็ก 4 ข้อ ทั้งการอ้างอิงสองทาง การอ้างอิงตัวเอง x-default และ URL แบบ absolute; สัปดาห์ที่สามเมื่อรายงาน International Targeting ใน Search Console ยืนยันว่าไม่มีข้อผิดพลาดแล้ว จึงกดตรวจสอบและแก้ไข ส่วนในระดับโครงสร้างเว็บ ถ้ายังลังเลระหว่าง subdirectory กับเว็บไซต์แยก ให้กลับไปดูHreflang การรองรับหลายภาษา เพื่อประกอบการตัดสินใจโดยรวม
ประโยคที่จำง่ายๆ: hreflang ไม่ได้มีไว้เพิ่มอันดับให้คุณ แต่มีไว้ส่งแผนผังความสัมพันธ์ระหว่างฉบับแปลให้ Google แผนผังต้องครบ ถือสองทาง และมีตัวสำรอง ถ้าขาดไปหนึ่งเส้นทั้งแผนผังก็ใช้ไม่ได้
