การทำ SEO พาร์ทที่หลายคนมองข้ามไป หรือไม่รู้ว่าจะจัดการอย่างไรในฐานะของ Non-Dev ก็คือเรื่องของการปรับปรุง Technical SEO ให้เว็บไซต์หรือการทำอันดับบน Google ของเราดีขึ้น ซึ่งการปรับ Technical SEO เพียงเล็กน้อยอย่างเช่น การเขียนไฟล์โรบอท Robots.txt ที่จะชวนมาทำความรู้จักกันในบทความนี้ ก็สามารถสร้างผลลัพธ์ SEO ที่ดีขึ้นได้
โดยความสำคัญของสคริปต์ Robots.txt ที่อยากให้คนทำ SEO ทุกคนรู้จักและทำเป็น นั่นก็เพราะว่า มันเป็นโค้ดที่ช่วยบอกบอทของ Search Engine ว่าข้อมูลไหน หน้าเพจไหนที่เราอยากให้เข้ามาเก็บข้อมูลและข้อมูลไหน หน้าเพจไหนบ้างที่เราไม่ต้องการ หากตั้งกฎเขียนไฟล์โรบอทได้ถูกต้อง เชื่อว่า ผลลัพธ์ SEO ต้องเปลี่ยนแปลงแน่นอน
เอาล่ะครับ แม้จะฟังดูเป็นเรื่อง Coding แต่ในฐานะคนทำ SEO เรื่องนี้ไม่ยากเกินไปครับ ลองไปทำตามกันดูเลย
Robots.txt คือ
Robots.txt คือ ไฟล์ข้อความหรือสคริปต์ (Script) ที่เขียนขึ้นเพื่อบอกให้บอทของ Search Engine รู้ว่า สามารถเข้าไปเก็บข้อมูลหน้าเพจไหน คอนเทนต์ไหน ไฟล์ไหนในเว็บไซต์ได้บ้างหรือจะให้ยกเว้นการเข้าไปเก็บข้อมูล (Crawling) และทำดัชนี (Indexing) ของหน้าเพจหรือคอนเทนต์ไหน หรือกล่าวง่าย ๆ คือ บอกว่าบอทสามารถดูอะไรได้หรือไม่ได้บ้าง
Robots.txt คืออะไร ทำไมถึงมีความสำคัญ
Robots.txt เปรียบเสมือนป้ายกำกับและป้ายห้าม เป็นการเขียน Robots.txt กำกับวิธีการ Crawl เว็บไซต์ของบอท ซึ่งสำคัญกับเรื่องการจัดการข้อมูล เนื่องจากธรรมชาติของ Search Engine Crawler คือ การเข้ามาค้นเว็บไซต์และจัดทำดัชนีโดยอัตโนมัติอยู่แล้ว หากเราไม่เขียนป้ายห้าม บอทก็จะเข้าไปค้นทุกอย่าง ซึ่งรวมถึงข้อมูลส่วนตัว/ข้อมูลที่ไม่อยากเผยแพร่ เช่น รายชื่อสมาชิก เอกสารภายใน ข้อมูลส่วนตัวของสมาชิกบนเว็บไซต์ ฯลฯ
นอกจากนี้ Robots.txt ยังสำคัญต่อการทำ SEO อย่างยิ่ง เพราะ Robots.txt สามารถช่วยป้องกันไม่ให้ Search Engine Bot เข้ามาค้นและจัดทำ Index เอาหน้าเพจที่เราไม่ต้องการไปแสดงเป็นผลลัพธ์การค้นหา เช่น หน้าเสิร์ชคอนเทนต์บนเว็บไซต์ หน้าเพจที่สร้างขึ้นมาอัตโนมัติบนเว็บไซต์ ป้องกันการ Index ไฟล์รูปภาพหรือไฟล์เอกสารที่เราไม่ต้องการให้ไปปรากฏบนหน้าเสิร์ช (SERPs)
ประโยชน์ของการมีไฟล์ Robots.txt
ประโยชน์ของ Robots.txt ที่ทุกเว็บไซต์ควรจะต้องทำไว้ หลัก ๆ คือ การกำกับว่าไฟล์ไหน หน้าเพจไหนที่เราต้องการให้บอทเข้ามาเก็บข้อมูลหรือไม่เข้ามาเก็บข้อมูล (Allow or Disallow) ซึ่งจะช่วยรักษาข้อมูลที่ควรเก็บเป็นความลับและช่วยเพิ่มประสิทธิภาพในการทำ SEO ในหลาย ๆ กรณีด้วยกัน
ยกตัวอย่างการใช้ Robots.txt เช่น
- ช่วยป้องกัน Duplicate Content ไม่ให้ไปแสดงบนหน้าเสิร์ชเดียวกัน
- ช่วยป้องกันไฟล์หรือข้อมูลที่เป็นความลับหรือข้อมูลภายในของเว็บไซต์ เช่น ข้อมูลสมาชิก ไฟล์เอกสารของสมาชิกเว็บไซต์
- ช่วยป้องกันไม่ให้หน้าที่ถูกสร้างขึ้นโดยอัตโนมัติของปลั๊กอิน (Plug-in) หรือระบบเว็บไซต์ถูก Index แล้วไปแสดงบนหน้า SERPs (ซึ่งจะทำให้ Google มองว่า เว็บเรามีหน้าเพจคุณภาพต่ำหลายหน้า เช่น หน้า Thank You เป็นต้น คะแนน Performance ของเว็บไซต์ก็จะลดต่ำลง)
- ช่วยให้บอทเข้าถึงแผนผังเว็บไซต์ (Sitemap) ได้ง่ายขึ้น เพราะ Robots.txt เป็นสคริปต์แรกที่บอทจะเข้ามาอ่าน หากเขียน Sitemap ไว้ด้วย ก็มั่นใจได้ว่าบอทจะรู้ที่อยู่ Sitemap ของเว็บไซต์เรา
- ช่วยป้องกันไม่ให้บอททำ Index ไฟล์บนเว็บไซต์ที่เราไม่ต้องการ เช่น ไฟล์รูปภาพต่าง ๆ ไฟล์เอกสาร PDFs หรือไฟล์อื่น ๆ ที่ไม่ต้องการให้คนเข้าถึงผ่านการค้นหา
- ช่วยลดภาระการ Crawl เว็บไซต์ของบอท ทำให้บอทเก็บข้อมูลได้ดีขึ้น มีความเจาะจงมากขึ้น ส่งผลให้เว็บไซต์มีทิศทางและมี Web Performance ที่ดีขึ้น
ข้อควรระวังในการทำ Robots.txt
ข้อควรระวังของการเขียน Robots.txt คือ การเขียนคำสั่งหรือ Script ที่ไม่ถูกต้อง เนื่องจากไฟล์โรบอทเป็นไฟล์แรกที่บอทจะเข้ามาอ่าน ถ้าเขียนไม่ถูกต้อง หรือกำกับคำสั่งผิด ก็จะส่งผลต่อการเก็บข้อมูลและทำ Index ของเว็บไซต์ของเราทั้งหมด เช่น บอทไม่ทำ Index หน้าที่สำคัญหรือหน้าที่เราอยากให้ติดอันดับ SEO หรือไม่ Index เว็บไซต์เราเลย
ทั้งนี้ ในเรื่องของการเขียนสคริปต์คำสั่งให้ถูกต้อง เราสามารถตรวจสอบได้ง่าย ๆ ผ่าน Google Search Console ด้วยเครื่องมือ Robots Testing Tool ได้ โปรแกรมนี้จะช่วยตรวจโค้ดที่เราเขียนให้ ดูว่าผิดไวยากรณ์หรือมีข้อผิดพลาดในเชิงตรรกะการทำงานอะไรหรือเปล่า
หากมีข้อผิดพลาดหรือน่าสงสัย Robot Testing Tool จะเตือนจำนวน Errors และ Warnings ให้ แต่ถ้าไม่มีข้อผิดพลาด จะขึ้นเป็น “0” (ศูนย์)
ตัวอย่างการทดสอบ Robots.txt ที่ไม่ปรากฏข้อผิดพลาด
ขอบคุณภาพจาก backlinko.com
Script และคำสั่งต่าง ๆ ในไฟล์ Robots.txt ที่สำคัญ
Robots.txt คือ ไฟล์ข้อความหรือสคริปต์ที่ประกอบไปด้วยกฎที่คอยกำกับการเข้าเก็บข้อมูลของบอท โดยแต่ละกฎจะทำหน้าที่บล็อก (Disallow) หรืออนุญาต (Allow) ให้บอทเข้ามา Crawl เว็บไซต์ทั้งเว็บไซต์หรือหน้าเพจที่เราเลือกไว้ รวมไปถึง มีคำสั่งที่บอกโลเคชันหรือ URL ของ Sitemap ให้บอทเข้าไปทำความเข้าใจแผนผังเว็บไซต์ของเราด้วย
โดยการเขียนไฟล์โรบอท Robot.txt จะมีหน้าตาโดยทั่วไปเป็นแบบนี้
User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: https://www.example.com/sitemap.xml |
User-agent:
User-agent: คือ กฎหรือคำสั่งแรกที่ต้องเขียนในไฟล์โรบอท โดยคำสั่ง User-agent จะหมายถึง ชื่อของตัว Search Engine Crawler เจ้าต่าง ๆ ที่เราต้องการให้กฎทำงานด้วย เช่น Googlebot, Bingbot, Yahoobot, AdsBot-Google, Googlebot-Image ฯลฯ หรือหากต้องการให้กฎถูกใช้กับ Search Engine ทุกตัว ให้ใส่ (*) เครื่องหมายดอกจัน
# Example 1: ใช้กฎกับ Search Engine ตัวเดียว User-agent: Googlebot Disallow: / # Example 2: ใช้กฎกับ Search Engine หลายตัว User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Example 3: ใช้กฎกับ Search Engine ทุกตัว User-agent: * Allow: / |
Disallow:
Disallow: คือ คำสั่งไม่อนุญาตให้ Crawler ของ Search Engine (หรือ User-agent) ที่ระบุไว้เข้ามาเก็บข้อมูลในไฟล์ โฟลเดอร์ หรือหน้าเพจตามลิงก์ URL ที่เราระบุ หลัง “/” ซึ่งถ้าเป็นไดเรกทอรี (Directory) ให้เติม “/” ไว้ด้านหลังด้วย (เช่น /books/fiction/contemporary/ หมายถึง กฎจะถูกใช้กับ URL ที่สิ้นสุดที่เครื่องหมาย “/” สุดท้ายเท่านั้น)
ตัวอย่างคำสั่งที่มักจะใช้เช่น
Disallow: /file.asp Disallow: /index.php Disallow: /xmlrpc.php Disallow: /?comments=* Disallow: /search? Disallow: /wp-admin/ Disallow: /wp-admin/* Disallow: /wp-login/ Disallow: /wp-login/* Disallow: /admin-area/ |
Allow:
Allow: คือ คำสั่งที่อนุญาตให้ Crawler ของ Search Engine ที่ระบุไว้เข้ามาเก็บข้อมูลได้ ใช้สำหรับสร้างข้อยกเว้นของชื่อไฟล์ โฟลเดอร์ หรือ URL ที่ถูกกำกับคำสั่ง Disallow อยู่ก่อนแล้ว โดยวิธีการเขียนคำสั่ง จะเขียน “/” แล้วตามด้วยชื่อไฟล์หรือ URL และถ้าหากเป็นไดเรกทอรีให้เขียนเครื่องหมาย “/” ไว้ด้านหลัง เช่นเดียวกับวิธีการเขียนคำสั่ง Disallow:
ยกตัวอย่างคำสั่ง Allow: เช่น
Allow: /public/ Allow: / |
Sitemap:
Sitemap: คือ คำสั่งที่ใช้บอก Crawl Bot ว่าลิงก์หรือ URL ไหนคือที่อยู่ของ Sitemap ของเว็บไซต์เรา ซึ่งคำสั่งนี้ อาจจะใส่หรือไม่ใส่ก็ได้ แต่แนะนำให้ใส่เพราะถือเป็นการชี้ที่อยู่ Sitemap ให้บอทหาเจอง่ายขึ้น โดยที่อยู่ Sitemap ที่เราจะใส่ จะต้องเป็น URL ที่ถูกต้องสมบูรณ์เท่านั้น ยกตัวอย่างเช่น
# Example 1: Sitemap: https://example.com/sitemap.xml # Example 2: Sitemap: https://www.example.com/sitemap.xml |
ตัวอย่างการเขียนคำสั่ง Script ในไฟล์ Robots.txt
มาดูตัวอย่างการเขียนคำสั่ง Script ไฟล์โรบอทกันเพิ่มเติมครับ ว่ามีคำสั่งไหนบ้างที่เราน่าจะได้ใช้ ซึ่งในบล็อกของ Google Search Console เขาก็ได้เขียนไว้ให้ 11 คำสั่งตัวอย่าง ด้วยกัน
กฎหรือคำสั่ง (Rules) | ตัวอย่างไฟล์ Robots.txt |
---|---|
ไม่อนุญาตให้ Search Engine ตัวไหนก็ตามเข้ามาเก็บข้อมูลทั้งเว็บไซต์ของเรา | User-agent: *Disallow: / |
ไม่อนุญาตให้เก็บข้อมูลหน้าเพจ Directory และคอนเทนต์ของหน้าเหล่านั้น | User-agent: *Disallow: /calendar/Disallow: /junk/Disallow: /books/fiction/contemporary/ |
อนุญาตให้ Search Engine เพียงตัวใดตัวหนึ่งเข้ามาเก็บข้อมูลได้ | User-agent: Googlebot-newsAllow: / User-agent: *Disallow: / |
อนุญาตให้ Search Engine ทั้งหมด ยกเว้นตัวใดตัวหนึ่ง | User-agent: UnnecessarybotDisallow: / User-agent: *Allow: / |
ไม่อนุญาตให้เข้ามาเก็บข้อมูลหน้าเพจต่าง ๆ ตามที่ระบุ | User-agent: *Disallow: /useless_file.htmlDisallow: /junk/other_useless_file.html |
ไม่อนุญาตให้ Search Engine ทุกตัวเข้ามาเก็บข้อมูลทั้งเว็บไซต์ ยกเว้นบางหน้าเพจหรือซับไดเรกทอรี (Subdirectory) | User-agent: *Disallow: /Allow: /public/ |
บล็อกรูปภาพบางภาพไม่ให้แสดงใน Google Image | User-agent: Googlebot-ImageDisallow: /images/dogs.jpg |
บล็อกรูปภาพทั้งหมดในเว็บไซต์ ไม่ให้แสดงผลใน Google Image | User-agent: Googlebot-ImageDisallow: / |
ไม่อนุญาตให้เก็บข้อมูลไฟล์บางประเภท เช่น ไฟล์ .gif | User-agent: GooglebotDisallow: /*.gif$ |
ไม่อนุญาตให้ Search Engine ทั้งหมดเข้ามาเก็บข้อมูล แต่อนุญาตบางตัว เช่น Mediapartners-Google | User-agent: *Disallow: / User-agent: Mediapartners-GoogleAllow: / |
ไม่อนุญาตให้เข้ามาเก็บข้อมูลของ URLs ใด ๆ ก็ตามที่มีสกุลไฟล์หรือ String ที่ระบุอย่างเจาะจง (ให้เขียนเครื่องหมาย * ก่อนสกุลไฟล์และเครื่องหมาย $ ท้ายสกุลไฟล์) | User-agent: GooglebotDisallow: /*.xls$ |
วิธีการสร้างไฟล์ Robots.txt
เมื่อเรารู้แล้วว่า ต้องการเขียนกฎอะไรบอก Crawl Bot ของ Search Engine บ้าง ทีนี้ เรามาดูกันครับว่า วิธีการสร้างไฟล์โรบอทหรือ Robots.txt นั้น ทำอะไรได้บ้าง ซึ่งก็มี 2 วิธีด้วยกัน ดังนี้ครับ
1. วิธีสร้างไฟล์ Robots.txt ไปวางในเว็บไซต์ด้วยตัวเอง
เขียนไฟล์โรบอทหรือ Robots.txt ทดไว้ในโปรแกรม Notepad (Windows) หรือ TextEdit (Mac) ตามคำสั่งที่เราต้องการ ส่วนวิธีนำไปฝังไว้ในเว็บไซต์ ถ้ามี Developer ช่วยดูแลก็บอกเขาได้ หรือถ้าจะไปใส่เอง สามารถทำได้ตามนี้ครับ
- เปิด ControlPanel หรือหน้าต่างจัดการ Hosting ของเรา (เข้าผ่านเว็บ Hosting)
- ไปที่ “File” และเลือกคลิกที่ “File Manager”
- จากนั้นให้เลือกเว็บโดเมนที่เราต้องการนำ Robots.txt ไปฝัง
- สร้างโฟลเดอร์ชื่อว่า “robots.txt” (ต้องชื่อนี้เท่านั้นนะครับ) โดยให้สร้างไว้ในโฟลเดอร์ /public_html/
- เมื่อสร้างเสร็จ ให้คลิกขวาที่โฟลเดอร์ที่เราเพิ่งสร้าง เลือก “Edit”
- จะได้หน้าต่างขาว ๆ ขึ้นมา ให้ก๊อปปี้ Robots.txt ที่เราเขียนไว้ มาวาง จากนั้นกด “Save” เป็นอันเสร็จสิ้น
ตัวอย่าง cPanel
ให้เข้าไปสร้างไฟล์โรบอท Robots.txt ใน File Manager
ขอบคุณภาพจาก stackscale.com
2. วิธีการสร้างไฟล์ Robots.txt โดยใช้ปลั๊กอิน
สำหรับคนที่สร้างเว็บไซต์ด้วย WordPress ก็สามารถใช้ปลั๊กอิน All In One SEO ได้ โดยเราจะต้องติดตั้งปลั๊กอินตัวนี้กับ WordPress ของเราก่อน โดยเข้าไปยังหลังบ้าน WordPress ของเรา เลือกเมนู “Plug-in” แล้วค้นหาปลั๊กอิน All In One SEO จากนั้นให้ Install ให้เรียบร้อยและกด Activate
ทีนี้เรามาดูวิธีเขียนไฟล์ Robots.txt ด้วยปลั๊กอินตัวนี้กันครับ
- เลือกเมนู All in One SEO ในแถบเมนูหลังบ้านของ WordPress
- เลือกเมนูย่อย “Tools”
- หาส่วนที่เขียนว่า “Enable Custom Robots.txt” และกด Activate ปลั๊กอินจะปรากฏช่องสำหรับเขียนไฟล์โรบอทขึ้นมาให้
- ใส่ User Agent, Rule (เลือกระหว่าง Allow กับ Disallow), และ Directory Path หรือ URLs ที่เราต้องการ
- หากต้องการเพิ่ม Rule ให้กด “Add Rule” เมื่อเสร็จกด “Save Change” เป็นอันเรียบร้อย
ขอบคุณภาพประกอบจาก All In One SEO
สรุป Robots.txt คืออะไร ทำไมสำคัญกับ SEO
ตัวสคริปต์ Robots.txt คือ ไฟล์ข้อความที่เราเขียนขึ้นมาเพื่อบอกหรือกำกับ Search Engine Crawl Bot ว่า ข้อมูลหรือหน้าเพจไหนที่เราอนุญาตให้เข้ามาเก็บข้อมูลหรือไม่อนุญาตให้เข้ามาเก็บข้อมูล ซึ่งมีเรื่องสำคัญอย่างยิ่งกับการทำ SEO เพราะจะช่วยให้การ Index คอนเทนต์หรือหน้าเพจของเว็บไซต์เราเป็นไปอย่างที่เราตั้งใจ มีแต่หน้าเพจที่มีคอนเทนต์คุณภาพสูงขึ้นไปจัดอันดับ ไม่ได้เอาหน้าคอนเทนต์ที่เขียนไม่กี่คำ เช่น หน้า Thank You ไปทำ Index แล้วประเมินคะแนนเว็บไซต์ของเราต่ำ
ถ้าเข้าใจความสำคัญของ Robots.txt กันแล้ว เชื่อว่าคงไม่มี SEO คนไหนที่จะมองข้ามเรื่อง Technical SEO อย่างการเขียนไฟล์โรบอทแน่ ๆ
หวังว่า บทความนี้จะช่วยให้คุณเขียนไฟล์ Robots.txt ได้ถูกต้องและเว็บไซต์มี Performace ดีขึ้นนะครับ