ไฟล์ robots.txt คืออะไร

robots.txt คืออะไร?

ในการเก็บข้อมูลเว็บไซต์ของ Search Engine ไม่ว่าจะเป็น Google, Yahoo, Bing และอื่นๆ ตัว Search Engine เองจะมีซอฟท์แวร์ที่พัฒนาขึ้นซึ่งเราเรียกว่า Search Engine Robot ที่จะทำตัวเหมือนแมงมุม เดินไต่ไปตามเว็บต่างๆ ผ่าน Link ที่เชื่อมต่อกันไปเรื่อยๆ ของแต่ละเว็บไซต์ เพื่อเข้ามาเก็บข้อมูลเนื้อหา ไฟล์ และรูปภาพ บนเว็บของเรานำไปสร้างเป็นดัชนีข้อมูลของแต่ละเว็บว่ามีข้อมูลอะไรบ้างให้กับ Search Engine

จากสถิติการเข้าถึงของ Search Engine Robot บน Server ที่เราให้บริการ ทำให้เราเห็นว่า Search Engine Robot นี้มีมากมายหลายประเภท บางตัวเข้ามาดูเว็บไซต์แค่หน้าแรกไม่ไต่ไปตาม Link ไหนต่อ บางตัวเข้ามาเก็บเฉพาะรูปภาพ บางตัวเข้ามาเก็บไฟล์อย่างเดียว จุดที่น่าสนใจคือเราเห็นว่า Search Engine Robot พวกนี้จะแวะเวียนเข้ามาบ่อยๆ กับเว็บไซต์ที่มีเนื้อหาอัปเดตใหม่ๆ อย่างสม่ำเสมอ และ หากเนื้อหาที่อัปเดตนั้น เป็นที่สนใจของผู้ชม เว็บก็มักจะได้รับการจัดอันดับเว็บไซต์ให้อยู่ในอันดับต้นๆ ในรายการผลการค้นหา

Search Engine Robot พวกนี้ทำงานกันแบบอัตโนมัติ เมื่อมีเว็บไซต์เกิดขึ้นบนโลกอินเตอร์เน็ต และมีเนื้อหาถูกสร้างขึ้น พวก Search Engine Robot ก็จะเข้าไปเก็บข้อมูลของเว็บไซต์นั้นเลยทันที จุดนี้เองเป็นจุดที่เข้ามาของ robots.txt เพราะในกรณีที่เว็บไซต์ของเรามีข้อมูลบางอย่างที่สำคัญ ยกตัวอย่างเช่นข้อมูลรายชื่อสมาชิกเว็บไซต์ ข้อมูลที่เป็นเอกสารลับภายในองค์กร ซึ่งเราไม่อยากให้ Search Engine นำข้อมูลนี้ไปเผยแพร่และทำดัชนีการค้นหา ไม่ต้องการให้เปิดเผยเป็นสาธารณะ เราก็สามารถใช้ประโยชน์จากไฟล์ robots.txt เพื่อบอก Search Engine Robot ว่าอย่าเข้ามาเก็บข้อมูลในส่วนนี้นะ

ประโยชน์ของไฟล์ robots.txt

  • บอก Search Engine ให้รู้ว่าส่วนใดหรือหน้าเพจใดของเว็บไซต์ที่สามารถเข้ามาเก็บข้อมูลได้ หรือหน้าใดเก็บข้อมูลไม่ได้
  • บอกให้รู้ว่า แผนที่เว็บ xml อยู่ที่ไหน

ไฟล์ robots.txt อยู่ตรงไหน

เพื่อให้ไฟล์ robots.txt มีผล เราจำเป็นต้อง upload ไฟล์ robots.txt ไว้ที่ Document root ของโฮสติ้งของเรา ถ้าเป็น Plesk Control Panel ก็ให้อัปโหลดไว้ที่แฟ้ม httpdoc หากเป็น DirectAdmin Control Panel ก็ให้อัปโหลดไว้ที่แฟ้ม public_html ได้เลย หากต้องการเรียกดูว่าไฟล์ robots.txt ของเว็บไซต์นั้นเขียนค่าอะไรลงไปบ้างเราก็สามารถทำได้โดย พิมพ์ URL ของเว็บลงในเบราว์เซอร์ แล้วตามด้วย /robots.txt

ก็จะเห็นไฟล์ robots.txt ของเว็บไซต์ และการตั้งค่าแฟ้มที่อนุญาติ และไม่อนุญาติให้เข้าถึงเอาไว้

ตัวอย่างที่แสดง มีดังนี้

1. ยกตัวอย่างไฟล์ robots.txt ของ WordPress ที่มีการตั้งค่าอนุญาตและไม่อนุญาตแฟ้มสำคัญของระบบ

2. ยกตัวอย่างไฟล์ robots.txt ที่ไม่อนุญาตให้ bot ใดๆ ของทุกๆ Search Engine เข้าเก็บข้อมูลในเว็บไซต์เลย

3. แต่ถ้าไม่พบไฟล์ robots.txt เลยก็จะเจอ error 404 หรือเจอหน้าแสดงผลอื่นๆ ไปก็แสดงว่าไม่ได้จำกัดสิทธ์อะไร ให้ bot เข้าออกได้สะดวกเลยทุกๆ ตำแหน่ง

วิธีการสร้างไฟล์ robots.txt

