微信客服
Telegram:guangsuan
电话联系:18928809533
发送邮件:xiuyuan2000@gmail.com

6 สาเหตุทางเทคนิคที่หน้าสินค้าไม่ถูกจัดทำดัชนี|ไม่รวมเนื้อหาซ้ำและข้อจำกัดของการรวบรวมข้อมูล

本文作者:Don jiang

สาเหตุที่หน้าเว็บไซต์ไม่ถูกจัดทำดัชนี อาจซ่อนอยู่ในโครงสร้างโค้ดหรือการตั้งค่าเซิร์ฟเวอร์

เช่น บอทไม่สามารถ “อ่าน” เนื้อหาที่แสดงแบบไดนามิก หรือมีการตั้งค่าพารามิเตอร์ผิดพลาด ทำให้หน้าเว็บถูกพิจารณาว่าซ้ำกัน

บทความนี้จะเริ่มจากมุมมองด้านเทคนิค รวบรวม 6 ปัญหาการตั้งค่าที่มักถูกมองข้าม แต่ส่งผลโดยตรงต่อการจัดทำดัชนี พร้อมแนวทางแก้ไขที่ทำได้จริง

6 สาเหตุทางเทคนิคที่ทำให้หน้าสินค้าไม่ถูกจัดทำดัชนี

Table of Contens

ความเร็วในการโหลดหน้าช้า ทำให้บอทไม่สามารถรวบรวมข้อมูลได้

ตัวอย่างเช่น หากเวลาในการตอบสนองของเซิร์ฟเวอร์เกิน 3 วินาที Googlebot อาจยกเลิกการรวบรวมข้อมูล หรือจัดทำดัชนีเนื้อหาได้ไม่ครบถ้วน

ปัญหานี้มักถูกมองข้าม เพราะผู้ดูแลเว็บไซต์หลายคนให้ความสำคัญกับประสบการณ์ของผู้ใช้ (เช่น การแสดงภาพโหลดหน้า) แต่ลืมคำนึงถึง “ขีดจำกัดความอดทน” ของบอท

เวลาในการตอบสนองของเซิร์ฟเวอร์นานเกินไป

วิธีตรวจสอบปัญหา:
ตรวจสอบค่า TTFB (Time to First Byte) ผ่าน Google Search Console ในรายงาน “Core Web Vitals” หรือเครื่องมือ เช่น GTmetrix หากเกิน 1.5 วินาที ควรแก้ไขทันที

แนวทางแก้ไข:

  1. อัปเกรดสเปกเซิร์ฟเวอร์ (เช่น CPU/หน่วยความจำ) หรือเปลี่ยนผู้ให้บริการโฮสติ้งประสิทธิภาพสูง (เช่น Cloudways, SiteGround)
  2. ปรับปรุงคำสั่ง SQL ลดการ join ที่ซับซ้อน เพิ่ม Index ในตารางสินค้าหรือข้อมูลที่เกี่ยวข้อง
  3. เปิดใช้งานระบบแคชบนเซิร์ฟเวอร์ (เช่น Redis, Memcached) เพื่อลดจำนวนครั้งในการสร้างหน้าแบบไดนามิก

ไฟล์ทรัพยากรไม่ได้รับการปรับแต่ง

ปัญหาที่พบได้บ่อย:

  • ภาพสินค้าไม่ได้ถูกบีบอัด (เช่น PNG ไม่ได้แปลงเป็น WebP, ความละเอียดเกิน 2000px)
  • ไฟล์ CSS/JS ไม่ได้รวม ทำให้มี HTTP Request จำนวนมาก

ขั้นตอนการแก้ไข:

  1. ใช้ Squoosh หรือ TinyPNG บีบอัดภาพ และปรับขนาดให้เหมาะกับหน้าจอทั่วไป (เช่น ความกว้าง 1200px)
  2. ใช้ Webpack หรือ Gulp รวมไฟล์ CSS/JS เพื่อลดจำนวน Request
  3. เปิดใช้งาน Gzip หรือ Brotli เพื่อลดขนาดไฟล์ที่ส่งไปยังผู้ใช้งาน

สคริปต์ที่ขัดขวางการเรนเดอร์

