Robots.txt পরীক্ষক যাচাই করে কোনো ওয়েবসাইটের নিয়ম নির্বাচিত ক্রলারকে নির্দিষ্ট একটি URL অনুরোধ করার অনুমতি দেয় কি না। লাইভ ফাইল পরীক্ষা করুন বা একটি খসড়া পেস্ট করুন, তারপর মিলে যাওয়া গ্রুপ, নির্দেশনা ও লাইন দেখুন। ফলাফল ওই নিয়ম অনুযায়ী ক্রল করার অনুমতি ব্যাখ্যা করে; কোনো বট পৃষ্ঠাটি দেখেছে বা URL ইনডেক্স হয়েছে, তা নিশ্চিত করে না।
Robots.txt-এর উৎস ও URL বেছে নিন
আপনার ওয়েবসাইট বর্তমানে যে পাবলিক ফাইল পরিবেশন করছে তা পড়তে লাইভ সাইট ব্যবহার করুন। https://example.com, /products/item পাথ এবং যে ক্রলার পরীক্ষা করতে চান সেটি দিন। Screpy /robots.txt অনুরোধ করে; পরীক্ষিত পৃষ্ঠা সংগ্রহ করে না বা পুরো সাইট ক্রল করে না।
অপ্রকাশিত খসড়ার জন্য robots.txt পেস্ট করুন ব্যবহার করুন। পেস্ট করা লেখা আপলোড না করেই আপনার ব্রাউজারে বিশ্লেষিত হয়। লক্ষ্য URL নির্ধারণ করতে পরীক্ষককে প্রসঙ্গ হিসেবে ওয়েবসাইটের ঠিকানা দিন।
প্রোটোকল ও হোস্টের নাম ঠিক রাখুন: https://example.com, http://example.com এবং https://www.example.com আলাদা অরিজিন। শুধু ডোমেন দিলে HTTPS ব্যবহৃত হয়। পরীক্ষার পূর্ণ URL-এর অরিজিন ওয়েবসাইটের ইনপুটের সঙ্গে এক হতে হবে; পাথ সেই ঠিকানার ভিত্তিতে পূরণ করা হয়। / পরীক্ষা শুধু হোমপেজের পাথ যাচাই করে। অন্য URL পরীক্ষার সময় প্রকৃত বড় ও ছোট হাতের অক্ষর এবং কুয়েরি প্যারামিটার অপরিবর্তিত রাখুন।
ক্রলারের প্রিসেট বেছে নিন বা ব্রাউজারের সম্পূর্ণ user-agent হেডারের বদলে ExampleBot-এর মতো কাস্টম পণ্য টোকেন লিখুন।
Robots.txt পরীক্ষার ফলাফল পড়ুন
অবস্থার সঙ্গে তার সমর্থক তথ্যও পড়ুন, বিশেষ করে মিলে যাওয়া গ্রুপ ও হাইলাইট করা লাইন।
| অবস্থা | অর্থ | কী পরীক্ষা করবেন |
|---|---|---|
| অনুমোদিত — সবুজ | মিলে যাওয়া একটি Allow নিয়ম এই URL অনুমোদন করে। |
সিদ্ধান্ত নির্ধারণকারী নির্দেশনা ও লাইন। |
| ব্লক করা হয়েছে — লাল | মিলে যাওয়া একটি Disallow নিয়ম এই URL ব্লক করে। |
পাথ ও ক্রলার আপনার উদ্দেশ্য অনুযায়ী নির্বাচিত হয়েছে কি না। |
| ডিফল্টভাবে অনুমোদিত — নীল | প্রযোজ্য কোনো পাথের নিয়ম এই URL সীমিত করছে না। | নির্বাচিত গ্রুপ এবং ব্যবহারযোগ্য লাইভ ফাইল পাওয়া গেছে কি না। |
| অনির্ধারিত — হলুদ | লাইভ পরীক্ষা নিয়মের ভিত্তিতে সিদ্ধান্ত দিতে পারছে না। | উৎসের প্রতিক্রিয়া বা সংগ্রহের সতর্কতা। |
লাইভ পরীক্ষায় প্রথমে robots.txt-এর URL ও HTTP অবস্থা দেখুন। এই পরীক্ষক 404, 403 এবং 429 ছাড়া অন্য 4xx প্রতিক্রিয়াকে প্রকাশিত কোনো সীমাবদ্ধতা নেই হিসেবে বিবেচনা করে। অনুরোধের সীমা, সার্ভারের ব্যর্থতা বা অমীমাংসিত রিডাইরেক্ট সিদ্ধান্ত অনির্ধারিত রাখে; সময়সীমা পেরিয়ে গেলে ফলাফলের বদলে ত্রুটি দেখাতে পারে। এগুলো স্পষ্ট Disallow প্রমাণ করে না। প্রকৃত ক্রলার ক্যাশে থাকা ফাইল ব্যবহার করতে পারে বা ব্যর্থতা ভিন্নভাবে সামলাতে পারে; Google নিজের প্রতিক্রিয়ার নিয়ম নথিভুক্ত করেছে।
অপ্রত্যাশিত ডিফল্ট ফলাফলে ভরসা করার আগে পার্সিংয়ের সতর্কতা দেখুন। ভুল বানানের নির্দেশনা বা কোলন না থাকলে কাঙ্ক্ষিত নিয়ম অব্যবহৃত থাকতে পারে। Screpy সর্বোচ্চ প্রথম 500 KiB প্রক্রিয়া করে এবং কনটেন্ট কাটা হলে জানায়। কনটেন্ট কাটা থাকলে সিদ্ধান্তটি প্রক্রিয়া করা অংশের জন্য; পরের নিয়মগুলো যাচাই করা হয়নি।
কোন robots.txt নিয়ম কার্যকর হয় বুঝুন
নির্দিষ্ট ক্রলারের গ্রুপ User-agent: *-এর চেয়ে অগ্রাধিকার পায়; দুই গ্রুপের নিয়ম একসঙ্গে উত্তরাধিকারসূত্রে প্রয়োগ হয় না। প্রযোজ্য গ্রুপের মধ্যে সবচেয়ে দীর্ঘ মিলে যাওয়া পাথের নিয়ম কার্যকর হয়। সমান নির্দিষ্টতার Allow ও Disallow মিলে গেলে Allow কার্যকর হয়। একই নির্দিষ্ট এজেন্টের মিলে যাওয়া গ্রুপগুলো একত্রিত হতে পারে, তাই পুনরাবৃত্ত গ্রুপও দেখুন। এসব নীতি রোবট এক্সক্লুশন প্রোটোকলে বর্ণিত আছে।
এই উদাহরণ নীতি পেস্ট করে নিচের পরীক্ষাগুলো তুলনা করুন:
User-agent: *
Disallow: /private/
Allow: /private/help/
User-agent: Googlebot
Disallow: /preview/
| ক্রলার | পরীক্ষিত পাথ | প্রত্যাশিত ফলাফল | কারণ |
|---|---|---|---|
| Bingbot | /private/report |
ব্লক করা হয়েছে | গ্লোবাল /private/ নিয়ম মিলে যায়। |
| Bingbot | /private/help/guide |
অনুমোদিত | দীর্ঘতর /private/help/ ব্যতিক্রম কার্যকর হয়। |
| Googlebot | /private/report |
ডিফল্টভাবে অনুমোদিত | তার নির্দিষ্ট গ্রুপে মিলে যাওয়া নিয়ম নেই; গ্লোবাল ব্লক উত্তরাধিকারসূত্রে প্রয়োগ হয় না। |
| Googlebot | /preview/page |
ব্লক করা হয়েছে | তার নির্দিষ্ট /preview/ নিয়ম মিলে যায়। |
উদাহরণটি নিয়মের মিল দেখায়, নিরাপদ ব্যক্তিগত এলাকা নয়। পাথে বড় ও ছোট হাতের অক্ষর আলাদা: /Private/ এবং /private/ এক নয়। পাথের প্যাটার্নে * অক্ষরের ক্রমের সঙ্গে মেলে এবং $ শেষ চিহ্নিত করে। যেমন Disallow: /*.pdf$ মেলে /guide.pdf-এর সঙ্গে, কিন্তু /guide.pdf?download=1-এর সঙ্গে নয়। কাছাকাছি সংস্করণেও একই ফল হবে ধরে না নিয়ে ব্যবহৃত সঠিক URL পরীক্ষা করুন।
সার্চ ও AI ক্রলার আলাদাভাবে পরীক্ষা করুন
নির্বাচিত পণ্য টোকেন প্রযোজ্য নিয়ম বদলে দেয়। সার্চ ইঞ্জিনের ক্রলিং নিয়ে চিন্তা থাকলে Googlebot ও Bingbot আলাদা পরীক্ষা করুন। AI এজেন্টের ক্ষেত্রে এক নিয়ম সবকিছু নিয়ন্ত্রণ করে ধরে না নিয়ে সার্চ, মডেল প্রশিক্ষণ এবং ব্যবহারকারীর অনুরোধে সংগ্রহ আলাদা করুন।
যেমন OAI-SearchBot ChatGPT সার্চে ব্যবহৃত হয়, আর GPTBot মডেল প্রশিক্ষণে ব্যবহার হতে পারে এমন কনটেন্ট ক্রল করে। ChatGPT-User ব্যবহারকারীর শুরু করা কিছু কাজ পরিচালনা করে এবং OpenAI-এর ক্রলার নথি অনুযায়ী robots.txt নিয়ম এসব অনুরোধে প্রযোজ্য নাও হতে পারে।
প্রিসেট নির্বাচন করলে ওই টোকেনকে ফাইলের নিয়মের সঙ্গে মূল্যায়ন করা হয়। লাইভ পরীক্ষা নির্বাচিত বটের পরিচয় ধারণ করে না, তার অনুরোধের পরিচয় যাচাই করে না বা সে প্রদর্শিত নীতি মেনে চলে তা প্রমাণ করে না। ব্যবহারকারী-চালিত টোকেনের ব্লক ফলাফল একটি নিয়মের ব্যাখ্যা; অনুরোধ বন্ধ হবে তার নিশ্চয়তা নয়।
নিয়ম ঠিক করে লাইভ ফাইল আবার পরীক্ষা করুন
প্রাসঙ্গিক নিয়মে যতটুকু দরকার ততটুকু পরিবর্তন করুন, তারপর কাঙ্ক্ষিত বাধা ও যে ব্যতিক্রম রাখতে চান দুটোই পরীক্ষা করুন।
- বর্তমান ফাইল পেস্ট মোডে কপি করুন এবং একই URL ও ক্রলার দিয়ে অপ্রত্যাশিত ফল পুনরায় তৈরি করুন।
- মিলে যাওয়া নির্দেশনা বা গ্রুপ ঠিক করুন। প্রভাবিত পাথ ও কাছাকাছি একটি URL পরীক্ষা করুন, যেটি অনুমোদিত বা ব্লক অবস্থায় থাকা উচিত।
- প্রাসঙ্গিক প্রতিটি ক্রলারের জন্য পুনরাবৃত্তি করুন। সফল Googlebot পরীক্ষা Bingbot বা GPTBot-এর ফল নির্ধারণ করে না।
- নিজের ওয়েবসাইটে ফাইল প্রকাশের পর লাইভ মোডে ফিরে পরীক্ষাগুলো আবার করুন। পাওয়া ফাইল ও মিলে যাওয়া লাইনে পরিবর্তন দেখা যাচ্ছে নিশ্চিত করুন। টুলের নতুন প্রতিক্রিয়া কোনো প্রকৃত ক্রলার তার ক্যাশের কপি হালনাগাদ করেছে তা প্রমাণ করে না।
উদ্দেশ্য সার্চ থেকে সরানো হলে শুধু Disallow যথেষ্ট নয়। Google-কে পৃষ্ঠা ক্রল করতে দিতে হবে, যাতে সে noindex নির্দেশনা পড়তে পারে। গোপনীয় কনটেন্ট পরিচয় যাচাইয়ের মাধ্যমে সুরক্ষিত রাখুন, robots.txt দিয়ে নয়। Google ক্রল ব্লক করার সীমা ব্যাখ্যা করেছে। পেজের HTML ও HTTP নির্দেশ, তাদের উৎস এবং Google ওয়েব অনুসন্ধানে প্রযোজ্যতা দেখতে Noindex পরীক্ষক ব্যবহার করুন।
রিপোর্টে Sitemap: ঘোষণাও থাকে; ঠিকানা পাওয়া তার XML যাচাই করে না বা ইনডেক্সিং প্রমাণ করে না। আলাদা পরীক্ষার জন্য সাইটম্যাপ পরীক্ষকে খুলুন। ক্রলারের অ্যাক্সেস ঠিক থাকলেও পৃষ্ঠা আরও বিশ্লেষণ করা দরকার হলে তার পৃষ্ঠাভিত্তিক SEO সংকেত দেখতে অন-পেজ SEO পরীক্ষক ব্যবহার করুন। AI ক্রলারের নিয়ম তুলনা করতে AI বট অ্যাক্সেস পরীক্ষক ব্যবহার করুন। এটি শুধু robots.txt পরীক্ষা করে; বাস্তব বট প্রবেশ, ইনডেক্সিং বা উদ্ধৃতি নিশ্চিত করে না।