robots.txt হলো একটি সাইটের রুটে একটি সাধারণ টেক্সট ফাইল — example.com/robots.txt — যা crawler-কে বলে সাইটের কোন অংশ তাদের অনুরোধ করা উচিত নয়। পৌঁছানোর পর বেশিরভাগ crawler প্রথমে এটিই খোঁজে।
# সব crawler-এর জন্য প্রযোজ্য
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search?
# sitemap কোথায় আছে
Sitemap: https://example.com/sitemap.xmlUser-agent — নিচের নিয়মগুলো কোন crawler-এর জন্য প্রযোজ্য। * মানে সবগুলো।Disallow — একটি path প্রিফিক্স যা crawler-এর অনুরোধ করা উচিত নয়।Allow — একটি বৃহত্তর Disallow থেকে কেটে নেওয়া একটি ব্যতিক্রম।Sitemap — আপনার sitemap কোথায়। পরের পাঠে কভার করা হয়েছে।প্রকৃত ব্যবহার মানুষ যা ভাবে তার চেয়ে সংকীর্ণ:
SEO-তে সবচেয়ে ভুল বোঝা বিষয়
robots.txt একটি পাতাকে ব্যক্তিগত করে না আর নির্ভরযোগ্যভাবে সার্চ ফলাফলের বাইরে রাখে না। এটি ভালো আচরণের crawler-কে একটি URL না আনতে অনুরোধ করে। অন্য সাইট এতে লিংক করলে একটি ব্লক করা পাতা এখনো ফলাফলে দেখা যেতে পারে, কারণ ইঞ্জিন জানে ঠিকানাটি আছে যদিও এটি কন্টেন্ট পড়েনি। একটি পাতা index-এর বাইরে রাখতে, একটি noindex meta ট্যাগ ব্যবহার করুন — আর লক্ষ্য করুন robots.txt-এ ব্লক করা একটি পাতার সেই ট্যাগ আছে তা কখনো দেখা যায় না, কারণ crawler-কে এটি পড়ার অনুমতি নেই।
User-agent: *
Disallow: /ওই দুই লাইন প্রতিটি crawler-কে পুরো সাইট থেকে দূরে থাকতে অনুরোধ করে। একটি staging বা development সাইটের জন্য এটি সম্পূর্ণ বৈধ একটি কনফিগারেশন — আর প্রোডাকশনে পৌঁছালে এটি বিপর্যয়কর, যা হওয়া উচিতের চেয়ে বেশি ঘটে, সাধারণত কারণ একটি লঞ্চের সময় একটি staging ফাইল কপি হয়ে গেছে।
যেকোনো লঞ্চ বা migration-এর পরপরই yoursite.com/robots.txt যাচাই করতে দশ সেকেন্ড লাগে আর এটি মাসের ক্ষতি হওয়ার আগে ধরে ফেলে।
robots.txt যে কেউ প্রকাশ্যে পড়তে পারে। এতে Disallow: /secret-admin-panel/ তালিকাভুক্ত করা পুরো পৃথিবীকে সেই path-এর অস্তিত্ব ঘোষণা করে। সত্যিই সংবেদনশীল যেকোনো কিছুর জন্য authentication দরকার, একটি crawler নির্দেশ নয়।