ในมุมมองของบอท:
หากบอทพบสคริปต์ที่ไม่ได้โหลดแบบ async (เช่น Google Analytics ที่โหลดแบบ synchronous) ระหว่างอ่าน HTML บอทจะหยุดประมวลผลจนกว่าสคริปต์จะทำงานเสร็จ

แนวทางการแก้ไข:

  • เพิ่ม async หรือ defer ให้กับสคริปต์ที่ไม่สำคัญ (ตัวอย่าง: )
  • สคริปต์ของบุคคลที่สาม เช่น ระบบแชท หรือ Heatmap ควรตั้งให้โหลดหลังจากหน้าเว็บแสดงผลเรียบร้อย

เครื่องมือช่วยตรวจสอบและลำดับความสำคัญ

รายการตรวจสอบเบื้องต้น:

  1. PageSpeed Insights: ตรวจสอบปัญหาโหลดทรัพยากรโดยละเอียด (เช่น “ลดเวลาในการรัน JavaScript”)
  2. Screaming Frog: ตรวจสอบ TTFB ของหน้าสินค้าจำนวนมาก พร้อมกรอง URL ที่โหลดช้า
  3. Lighthouse: ดูคำแนะนำในหัวข้อ “โอกาส” เช่น ลบ CSS ที่ไม่ได้ใช้งาน

ลำดับความสำคัญในการแก้ไขด่วน:
เร่งแก้หน้าเว็บที่มี TTFB > 2 วินาที, หน้าเว็บที่มี HTTP Request มากกว่า 50 รายการ หรือไฟล์ภาพที่มีขนาดเกิน 500KB

ข้อมูลอ้างอิง:
Google ระบุว่าหากเวลาโหลดหน้าเพิ่มจาก 1 วินาทีเป็น 3 วินาที โอกาสที่การรวบรวมข้อมูลจะล้มเหลวจะเพิ่มขึ้น 32% การปรับแต่งตามแนวทางข้างต้นจะช่วยให้หน้าเว็บส่วนใหญ่โหลดเสร็จภายใน 2 วินาที และเพิ่มอัตราการจัดทำดัชนีได้อย่างมาก

ไฟล์ robots.txt บล็อกไดเรกทอรีสินค้าผิดพลาด

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

ตรวจสอบปัญหา robots.txt บล็อก URL อย่างรวดเร็ว

เครื่องมือสำหรับตรวจสอบ:

  • Google Search Console: เข้าเมนู “ดัชนี” > “หน้า” หากหน้าสินค้าถูกบล็อก จะมีรายละเอียดแจ้งว่าเกิดจาก robots.txt
  • เครื่องมือทดสอบออนไลน์: ใช้ robots.txt tester ใส่ URL เพื่อตรวจสอบการเข้าถึงจากมุมมองของบอท

