[การทำ SEO](https://nerdoptimize.com/seo/how-to-do-seo/) พาร์ทที่หลายคนมองข้ามไป หรือไม่รู้ว่าจะจัดการอย่างไรในฐานะของ Non-Dev ก็คือเรื่องของการปรับปรุง [Technical SEO](https://nerdoptimize.com/seo/technical-seo/) ให้เว็บไซต์หรือการทำอันดับบน Google ของเราดีขึ้น ซึ่งการปรับ Technical SEO เพียงเล็กน้อยอย่างเช่น การเขียนไฟล์โรบอท Robots.txt ที่จะชวนมาทำความรู้จักกันในบทความนี้ ก็สามารถสร้างผลลัพธ์ SEO ที่ดีขึ้นได้ โดยความสำคัญของสคริปต์ Robots.txt ที่อยากให้คนทำ SEO ทุกคนรู้จักและทำเป็น นั่นก็เพราะว่า มันเป็นโค้ดที่ช่วยบอกบอทของ [Search Engine ](https://nerdoptimize.com/seo/how-do-search-engines-work/)ว่าข้อมูลไหน หน้าเพจไหนที่เราอยากให้เข้ามาเก็บข้อมูลและข้อมูลไหน หน้าเพจไหนบ้างที่เราไม่ต้องการ หากตั้งกฎเขียนไฟล์โรบอทได้ถูกต้อง เชื่อว่า ผลลัพธ์ SEO ต้องเปลี่ยนแปลงแน่นอน เอาล่ะครับ แม้จะฟังดูเป็นเรื่อง Coding แต่ในฐานะคนทำ [SEO Audit](https://nerdoptimize.com/seo/seo-audit/) หรือในมุมมองของคนที่[รับทำเว็บไซต์ WordPress](https://nerdoptimize.com/wordpress/)อยู่แล้วเรื่องนี้ไม่ยากเกินไปครับ ลองไปทำตามกันดูเลย เลือกอ่านตามหัวข้อ - [Robots.txt คือ](#h-robots-txt-ค-อ) - [Robots.txt คืออะไร ทำไมถึงมีความสำคัญ](#h-robots-txt-ค-ออะไร-ทำไมถ-งม-ความสำค-ญ) - [ประโยชน์ของการมีไฟล์ Robots.txt](#h-ประโยชน-ของการม-ไฟล-robots-txt) - [ข้อควรระวังในการทำ Robots.txt](#h-ข-อควรระว-งในการทำ-robots-txt) - [Script และคำสั่งต่าง ๆ ในไฟล์ Robots.txt ที่สำคัญ](#h-script-และคำส-งต-าง-ๆ-ในไฟล-robots-txt-ท-สำค-ญ) - [ตัวอย่างการเขียนคำสั่ง Script ในไฟล์ Robots.txt](#h-ต-วอย-างการเข-ยนคำส-ง-script-ในไฟล-robots-txt) - [วิธีการสร้างไฟล์ Robots.txt](#h-ว-ธ-การสร-างไฟล-robots-txt) - [สรุป Robots.txt คืออะไร ทำไมสำคัญกับ SEO](#h-สร-ป-robots-txt-ค-ออะไร-ทำไมสำค-ญก-บ-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 คือ](https://nerdoptimize.com/seo/what-is-seo/)ในหลาย ๆ กรณีด้วยกัน ยกตัวอย่างการใช้ Robots.txt เช่น - ช่วยป้องกัน [Duplicate Content](https://nerdoptimize.com/seo/duplicate-content/) ไม่ให้ไปแสดงบนหน้าเสิร์ชเดียวกัน - ช่วยป้องกันไฟล์หรือข้อมูลที่เป็นความลับหรือข้อมูลภายในของเว็บไซต์ เช่น ข้อมูลสมาชิก ไฟล์เอกสารของสมาชิกเว็บไซต์ - ช่วยป้องกันไม่ให้หน้าที่ถูกสร้างขึ้นโดยอัตโนมัติของปลั๊กอิน (Plug-in) หรือระบบเว็บไซต์ถูก Index แล้วไปแสดงบนหน้า SERPs (ซึ่งจะทำให้ Google มองว่า เว็บเรามีหน้าเพจคุณภาพต่ำหลายหน้า เช่น หน้า Thank You เป็นต้น คะแนน Performance ของเว็บไซต์ก็จะลดต่ำลง) - ช่วยให้บอทเข้าถึงแผนผังเว็บไซต์ (Sitemap) ได้ง่ายขึ้น เพราะ Robots.txt เป็นสคริปต์แรกที่บอทจะเข้ามาอ่าน หากเขียน Sitemap ไว้ด้วย ก็มั่นใจได้ว่าบอทจะรู้ที่อยู่ [Sitemap ](https://nerdoptimize.com/seo/sitemap/)ของเว็บไซต์เรา - ช่วยป้องกันไม่ให้บอททำ Index ไฟล์บนเว็บไซต์ที่เราไม่ต้องการ เช่น ไฟล์รูปภาพต่าง ๆ ไฟล์เอกสาร PDFs หรือไฟล์อื่น ๆ ที่ไม่ต้องการให้คนเข้าถึงผ่านการค้นหา - ช่วยลดภาระการ Crawl เว็บไซต์ของบอท ทำให้บอทเก็บข้อมูลได้ดีขึ้น มีความเจาะจงมากขึ้น ส่งผลให้เว็บไซต์มีทิศทางและมี Web Performance ที่ดีขึ้น ## ข้อควรระวังในการทำ Robots.txt ข้อควรระวังของการเขียน Robots.txt คือ การเขียนคำสั่งหรือ Script ที่ไม่ถูกต้อง เนื่องจากไฟล์โรบอทเป็นไฟล์แรกที่บอทจะเข้ามาอ่าน ถ้าเขียนไม่ถูกต้อง หรือกำกับคำสั่งผิด ก็จะส่งผลต่อการเก็บข้อมูลและทำ Index ของเว็บไซต์ของเราทั้งหมด เช่น บอทไม่ทำ Index หน้าที่สำคัญหรือหน้าที่เราอยากให้ติดอันดับ SEO หรือไม่ Index เว็บไซต์เราเลย การใช้ [SEO Checklist](https://nerdoptimize.com/seo/what-is-seo-checklist/) ที่ครอบคลุมจะช่วยให้คุณเขียนไฟล์ Robots.txt ได้อย่างถูกต้องและไม่ส่งผลกระทบต่อการทำ SEO ของเว็บไซต์ ทั้งนี้ ในเรื่องของการเขียนสคริปต์คำสั่งให้ถูกต้อง เราสามารถตรวจสอบได้ง่าย ๆ ผ่าน Google Search Console ด้วยเครื่องมือ [Robots Testing Tool ](https://support.google.com/webmasters/answer/6062598?hl=th)ได้ โปรแกรมนี้จะช่วยตรวจโค้ดที่เราเขียนให้ ดูว่าผิดไวยากรณ์หรือมีข้อผิดพลาดในเชิงตรรกะการทำงานอะไรหรือเปล่า หากมีข้อผิดพลาดหรือน่าสงสัย 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](https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt) เขาก็ได้เขียนไว้ให้ 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 ImageUser-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 แล้วประเมินคะแนนเว็บไซต์ของเราต่ำ การ [รับทำ SEO](https://nerdoptimize.com/seo/) ที่มีคุณภาพสามารถช่วยปรับปรุงการตั้งค่า Robots.txt ได้อย่างถูกต้องเพื่อให้เว็บไซต์ของคุณมีประสิทธิภาพสูงสุด ถ้าเข้าใจความสำคัญของ Robots.txt กันแล้ว เชื่อว่าคงไม่มี SEO คนไหนที่จะมองข้ามเรื่อง [Technical SEO](https://nerdoptimize.com/seo/technical-seo/) อย่างการเขียนไฟล์โรบอทแน่ ๆ หวังว่า บทความนี้จะช่วยให้คุณเขียนไฟล์ Robots.txt ได้ถูกต้องและเว็บไซต์มี Performace ดีขึ้นนะครับ - [FacebookFacebook](https://www.facebook.com/share.php?u=https%3A%2F%2Fnerdoptimize.com%2Fseo%2Frobots-dot-txt%2F) - [LINELine](https://lineit.line.me/share/ui?url=https%3A%2F%2Fnerdoptimize.com%2Fseo%2Frobots-dot-txt%2F)