วิธีเขียนและส่งไฟล์ robots.txt
คุณใช้ไฟล์ robots.txt ควบคุมได้ว่าจะให้ Crawler เข้าถึงไฟล์ใดบ้างในเว็บไซต์ของคุณ
ไฟล์ robots.txt จะอยู่ที่รากของเว็บไซต์ ดังนั้นสำหรับเว็บไซต์ www.example.com
ไฟล์ robots.txt จะอยู่ที่ www.example.com/robots.txt
ไฟล์ robots.txt เป็นไฟล์ข้อความธรรมดาที่เป็นไปตามมาตรฐานการยกเว้นโรบ็อต
และมีกฎอย่างน้อย 1 ข้อ กฎแต่ละข้อจะบล็อกหรืออนุญาต Crawler ทั้งหมดหรือบางตัวในการเข้าถึงเส้นทางของไฟล์ที่ระบุในโดเมนหรือโดเมนย่อยที่โฮสต์ไฟล์ robots.txt นั้น ระบบจะถือว่าไฟล์ทั้งหมดได้รับอนุญาตให้เข้าทำการ Crawl ได้ เว้นแต่คุณจะระบุเป็นอย่างอื่นในไฟล์ robots.txt
ต่อไปนี้เป็นไฟล์ robots.txt ธรรมดาที่มีกฎ 2 ข้อ
User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: https://www.example.com/sitemap.xml
ความหมายของไฟล์ robots.txt
-
User Agent ชื่อ Googlebot ไม่ได้รับอนุญาตให้ทำการ Crawl URL ใดๆ ที่ขึ้นต้นด้วย
https://example.com/nogooglebot/
- ส่วน User Agent อื่นๆ ทั้งหมดได้รับอนุญาตให้รวบรวมข้อมูลทั้งเว็บไซต์ คุณไม่ต้องระบุการอนุญาตนี้ก็ได้เพราะผลลัพธ์ที่ได้จะเหมือนกัน เนื่องจากลักษณะการทำงานเริ่มต้นคือ User Agent ได้รับอนุญาตให้ทำการ Crawl ทั้งเว็บไซต์
-
ไฟล์ Sitemap ของเว็บไซต์นี้อยู่ที่
https://www.example.com/sitemap.xml
ดูตัวอย่างเพิ่มเติมในส่วนไวยากรณ์
หลักเกณฑ์พื้นฐานสำหรับการสร้างไฟล์ robots.txt
ในการสร้างไฟล์ robots.txt และทำให้ไฟล์เข้าถึงได้แบบสาธารณะและมีประโยชน์นั้นมี 4 ขั้นตอนดังนี้
- สร้างไฟล์ชื่อ robots.txt
- เพิ่มกฎลงในไฟล์ robots.txt
- อัปโหลดไฟล์ robots.txt ไปยังรากของเว็บไซต์
- ทดสอบไฟล์ robots.txt
สร้างไฟล์ robots.txt
คุณ��ช้เครื่องมือแก้ไขข้อความได้เกือบทุกรายการเพื่อสร้างไฟล์ robots.txt เช่น Notepad, TextEdit, vi และ emacs เครื่องมือเหล่านี้สามารถใช้สร้างไฟล์ robots.txt ได้อย่างถูกต้อง แต่อย่าใช้โปรแกรมประมวลผลคำ เนื่องจากโปรแกรมเช่นนี้มักบันทึกไฟล์ในรูปแบบที่เป็นกรรมสิทธิ์และอาจเพิ่มอักขระที่ไม่คาดคิด เช่น เครื่องหมายคำพูดแบบโค้ง ซึ่งอาจทำให้เกิดปัญหาสำหรับ Crawler อย่าลืมว่าต้องบันทึกไฟล์ด้วยการเข้ารหัส UTF-8 หากมีข้อความแจ้งจากกล่องโต้ตอบขณะบันทึกไฟล์
กฎเกี่ยวกับรูปแบบและตำแหน่ง
- ไฟล์ต้องมีชื่อว่า robots.txt
- เว็บไซต์มี robots.txt ได้เพียงไฟล์เดียวเท่านั้น
-
ไฟล์ robots.txt ต้องอยู่ที่รากของโฮสต์ของเว็บไซต์ที่ใช้งานไฟล์นั้น ตัวอย่างเช่น หากต้องการควบคุมการ Crawl ใน URL ทั้งหมดใต้
https://www.example.com/
ไฟล์ robots.txt ต้องอยู่ที่https://www.example.com/robots.txt
ไม่ใช่วางไว้ในไดเรกทอรีย่อย (เช่นที่https://example.com/pages/robots.txt
) หากคุณไม่แน่ใจว่าจะเข้าถึงรากเว็บไซต์ได้อย่างไร หรือต้องการสิทธิ์เพื่อดำเนินการดังกล่าว โปรดติดต่อผู้ให้บริการเว็บโฮสติ้ง หากเข้าถึงรากเว็บไซต์ไม่ได้ ให้บล็อกด้วยวิธีการอื่น เช่น ใช้แท็กmeta
-
คุณจะโพสต์ไฟล์ robots.txt ในโดเมนย่อย (เช่น
https://site.example.com/robots.txt
) หรือในพอร์ตที่ไม่ใช่แบบมาตรฐาน (เช่นhttps://example.com:8181/robots.txt
) ก็ได้ - ไฟล์ robots.txt จะใช้กับเส้นทางภายในโปรโตคอล โฮสต์ และพอร์ตที่โพสต์ไฟล์ไว้เท่านั้น กล่าวคือ กฎใน
https://example.com/robots.txt
จะมีผลกับไฟล์ในhttps://example.com/
เท่านั้น จะไม่มีผลกับโดเมนย่อย เช่นhttps://m.example.com/
หรือโปรโตคอลทางเลือก เช่นhttp://example.com/
- ไฟล์ robots.txt ต้องเป็นไฟล์ข้อความที่ได้รับการเข้ารหัส UTF-8 (ซึ่งรวมถึง ASCII) Google อาจข้ามอักขระที่ไม่ได้อยู่ในช่วง UTF-8 ซึ่งอาจทำให้ถอดความหมายกฎของ robots.txt ได้อย่างไม่ถูกต้อง
วิธีเขียนกฎของ robots.txt
กฎใช้เป็นคำสั่งสําหรับโปรแกรมรวบรวมข้อมูลว่าส่วนใดของเว็บไซต์ที่รวบรวมข้อมูลได้ ทำตามหลักเกณฑ์ต่อไปนี้เมื่อเพิ่มกฎลงในไฟล์ robots.txt
- ไฟล์ robots.txt จะประกอบด้วยกลุ่ม (ชุดของกฎ) 1 กลุ่มขึ้นไป
-
แต่ละกลุ่มประกอบด้วยกฎหลายรายการ (หรือที่เรียกว่าคําสั่ง) โดยมี 1 กฎต่อบรรทัด แต่ละกลุ่มจะเริ่มต้นด้วยบรรทัด
User-agent
ที่ระบุเป้าหมายของกลุ่ม - กลุ่มจะให้ข้อมูลต่อไปนี้
- กลุ่มนั้นใช้กับใคร (User Agent)
- ไดเรกทอรีหรือไฟล์ใดที่ Agent เข้าถึงได้
- ไดเรกทอรีหรือไฟล์ใดที่ Agent เข้าถึงไม่ได้
- โปรแกรมรวบรวมข้อมูลจะประมวลผลกลุ่มจากบนลงล่าง User Agent สามารถจับคู่ชุดของกฎได้เพียงชุดเดียวเท่านั้น ซึ่งเป็นกลุ่มที่เจาะจงที่สุดกลุ่มแรกที่ตรงกับ User Agent ที่ระบุ หาก User Agent เดียวกันมีหลายกลุ่ม ระบบจะรวมกลุ่มเหล่านั้นไว้ในกลุ่มเดียวก่อนประมวลผล
- สมมติฐานเริ่มต้นคือ User Agent สามารถทำการ Crawl หน้าเว็บหรือไดเรกทอรีใดก็ตามที่ไม่ได้ถูกกฎ
disallow
บล็อกไว้ -
กฎจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตัวอย่างเช่น
disallow: /file.asp
จะมีผลกับhttps://www.example.com/file.asp
แต่ไม่มีผลกับhttps://www.example.com/FILE.asp
-
อักขระ
#
แสดงถึงจุดเริ่มต้นของความ��ิดเห็น ระบบจะข้ามส่วนที่เป็นความคิดเห็นในระหว่างการประมวลผล
Crawler ของ Google รองรับกฎต่อไปนี้ในไฟล์ robots.txt
-
user-agent:
[ต้องมีอย่างน้อย 1 รายการต่อกลุ่ม] ก����ี้���ะร��บุช��่อ���องไคลเอ็นต์อัตโนมัติหรือที่เรียกว่า "Crawler ของเครื่องมือค้นหา" ที่กฎมีผลใช้งาน ซึ่งจะเป็นบรรทัดแรกสำหรับกฎใดๆ ก็ตาม ชื่อ User Agent ของ Google แสดงอยู่ในรายชื่อ User Agent ของ Google การใช้เครื่องหมายดอกจัน (*
) จะจับคู่กับ Crawler ทั้งหมดยกเว้น Crawler AdsBot ต่างๆ ซึ่งต้องตั้งชื่อไว้อย่างชัดแจ้ง เช่น# Example 1: Block only Googlebot User-agent: Googlebot Disallow: / # Example 2: Block Googlebot and Adsbot User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Example 3: Block all crawlers except AdsBot (AdsBot crawlers must be named explicitly) User-agent: * Disallow: /
-
disallow:
[รายการdisallow
หรือallow
อย่างน้อย 1 รายการต่อกฎ] ไดเรกทอรีหรือหน้าที่สัมพันธ์กับโดเมนราก ซึ่งคุณไม่ต้องการให้ User Agent ทำการ Crawl หากกฎอ้างถึงหน้าเว็บ ต้องเป็นชื่อหน้าแบบเต็มตามที่แสดงในเบราว์เซอร์ โดยต้องขึ้นต้นด้วยอักขระ/
และหากอ้างถึงไดเรกทอรี ต้องลงท้ายด้วยเครื่องหมาย/
-
allow:
[รายการdisallow
หรือallow
อย่างน้อย 1 รายการต่อกฎ] ไดเรกทอรีหรือหน้าที่สัมพันธ์กับโดเมนราก ซึ่ง User Agent ที่เพิ่งกล่าวถึงอาจทำการ Crawl ใช้เพื่อลบล้างกฎdisallow
เพื่ออนุญาตการ Crawl ไดเรกทอรีย่อยหรือหน้าในไดเรกทอรีที่ไม่อนุญาต สําหรับหน้าเดี่ยว ให้ระบุชื่อหน้าแบบเต็มตามที่แสดงในเบราว์เซอร์ โดยต้องขึ้นต้นด้วยอักขระ/
และหากอ้างถึงไดเรกทอรี ต้องลงท้ายด้วยเครื่องหมาย/
-
sitemap:
[ไม่บังคับ จะไม่มีเลยหรือมีกี่รายการต่อไฟล์ก็ได้] ตำแหน่งของ Sitemap ของเว็บไซต์นี้ URL ของ Sitemap ต้องเป็น URL ที่สมบูรณ์ในตัวเองเนื่องจาก Google จะไม่ถือเอาหรือตรวจสอบทางเลือก http/https/www.non-www Sitemap เป็นวิธีที่ดีในการระบุเนื้อหาที่ Google ควรทำการ Crawl ซึ่งตรงข้ามกับเนื้อหาที่สามารถหรือไม่สามารถทำการ Crawl ดูข้อมูลเพิ่มเติมเกี่ยวกับแผนผังเว็บไซต์ เช่นSitemap: https://example.com/sitemap.xml Sitemap: https://www.example.com/sitemap.xml
กฎทั้งหมด ยกเว้น sitemap
รองรับไวลด์การ์ด *
สำหรับคำนำหน้าเส้นทาง คำต่อท้าย หรือทั้งสตริง
ระบบจะละเว้นบรรทัดที่ไม่ตรงกับกฎเหล่านี้
อ่านเกี่ยวกับการตีความข้อกำหนดของ robots.txt ของ Google เพื่อดูคำอธิบายทั้งหมดของแต่ละกฎ
อัปโหลดไฟล์ robots.txt
เมื่อบันทึกไฟล์ robots.txt ลงในคอมพิวเตอร์แล้ว คุณก็พร้อมที่จะจัดไฟล์ให้กับ Crawler ของเครื่องมือค้นหา ไม่มีเครื่องมือใดที่จะช่วยทำเรื่องนี้ได้ เพราะวิธีการอัปโหลดไฟล์ robots.txt ไปยังเว็บไซต์นั้นขึ้นอยู่กับสถาปัตยกรรมของเว็บไซต์และเซิร์ฟเวอร์ของคุณ โปรดติดต่อบริษัทโฮสติ้งของคุณหรือค้นหาเอกสารประกอบของบริษัท ตัวอย่างเช่น ค้นหาคำว่า "อัปโหลดไฟล์ Infomaniak"
หลังจากที่คุณอัปโหลดไฟล์ robots.txt แล้ว ให้ทดสอบว่าสามารถเข้าถึงได้แบบสาธารณะหรือไม่ และ Google สามารถแยกวิเคราะห์ไฟล์ได้หรือไม่
ทดสอบมาร์กอัป robots.txt
หากต้องการทดสอบว่าไฟล์ robots.txt ที่อัปโหลดใหม่สามารถเข้าถึงได้แบบสาธารณะหรือไม่ ให้เปิดหน้าต่างการเรียกดูแบบส่วนตัว (หรือเทียบเท่า) ในเบราว์เซอร์และไปยังตำแหน่งของไฟล์ robots.txt เช่น https://example.com/robots.txt
หากเห็นเนื้อหาของไฟล์ robots.txt คุณก็พร้อมที่จะทดสอบมาร์กอัปแล้ว
การแก้ไขปัญหาเกี่ยวกับมาร์กอัป robots.txt ของ Google มีด้วยกั�� 2 ตัวเลือก ดังนี้
- รายงาน robots.txt ใน Search Console คุณจะใช้รายงานนี้ได้ต่อเมื่อไฟล์ robots.txt สามารถเข้าถึงได้แล้วในเว็บไซต์
- หากคุณเป็นนักพัฒนาซอฟต์แวร์ ให้ดูและสร้างไลบรารี robots.txt แบบโอเพนซอร์สของ Google ซึ่งใช้ใน Google Search เช่นกัน คุณสามารถใช้เครื่องมือนี้เพื่อทดสอบไฟล์ robots.txt ได้ในคอมพิวเตอ��์
ส่งไฟล์ robots.txt ไปยัง Google
เมื่อคุณอัปโหลดและทดสอบไฟล์ robots.txt แล้ว Crawler ของ Google จะค้นหาและเริ่มใช้ไฟล์ robots.txt โดยอัตโนมัติ โดยที่คุณไม่ต้องทำอะไรเลย หากคุณอัปเดตไฟล์ robots.txt และต้องการรีเฟรชสำเนาที่แคชไว้ของ Google โดยเร็วที่สุด โปรดดูวิธีส่งไฟล์ robots.txt ที่มีการอัปเดต
กฎที่มีประโยชน์ของ robots.txt
ตัวอย่างกฎที่มีประโยชน์ของ robots.txt ที่ใช้กันทั่วไปมีดังนี้
กฎที่มีประโยชน์ | |
---|---|
ไม่อนุญาตให้ทำการ Crawl ทั้งเว็บไซต์ |
โปรดทราบว่าในบางสถานการณ์ URL จากเว็บไซต์อาจยังคงได้รับการจัดทำดัชนีแม้ว่าไม่ได้มีการ Crawl ก็ตาม User-agent: * Disallow: / |
ไม่อนุญาตให้รวบรวมข้อมูลของไดเรกทอรีและเนื้อหาในไดเรกทอรี |
เติมเครื่องหมายทับต่อท้ายชื่อไดเรกทอรีเพื่อไม่อนุญาตให้ทำการ Crawl ทั้งไดเรกทอรี User-agent: * Disallow: /calendar/ Disallow: /junk/ Disallow: /books/fiction/contemporary/ |
อนุญาตการเข้าถึงให้แก่โปรแกรมรวบรวมข้อมูลเพียงโปรแกรมเดียว |
มีแค่ User-agent: Googlebot-news Allow: / User-agent: * Disallow: / |
อนุญาตการเข้าถึงให้แก่โปรแกรมรวบรวมข้อมูลทั้งหมดยกเว้นโปรแกรมเดียว |
User-agent: Unnecessarybot Disallow: / User-agent: * Allow: / |
ไม่อนุญาตให้รวบรวมข้อมูลหน้าเว็บ��ดียว |
ตัวอย่างเช่น ไม่อนุญาตหน้า User-agent: * Disallow: /useless_file.html Disallow: /junk/other_useless_file.html |
ไม่อนุญาตให้ทำการ Crawl ทั้งเว็บไซต์ ยกเว้นไดเรกทอรีย่อย |
Crawler จะเข้าถึงไดเรกทอรีย่อย User-agent: * Disallow: / Allow: /public/ |
บล็อกรูปภาพบางภาพไม่ให้แสดงใน Google รูปภาพ |
เช่น ไม่อนุญาตให้รวบรวมข้อมูลรูปภาพ User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
บล็อกรูปภาพทั้งหมดในเว็บไซต์ของคุณไม่ให้แสดงใน Google รูปภาพ |
Google ไม่สามารถจัดทําดัชนีรูปภาพและวิดีโอได้หากไม่ได้รวบรวมข้อมูล User-agent: Googlebot-Image Disallow: / |
ไม่อนุญาตให้รวบรวมข้อมูลไฟล์บางประเภท |
เช่น ไม่อนุญาตให้รวบรวมข้อมูลไฟล์ User-agent: Googlebot Disallow: /*.gif$ |
ไม่อนุญาตให้รวบรวมข้อมูลทั้งเว็บไซต์ แต่อนุญาต |
การใช้กฎนี้จะซ่อนหน้าเว็บของคุณจากผลการค้นหา แต่ Web Crawler User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: / |
ใช้ไวลด์การ์ด * และ $ เพื่อจับคู่ URL ที่ลงท้ายด้วยสตริงที่เจาะจง
|
เช่น ไม่อนุญาตให้รวบรวมข้อมูลไฟล์ User-agent: Googlebot Disallow: /*.xls$ |