ลักษณะข้อผิดพลาดที่พบบ่อย:

  1. พิมพ์ Path ผิด (เช่น พิมพ์ /produc/ แทน /product/)
  2. ใช้เครื่องหมาย * มากเกินไป (เช่น Disallow: /*.jpg$ บล็อกภาพสินค้าทั้งหมดโดยไม่ตั้งใจ)

วิธีแก้ไขกฎการบล็อกที่ผิดพลาด

หลักการเขียนอย่างถูกต้อง

  • ระบุเส้นทางให้ชัดเจน:หลีกเลี่ยงการบล็อกแบบกว้างเกินไป เช่น สำหรับไดเรกทอรีชั่วคราว ให้ใช้ Disallow: /old-product/ แทน Disallow: /product/
  • แยกประเภทของบอทให้ชัดเจน:หากต้องการบล็อกเฉพาะบอทสแปม ควรระบุ User-agent ให้ชัดเจน (ตัวอย่าง: User-agent: MJ12bot)

การจัดการพารามิเตอร์

  • อนุญาตให้มีพารามิเตอร์ที่จำเป็น (เช่น การแบ่งหน้า ?page=2) โดยใช้ Disallow: *?sort= เพื่อบล็อกเฉพาะพารามิเตอร์การจัดเรียง
  • ใช้สัญลักษณ์ $ เพื่อระบุว่าพารามิเตอร์สิ้นสุด (ตัวอย่าง: Disallow: /*?print=true$)

ขั้นตอนการกู้คืนฉุกเฉินและตรวจสอบผล

ตัวอย่างขั้นตอน

  1. แก้ไขไฟล์ robots.txt โดยคอมเมนต์หรือ ลบบรรทัดที่ผิดพลาดออก (เช่น # Disallow: /product/)
  2. ส่งคำขออัปเดต robots.txt ผ่าน Google Search Console
  3. ใช้เครื่องมือ “ตรวจสอบ URL” ตรวจสอบสถานะการเข้าถึงของหน้า product ด้วยตนเอง
  4. ตรวจสอบผลการจัดทำดัชนีอีกครั้งหลัง 24 ชั่วโมง หากยังไม่กู้คืน ให้ส่ง sitemap ของหน้า product โดยตรง

มาตรการป้องกัน

  • ใช้เครื่องมือควบคุมเวอร์ชัน (เช่น Git) ในการจัดการประวัติการแก้ไขไฟล์ robots.txt เพื่อให้สามารถย้อนกลับได้ง่าย
  • ทดสอบกฎใหม่ในสภาพแวดล้อมทดสอบก่อน หลีกเลี่ยงการแก้ไขไฟล์จริงโดยตรง

กรณีศึกษาจริง

การตั้งค่าผิดพลาด

User-agent: *

Disallow: /

Allow: /product/

ปัญหา: Disallow: / บล็อกทั้งเว็บไซต์ ทำให้กฎ Allow ด้านหลังไม่ทำงาน

วิธีแก้ไขที่ถูกต้อง

User-agent: *

Disallow: /admin/

Disallow: /tmp/

Allow: /product/

หลักการ: บล็อกเฉพาะไดเรกทอรีหลังบ้านและไดเรกทอรีชั่วคราว โดยอนุญาตให้เข้าถึงหน้า product ได้อย่างชัดเจน

ปัญหาหน้า product ไม่มีลิงก์ภายในที่เชื่อมโยง

หากหน้า product ขาดช่องทางเข้าถึงจากในเว็บไซต์ เช่น เมนูนำทาง หน้าบทความที่เกี่ยวข้อง หรือลิงก์ในเนื้อหา หน้าเหล่านี้ก็เปรียบเสมือน “เกาะร้าง” แม้เนื้อหาจะมีคุณภาพก็ตาม ก็ยากที่บอทจะจัดทำดัชนีได้

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

โครงสร้างนำทางหายไป หรือออกแบบไม่เหมาะสม

ปัญหาที่พบบ่อย

  • หน้า product ไม่ถูกเชื่อมในเมนูหลักหรือไดเรกทอรีหมวดหมู่ (พบได้เฉพาะในหน้าผลการค้นหา)
  • บนมือถือใช้เมนูแบบซ่อน (hamburger menu) แต่ลิงก์เข้าหน้าสินค้าสำคัญกลับซ่อนอยู่ในเมนูย่อยหลายชั้น

แนวทางแก้ไข

เครื่องมือตรวจสอบด้วยตนเอง:ใช้ Screaming Frog ทำการ crawl ทั้งเว็บไซต์ แล้วกรองหน้า product ที่มี “จำนวนลิงก์ภายใน ≤ 1”

ขั้นตอนการปรับปรุง

  1. เพิ่มเมนู “สินค้าใหม่ยอดนิยม” หรือ “หมวดแนะนำ” ในเมนูหลัก พร้อมลิงก์ตรงไปยังหน้า product รวม
  2. จัดให้ทุก product page อยู่ในอย่างน้อย 1 หมวดหมู่ไดเรกทอรี เช่น /category/shoes/product-A

โมดูลแนะนำสินค้าไม่ถูกใช้งานอย่างเต็มที่

มุมมองของบอท:เนื้อหาประเภท “สินค้าที่คุณอาจสนใจ” หากโหลดผ่าน JavaScript อาจทำให้บอทไม่สามารถอ่านลิงก์ได้อย่างถูกต้อง

เพิ่มจุดเข้าถึงแบบ Static ให้กับเนื้อหาแนะนำแบบ Dynamic เช่น แสดง “สินค้าขายดีประจำสัปดาห์ Top 10” ในตำแหน่งคงที่ พร้อมลิงก์ตรงไปยังหน้าสินค้า

Breadcrumb Navigation ไม่ครอบคลุมลำดับชั้นที่สำคัญ

ตัวอย่างที่ผิดพลาด: Breadcrumb สั้นเกินไป ไม่ได้เชื่อมโยงไปยังหน้าหมวดหมู่ (เช่น หน้าแรก > สินค้า A)

วิธีแก้ไข:

  1. เติมลำดับหมวดหมู่ให้ครบถ้วน (เช่น หน้าแรก > รองเท้ากีฬา > รองเท้าวิ่ง > สินค้า A) โดยทุกระดับต้องเป็นลิงก์ที่คลิกได้
  2. ตั้งค่า CMS ให้สร้าง Breadcrumb อัตโนมัติ และตรวจสอบให้ URL มีโครงสร้างที่สอดคล้องกัน (เช่น /category1/category2/product-name)

ไม่มีลิงก์ Anchor Text ภายในหน้าคอนเทนต์

แทรกลิงก์สินค้าที่เกี่ยวข้องลงในคำอธิบายสินค้าอย่างเป็นธรรมชาติ (เช่น “กล้องรุ่นนี้รองรับ ขาตั้งกล้อง X”)

เพิ่มแนะนำลิงก์ภายในในส่วนรีวิว เช่น “ลูกค้าที่ซื้อสินค้านี้ มักดูสินค้าเหล่านี้ด้วย”

กลยุทธ์แก้ไขฉุกเฉิน

แผนระยะสั้น:

  • สร้างหน้า “อัปเดตสินค้าใหม่” รวมลิงก์สินค้าที่ยังไม่ถูกจัดทำดัชนี และเพิ่มลิงก์ในแถบเมนูท้ายหน้า
  • แทรกลิงก์ไปยังหน้าสินค้าเป้าหมายในหน้าเว็บไซต์ที่มีอันดับสูง (เช่น บทความบล็อก “บทความแนะนำ: 10 อันดับรองเท้าวิ่งยอดนิยมปี 2024”)

แผนระยะยาว:

  • ตรวจสอบสถานะการจัดทำดัชนีของหน้าสินค้าทุกสัปดาห์ด้วยเครื่องมือ เช่น Ahrefs Site Audit และเพิ่มลิงก์ภายในทันทีหากพบว่าขาด

เนื้อหาหายไปเนื่องจาก JavaScript Dynamic Rendering

ตัวอย่างเช่น หน้า Product ที่พัฒนาด้วย Vue หรือ React โดยโหลดข้อมูลสำคัญ (SKU, สเปค ฯลฯ) ผ่าน API แบบ Asynchronous อาจทำให้ Crawler ไม่สามารถดึงข้อมูลได้ทัน

ผลลัพธ์คือหน้าเว็บที่ถูกจัดทำดัชนีมีเพียงข้อความ “กำลังโหลด” ทำให้สูญเสียอันดับในการค้นหา

วิธีตรวจสอบปัญหาการหายของเนื้อหาเนื่องจาก Dynamic Rendering

เครื่องมือตรวจสอบด้วยตนเอง:

  1. Google Mobile-Friendly Test: ใส่ URL หน้าสินค้า แล้วดู Screenshot ของ HTML ที่ Render แล้วว่ามีเนื้อหาหลักหรือไม่ (เช่น ราคาสินค้า, ปุ่มสั่งซื้อ)
  2. จำลองการทำงานของ Crawler ด้วยคำสั่ง curl: ใช้คำสั่งใน Terminal เช่น curl -A "Googlebot" URL เพื่อเปรียบเทียบ HTML ที่ได้กับ Source Code ที่แสดงใน Developer Tools ของ Browser

สัญญาณที่พบบ่อย:

  • Source Code ไม่มีข้อความสำคัญ เช่น คำอธิบายสินค้า, รีวิว มีแค่ Tag ว่าง เช่น

  • ใน Google Search Console หน้า Product แสดงสถานะ “Crawled – currently not indexed” โดยระบุสาเหตุว่า “หน้าเปล่า”

แนวทางแก้ไขด้วย Server-Side Rendering (SSR) และ Pre-rendering

ข้อดีของ SSR: สร้าง HTML ที่สมบูรณ์บน Server แล้วส่งกลับให้ Crawler ดึงข้อมูลได้ครบถ้วนในครั้งเดียว

Framework ที่รองรับ: Next.js (React), Nuxt.js (Vue), Angular Universal

ตัวอย่างโค้ด (Next.js สำหรับหน้า Product):

export async function getServerSideProps(context) {
const product = await fetchAPI(`/product/${context.params.id}`);
return { props: { product } };
ทางเลือกสำหรับการ Pre-rendering: สำหรับเว็บไซต์ที่ไม่สามารถแก้ไขเป็น SSR ได้ สามารถใช้ Prerender.io หรือ Rendertron เพื่อสร้าง Snapshot แบบ Static

ขั้นตอนการตั้งค่า:

  1. ตั้งค่ามิดเดิลแวร์บนเซิร์ฟเวอร์ เพื่อตรวจจับคำขอจากบอทและส่งต่อไปยังบริการ Pre-rendering
  2. แคชผลลัพธ์ที่เรนเดอร์แล้ว เพื่อลดต้นทุนในการเรนเดอร์ซ้ำ

ปรับเวลาในการโหลดเนื้อหาแบบไดนามิกให้เหมาะสม

หลักการสำคัญ: ฝังข้อมูลสำคัญของสินค้า (ชื่อ, ราคา, สเปก) ลงใน HTML เริ่มต้นโดยตรง ไม่ต้องโหลดผ่าน JavaScript แบบ Async

ตัวอย่างที่ผิด:

// ดึงราคาด้วยวิธี Async (บอทอาจรอไม่ไหว)
fetch('/api/price').then(data => {
document.getElementById('price').innerHTML = data.price;
});

แนวทางแก้ไข:

<!-- แสดงราคาโดยตรงใน HTML เริ่มต้น -->

$99.99

ควบคุมระยะเวลา JS และขนาดของ Resource

ขีดจำกัดที่บอทยอมรับได้: Googlebot จะรอการประมวลผล JS และการเรนเดอร์ไม่เกินประมาณ 5 วินาที

มาตรการปรับปรุง:

แยกโค้ด (Code Splitting): โหลดเฉพาะ JS ที่จำเป็นในหน้าสินค้า (เช่น ตัด JS ของแกลเลอรีหรือสไลเดอร์ที่ไม่สำคัญออก)

// โหลดโมดูลที่ไม่สำคัญแบบ Dynamic (เช่น เครื่องเล่นวิดีโอสินค้า)
import('video-player').then(module => {
module.loadPlayer();
});

เลื่อนโหลด Resource ที่ไม่ใช่ First-screen: โหลดรีวิวหรือสินค้าที่แนะนำหลังจาก DOMContentLoaded

ปัญหาหน้าซ้ำจากความสับสนของพารามิเตอร์ URL

ตัวอย่างเช่น สินค้าเดียวกันแต่พารามิเตอร์เรียงต่างกัน (/product?color=red&size=10 และ /product?size=10&color=red) อาจถูกบอทมองว่าเป็นคนละหน้า ซึ่งอาจทำให้คะแนนเนื้อหาถูกกระจายหรือโดนลงโทษเรื่องเนื้อหาซ้ำซ้อน

ตรวจสอบขอบเขตของปัญหาพารามิเตอร์ URL ซ้ำ

เครื่องมือสำหรับตรวจสอบด้วยตนเอง:

  1. Google Search Console: ตรวจสอบรายงาน “Coverage” และดูสัดส่วน URL ที่ “ถูกส่งแต่ไม่ถูกจัดทำดัชนี” ว่ามี URL ซ้ำจากพารามิเตอร์หรือไม่
  2. Screaming Frog: ตั้งค่า “Ignore Parameters” แล้ว Crawl ทั้งเว็บเพื่อดูจำนวนรูปแบบ URL ที่แตกต่างกันของหน้าสินค้าเดียวกัน

กรณีปัญหาทั่วไป:

  • URL ของสินค้าถูกสร้างหลายหน้าเพราะมีการกรอง (เช่น เรียงตามราคา, กรองตามสี)
  • หน้าที่แบ่งหน้า (Pagination) ไม่ได้ใส่ rel="canonical" ทำให้บอทเข้าใจว่าเป็นเนื้อหาคนละหน้า

จัดระเบียบพารามิเตอร์และรวมคะแนน SEO

ลำดับความสำคัญของแนวทางแก้ไข:

กำหนดลำดับพารามิเตอร์ให้แน่นอน: ใช้ลำดับพารามิเตอร์แบบคงที่ เช่น สี → ขนาด → การเรียงลำดับ เพื่อหลีกเลี่ยง URL ซ้ำ

  • ตัวอย่าง: บังคับให้ URL ทั้งหมดใช้รูปแบบ /product?color=red&size=10 ส่วน URL อื่นให้ Redirect แบบ 301 ไปยัง URL นี้

ใช้ Canonical Tag: เพิ่ม Canonical Link ที่ชี้ไปยังหน้า Product หลักในส่วน <head> ของหน้าที่มีพารามิเตอร์

การบล็อกพารามิเตอร์ที่ไม่จำเป็น

ใช้ meta robots noindex หรือ robots.txt เพื่อป้องกันการจัดทำดัชนีพารามิเตอร์ติดตาม (เช่น ?session_id=xxx)

เทคนิคการจัดการพารามิเตอร์ฝั่งเซิร์ฟเวอร์

กฎการเขียน URL ใหม่:

ตัวอย่าง Apache (ซ่อนพารามิเตอร์หน้าการแบ่งหน้าและทำให้รูปแบบ URL เป็นมาตรฐาน):


RewriteCond %{QUERY_STRING} ^page=([2-9]|10)$
RewriteRule ^product/?$ /product?page=%1 [R=301,L]

ตัวอย่าง Nginx (รวมพารามิเตอร์การเรียงลำดับ):


if ($args ~* "sort=price") {
rewrite ^/product /product?sort=price permanent;
}

การควบคุมพารามิเตอร์แบบไดนามิก:

  • กำหนดรายการพารามิเตอร์ที่อนุญาตไว้ล่วงหน้าใน CMS และหากมีการร้องขอพารามิเตอร์ที่ไม่ได้รับอนุญาต ให้ส่งกลับ 404 หรือเปลี่ยนเส้นทางไปยังหน้าแรก

กลยุทธ์ SEO สำหรับหน้าการแบ่งหน้าและหน้ากรองสินค้า

หน้าการแบ่งหน้า:

  1. เพิ่มแท็ก rel="prev" และ rel="next" เพื่อแจ้งให้เครื่องมือค้นหารับรู้ความสัมพันธ์ของหน้าการแบ่งหน้า
  2. ตั้งค่า noindex สำหรับหน้าการแบ่งหน้าที่ไม่ใช่หน้าแรก (เช่น page=2 เป็นต้นไป) อนุญาตให้จัดทำดัชนีเฉพาะหน้าแรกเท่านั้น

หน้ากรองสินค้า:

หากผลลัพธ์การกรองไม่มีสินค้า (เช่น /product?color=purple แต่ไม่มีสินค้าในสต็อก) ให้แสดงหน้า 404 หรือเปลี่ยนเส้นทางไปยังหมวดหมู่ที่เกี่ยวข้องโดยใช้ 302

ขาดแท็ก HTML มาตรฐานที่ถูกต้อง

ตัวอย่างเช่น หากไม่มีแท็ก H1 หน้านั้นอาจถูกพิจารณาว่าไม่มีหัวข้อที่ชัดเจน และหากไม่ตั้งค่า Schema Structured Data ข้อมูลสำคัญ เช่น ราคาและสถานะสินค้าคงคลัง อาจไม่แสดงในผลการค้นหา


<link rel="canonical" href="https://example.com/product" />

การขาดหรือซ้ำซ้อนของแท็ก H1

การระบุปัญหา

  • ใช้เครื่องมือสำหรับนักพัฒนาในเบราว์เซอร์เพื่อตรวจสอบว่าในหน้าสินค้ามีแท็ก

    ที่เป็นเอกลักษณ์และมีคำหลักหรือไม่

  • ข้อผิดพลาดทั่วไป: มีหลายแท็ก H1 (เช่น ใช้ทั้งสำหรับชื่อสินค้าและชื่อแบรนด์) หรือเนื้อหาใน H1 ไม่เกี่ยวข้องกับหัวข้อของหน้า (เช่น “ยินดีต้อนรับสู่ร้านของเรา”)

แนวทางการแก้ไข

  • ตรวจสอบให้แน่ใจว่าทุกหน้าสินค้ามีเพียง 1 แท็ก H1 เท่านั้น โดยเน้นชื่อรุ่นสินค้าและจุดขายหลัก (ตัวอย่าง:

    รองเท้าวิ่งซีรีส์ X | นุ่มสบาย ระบายอากาศ รุ่นใหม่ปี 2024

    )

  • ห้ามใช้รูปภาพแทนข้อความใน H1 (เพราะบอตค้นหาไม่สามารถอ่านข้อความในรูปได้) หากจำเป็นต้องใช้รูป ให้เพิ่ม aria-label

Meta Description (description) ไม่ได้รับการปรับแต่ง

ผลกระทบ:หาก meta description ไม่สมบูรณ์หรือหายไป เครื่องมือค้นหาจะสุ่มข้อความในหน้าเว็บมาแสดง ซึ่งอาจลดอัตราการคลิก

ขั้นตอนการปรับแต่ง

  1. ควรมีความยาว 150-160 ตัวอักษร รวมคำหลักของสินค้าและข้อความกระตุ้นให้ดำเนินการ (ตัวอย่าง: )
  2. ตั้งค่าระบบ CMS ให้ดึงคำอธิบายจากข้อมูลจุดขายของสินค้าโดยอัตโนมัติ เพื่อป้องกันการปล่อยว่าง

ละเลยการใช้ Schema Structured Data

ความต้องการของบอตค้นหา:Schema Markup ช่วยระบุข้อมูลสำคัญ เช่น ราคา คะแนน ความพร้อมจำหน่าย ให้เครื่องมือค้นหาเข้าใจได้ง่ายและเพิ่มโอกาสแสดงผลแบบ Rich Result

วิธีดำเนินการ

ใช้ Schema Markup Generator สร้างโค้ด JSON-LD ประเภท Product และแทรกใน ของหน้า:

<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "รองเท้าวิ่งซีรีส์ X",
"image": "https://example.com/shoe.jpg",
"offers": {
"@type": "Offer",
"price": "99.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
script>
  • เครื่องมือตรวจสอบ: ใช้ Google Structured Data Testing Tool เพื่อตรวจสอบว่าโค้ดทำงานถูกต้องหรือไม่

ไม่ได้ตั้งค่า Alt Text ให้รูปภาพ

คุณค่าด้าน SEO:Alt Text ช่วยให้เครื่องมือค้นหาเข้าใจเนื้อหาของรูปภาพและยังช่วยในด้านการเข้าถึง (Accessibility)

ตัวอย่างที่ผิด

  • ปล่อย Alt ว่างเปล่า () หรือใส่คำหลักซ้ำซ้อนเกินไป (alt="รองเท้าวิ่ง รองเท้ากีฬา รองเท้าลดแรงกระแทก รุ่นใหม่ 2024")

วิธีที่ถูกต้อง

  • อธิบายเนื้อหาและบริบทของรูปอย่างชัดเจน (ตัวอย่าง: alt="ภาพถ่ายรองเท้าวิ่งซีรีส์ X สีดำ โชว์โครงสร้างพื้นรองเท้าที่ลดแรงกระแทก")
  • หากเป็นรูปตกแต่ง ให้ตั้งค่า alt="" เพื่อหลีกเลี่ยงข้อมูลเกินความจำเป็น

Canonical Tag ชี้ผิด URL

ความเสี่ยง:หาก Canonical Tag ของหน้าสินค้าชี้ไปยังหน้าหมวดหมู่หรือโฮมเพจ อาจทำให้การถ่ายโอนค่าคะแนน SEO ผิดพลาด

วิธีตรวจสอบและแก้ไข

  • ใช้ Screaming Frog ตรวจสอบ Canonical URL ของหน้าสินค้าแบบเป็นชุด ค้นหาหน้าที่ชี้ไปยัง URL ที่ผิดหรือภายนอก
  • ตัวอย่างการตั้งค่าที่ถูกต้อง: (ชี้ไปยัง URL ปัจจุบันที่ถูกต้องของหน้า)

แนะนำให้เลือกหน้าสินค้าที่ไม่ติดอันดับมาเป็นเวลานาน แล้วตรวจสอบตามรายการข้างต้นโดยละเอียด มักจะพบปัญหาหลักได้ภายใน 30 นาที

Picture of Don Jiang
Don Jiang

SEO本质是资源竞争,为搜索引擎用户提供实用性价值,关注我,带您上顶楼看透谷歌排名的底层算法。

最新解读
滚动至顶部