การกำหนดค่า robots.txt และ sitemap ที่ถูกต้อง
บทที่ 2: พื้นฐานการค้นหา · คำถามข้อที่ 30
robots.txt และ sitemap.xml เป็นไฟล์พื้นฐานสองไฟล์ที่เว็บไซต์ใช้ "สื่อสาร" กับเครื่องมือค้นหา ไฟล์แรกบอก crawler ว่า "ห้ามดึงส่วนใด" ส่วนไฟล์หลังบอก crawler ว่า "โปรดมาดึงหน้าเหล่านี้" หากกำหนดค่าอย่างเหมาะสมจะช่วยเพิ่มประสิทธิภาพการทำดัชนีได้อย่างมาก แต่หากกำหนดค่าผิดพลาดอาจทำให้ทั้งเว็บไซต์หายไปจากผลการค้นหา
ไวยากรณ์พื้นฐานของ robots.txt
robots.txt ต้องวางไว้ที่ไดเรกทอรีรากของเว็บไซต์ (เช่น https://example.com/robots.txt) ไวยากรณ์พื้นฐาน:
User-agent: Baiduspider
Disallow: /admin/
Disallow: /search?
Allow: /
User-agent: Googlebot
Disallow: /admin/
Allow: /
Sitemap: https://example.com/sitemap.xml
กฎสำคัญ:
User-agent: ระบุว่าใช้กับ crawler ตัวใด (*หมายถึงทั้งหมด)Disallow: เส้นทางที่ห้ามดึงAllow: อนุญาตให้ดึง (มีลำดับความสำคัญสูงกว่า Disallow)Sitemap: ประกาศที่อยู่ sitemap
เส้นทางใดบ้างที่ควรบล็อก?
| ควรบล็อก | สาเหตุ |
|---|---|
| /admin/ หรือ /wp-admin/ | หน้าจอผู้ดูแลระบบ ไม่มีคุณค่าต่อ SEO |
| /search? หรือ /s? | หน้าผลการค้นหาภายในเว็บไซต์ ทำให้เกิดหน้าซ้ำคุณภาพต่ำจำนวนมาก |
| /cart/ /checkout/ | หน้าตะกร้าสินค้าและหน้าชำระเงิน ไม่มีคุณค่าต่อการทำดัชนี |
| /?sort= /?filter= | หน้าพารามิเตอร์การเรียงลำดับ/การกรอง ทำให้เกิดเนื้อหาซ้ำ |
| /tag/ (ตามความเหมาะสม) | หากเนื้อหาหน้าแท็กบางเกินไป แนะนำให้บล็อก |
| /api/ | ที่อยู่ API ไม่ควรปรากฏในผลการค้นหา |
สิ่งที่ห้ามบล็อกเด็ดขาด:
- ไฟล์ CSS และ JS (Baidu ต้องใช้ในการเรนเดอร์หน้า)
- ไดเรกทอรีรูปภาพ (เว้นแต่คุณไม่ต้องการให้รูปภาพถูกทำดัชนี)
- มือถือหน้า
รูปแบบและมาตรฐาน sitemap.xml
รูปแบบ sitemap มาตรฐาน:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/page1</loc>
<lastmod>2025-06-15</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
แนวปฏิบัติที่ดีที่สุด:
- แต่ละไฟล์ sitemap ต้องมีไม่เกิน 50,000 URL และขนาดไฟล์ไม่เกิน 50MB
- เมื่อเกินขีดจำกัด ให้ใช้ไฟล์ดัชนี sitemap ในการแบ่ง:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2025-06-20</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2025-06-18</lastmod>
</sitemap>
</sitemapindex>
ช่องทางการส่ง
- Baidu Searchแพลตฟอร์มทรัพยากร: บริการค้นหา → การรวบรวมทั่วไป → การส่ง sitemap (รองรับรูปแบบ txt และ xml)
- Google Search Console: ดัชนี → แผนผังเว็บไซต์ → เพิ่มแผนผังเว็บไซต์ใหม่
- Bing Webmaster Tools: แผนผังเว็บไซต์ → ส่งแผนผังเว็บไซต์
Baidu ยังรองรับการส่ง URL ของหน้าใหม่แบบเรียลไทม์ผ่าน "API การพุชเชิงรุก" ซึ่งมีประโยชน์เป็นพิเศษสำหรับเนื้อหาที่มีความทันเวลา (เช่น ข่าว)
คำแนะนำความถี่ในการอัปเดต sitemap
| ประเภทเว็บไซต์ | ความถี่ในการอัปเดต | คำอธิบาย |
|---|---|---|
| ข่าวสารและข้อมูล | ทุกชั่วโมง/เรียลไทม์ | ใช้ร่วมกับการพุชเชิงรุกของ Baidu |
| เว็บไซต์อีคอมเมิร์ซ | ทุกวัน | สินค้าขึ้น-ลงชั้นวางมีการเปลี่ยนแปลงบ่อย |
| เว็บไซต์องค์กร | ทุกสัปดาห์ | เนื้อหาไม่มีการเปลี่ยนแปลงบ่อย |
| เว็บไซต์บล็อก | เมื่อเผยแพร่บทความใหม่ | สามารถใช้ CMS อัปเดตอัตโนมัติ |
ข้อผิดพลาดที่พบบ่อย
- robots.txt เขียน Disallow: / แต่ลืมเปลี่ยนกลับ: ทั้งเว็บไซต์ถูกบล็อก นี่คือข้อผิดพลาดที่ร้ายแรงที่สุด
- sitemap มี URL ที่ถูก robots บล็อก: ขัดแย้งเชิงตรรกะ search engine จะสับสน
- sitemap มีหน้า 404: สิ้นเปลืองโควตาการ crawling
- วันที่ lastmod เป็นเท็จ: เขียนวันที่ปัจจุบันทุกครั้ง search engine จะเพิกเฉยต่อฟิลด์นี้
- ไม่ได้ประกาศตำแหน่ง sitemap ใน robots.txt: แม้ไม่บังคับ แต่แนะนำให้เพิ่ม
- การเข้ารหัส sitemap ผิดพลาด:ต้องใช้การเข้ารหัส UTF-8 อักขระพิเศษใน URL ต้องถูก escape
คำแนะนำเชิงปฏิบัติ
- ต้องตรวจสอบ robots.txt ก่อนเปิดใช้งาน:เว็บไซต์จำนวนมากในขั้นตอนการพัฒนาจะใช้
Disallow: /บล็อกทั้งเว็บไซต์ หลังเปิดใช้งานลืมแก้ไข ทำให้หลายเดือนไม่มีการจัดทำดัชนี - sitemap ใส่เฉพาะ URL มาตรฐานที่คุณต้องการให้ถูกจัดทำดัชนี:ไม่ใส่หน้าที่ซ้ำซ้อนที่มีพารามิเตอร์ ไม่ใส่หน้าที่มี noindex ไม่ใส่ URL ต้นทางของการเปลี่ยนเส้นทาง
- ตรวจสอบสุขภาพของ sitemap เดือนละครั้ง:ใช้เครื่องมือเช่น Screaming Frog สแกน เพื่อให้แน่ใจว่า sitemap ไม่มีหน้าที่เกิดข้อผิดพลาด 4xx/5xx
แก้ปัญหาด้วยเครื่องมือ AI:สร้างการตั้งค่า robots.txt และ sitemap
สถานการณ์ที่หนึ่ง:สร้าง robots.txt ตามประเภทเว็บไซต์
เว็บไซต์ของฉันคือ [เว็บไซต์องค์กร/อีคอมเมิร์ซ/บล็อกเนื้อหา] พัฒนาบน [WordPress/พัฒนาขึ้นเอง] ไดเรกทอรีที่ไม่ต้องการบล็อกคือ [CSS/JS/รูปภาพ] ที่ต้องการบล็อกคือ [หลังบ้าน/หน้าค้นหา/หน้าพารามิเตอร์] กรุณาสร้าง robots.txt ที่สมบูรณ์ให้ฉัน:แยกเขียนสำหรับ Baiduspider และ Googlebot บล็อกหลังบ้านและการค้นหาภายในเว็บไซต์ Allow CSS/JS/รูปภาพ สุดท้ายประกาศที่อยู่ sitemap พร้อมทั้งคอมเมนต์หน้าที่ของแต่ละบรรทัดเพื่อให้ฉันเข้าใจง่าย
สถานการณ์ที่สอง:สร้าง sitemap.xml จากรายการ URL ที่มีอยู่
นี่คือรายการ URL ทั้งหมดของเว็บไซต์ฉัน (วาง sitemap หรือรายการ URL) กรุณาช่วยฉัน:1) กรอง URL ที่มีพารามิเตอร์ มี admin/search และอื่นๆ ที่ไม่ควรถูกจัดทำดัชนีออก;2) สร้าง XML ตามมาตรฐาน sitemap แต่ละรายการประกอบด้วย loc, lastmod (ใช้วันที่ที่กำหนด), changefreq, priority;3) หากเกิน 50,000 รายการ ให้แยกเป็นรูปแบบ sitemap index
สถานการณ์ที่สาม:ตรวจสอบ "กับดัก" ใน sitemap
นี่คือ sitemap.xml (วางเนื้อหา) กรุณาช่วยฉันตรวจสอบ:1) URL ทั้งหมดตรงกับกฎที่อนุญาตใน robots.txt หรือไม่ (ฉันจะวาง robots.txt มาด้วย);2) มีหน้าที่มี noindex หรือต้นทางการเปลี่ยนเส้นทาง 301 หรือไม่;3) lastmod สมเหตุสมผลหรือไม่ (มีที่เป็นวันนี้ทั้งหมดหรือไม่);4) การเข้ารหัส XML และการ escape ถูกต้องหรือไม่
สถานการณ์ที่สี่:สร้าง regex เพื่อบล็อก URL ซ้ำซ้อนแบบมีพารามิเตอร์
เว็บไซต์ของฉันมี URL ที่มีพารามิเตอร์เหล่านี้: ?sort=, ?filter=, ?page=, ?utm_source=, ?session_id= โปรดช่วยสร้างกฎ regular expression ใน robots.txt เพื่อบล็อกหน้าพารามิเตอร์เหล่านี้ และอธิบายขอบเขตการจับคู่ของแต่ละกฎพร้อมกรณีที่อาจบล็อกเกินความจำเป็น
หมายเหตุ: ขอบเขตของ AI
- robots.txt คือการตั้งค่าแบบ "วีโต้ขาด": หลังจาก AI สร้างแล้ว ต้องตรวจทานด้วยตนเองทีละบรรทัด โดยเฉพาะอย่างยิ่งต้องไม่ให้มี
Disallow: /บล็อกทั้งเว็บไซต์ ก่อนเปิดใช้งานให้เข้าถึง robots.txt โดยตรงผ่านเบราว์เซอร์เพื่อยืนยัน - เนื้อหา sitemap ต้องเป็นความจริง: AI สร้างได้ตาม URL ที่คุณวางเท่านั้น มันไม่รู้ว่าหน้าใดเป็น noindex หรือถูกลบไปแล้ว คุณต้องกรองเองก่อน
- อย่าให้ AI กุ lastmod: การปลอมแปลง lastmod จะถูก search engine เพิกเฉยและลดความน่าเชื่อถือ วันที่ต้องมาจากเวลาการแก้ไขไฟล์จริงของคุณ