ซึ่งหากคุณไม่มีไฟล์ robots.txt หรือหาไม่เจอ ก็ต้องทำการสร้างไฟล์ขึ้นมา ซึ่งสามารถสร้างโดยใช้โปรแกรม notepad หรือ notepad++ ก็ได้ ไฟล์ที่สร้างนี้จะต้องชื่อ robots.txt เท่านั้น และต้องเอาไฟล์นี้ไปวางไว้ที่ public_html

User-agent: *
Disallow: /admin-area/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://sandbox.in.th/wp-sitemap.xml

ทีนี้เรามาดูความหมายของแต่ละคำสั่งกัน

User-agent: *

เป็นการบอกให้ Search engine ใดๆ ก็ตามที่มาถึงหน้าเว็บเรา หากรู้ชื่อก็สามารถระบุลงไปแทนก็ได้นะ เช่น เช่น Googlebot, Bingbot ,Slurp หรือ DuckDuckBot ในกรณีนี้เราใช้เป็น เพื่อระบุว่า Search Engine Robot ทุกตัว แต่ถ้าจะให้ปลอดภัยจริงๆ User-agent ให้ใส่ * ดีที่สุด

User-agent: Googlebot
Disallow: /admin-area/     //ไม่อนุญาตให้เข้าถึงโฟลเดอร์ wp-admin
Allow: /shop/cloth/  //อนุญาตให้เข้า Folder หรือ Directory นี้ได้

Sitemap:  // จะเรียกตำแหน่ง XML ของเว็บที่เชื่อมโยงกับ URL ที่ระบุไว้ 

Allow: /shop/cloth/

เป็นการระบุ / ในค่านี้คือเราอนุญาตให้เข้า Search Engine Bot ถึงเว็บไซต์ได้ทุกส่วน จาก Allow: /shop/cloth/ หมายถึงให้เข้าถึงโฟลเดอร์ cloth ได้

Disallow: /admin-area/

เป็นการระบุไม่ให้ Search Engine Bot เข้าไปเก็บข้อมูลในแฟ้ม /admin-area ได้

นอกจากเรื่องการอนุญาติและ การห้ามเข้าไปยังตำแหน่งตรงนั้นตรงนี้ของเว็บไซต์แล้ว robots.txt ยังสามารถกำหนดค่า Crawl-Delay เพื่อระบุให้ bot เข้าตาม Link ให้ช้าลงเพื่อป้องกัน Web Server ทำงานหนักจนเกินไป และอีกค่านึงที่สำคัญก็คือ robots.txt สามารถกำหนดตำแหน่งที่อยู่ของไฟล์ sitemap.xml เพื่อให้ Search Engine Robot มีแผนที่ URL และ Link ทั้งหมดของเว็บไซต์เรา จะได้ไต่ได้สะดวกขึ้นอีกด้วย

มาดูอีกตัวอย่างกัน

User-agent: *
Allow: /
Disallow: /admin-area/
Crawl-delay: 60
admin-area

ค่า Crawl-Delay 60 ข้างต้นจะแสดงถึงจำนวนวินาที ที่ Bot จะไต่ไปถาม URL ได้ กล่าวคือ 60 วินาที ไป URL นึง แล้วหากต้องการไปอีก URL นึงให้รอ 60 วินาที และ ค่า Sitemap ข้างต้น ที่ก็ระบุว่าไฟล์ sitemap.xml อยู่ที่ ตำแหน่ง https://domain.com/sitemap.xml ให้ Search Engine Robot ไต่เก็บข้อมูลตามลิงก์นี้ได้เลย

สำหรับผู้ที่ใช้งาน WordPress ท่านสามารถสร้างไฟล์ robots.txt ได้จาก Plugin นี้ได้เลยแบบอัตโนมัติ
วิธีสร้าง robots.txt ผ่าน Plugin All In One SEO

มาทดสอบ robots.txt ไฟล์กัน

robots.txt นี้หากตั้งไว้ดีมันจะส่งผลให้กับการทำ SEO ด้วย ดังนั้น ไฟล์ robots.txt ถือว่าเป็นส่วนสำคัญที่ห้ามมองข้ามเป็นอันขาด และเพื่อให้แน่ใจว่าเราวางตำแหน่งไฟล์ robots.txt ไว้ถูกที่แล้วเราสามารถทำการทดสอบได้ผ่านเครื่องมือ robots.txt Tester บน Google Search Console ว่า URL ที่เรากำหนดให้เข้าได้ Robot สามารถเข้าได้จริงมั้ย และส่วนที่กำหนดให้เข้าไม่ได้ ไม่สามารถเข้าได้จริงรึเปล่า

หมายเหตุ
การทำไฟล์ robots.txt นั้นเป็นเพียงแค่ไกด์ไลน์เท่านั้น เพื่อเป็นการบอกให้ bot ทราบว่าส่วนไหนของเว็บที่ควรหรือไม่ควรเข้าไป โดยส่วนมาก bot ที่ดีอย่าง Google, Bing หรือ yahoo มักจะเชื่อฟังและทำตามที่กำหนดไว้ในไฟล์ robots.txt แต่ bot ที่นิสัยไม่ดี หรือ Bad Bots อย่าง Baidu (Bots จากจีน) หรือ Yandex (Bot จากรัสเซีย) ก็ไม่ทำตามที่เราตั้งไว้นะ แต่เราสามารถ Block ได้นะคะ สำหรับวิธี Block Bad Bots สามารถดูได้ที่หัวข้อ Block Bad Bots (ใส่ลิงก์)

Was this article helpful?

Related Articles