Robots.txt জেনারেটর

ক্রলারের নিয়ম ও সাইটম্যাপ URL দিয়ে robots.txt ফাইল তৈরি করুন। ফলাফল যাচাই করে আপনার সাইটের জন্য কপি বা ডাউনলোড করুন।

শুরুতে সব ক্রলারকে অনুমতি দেওয়া থাকে। সর্বোচ্চ ১০টি স্বতন্ত্র বট গ্রুপ, মোট ৫০টি নিয়ম ও ১০টি সাইটম্যাপ URL যোগ করুন।

গ্রুপ ১

Screpy-এর বিনামূল্যের robots.txt জেনারেটর আপনার দেওয়া ক্রলার গ্রুপ, Allow ও Disallow নিয়ম এবং সাইটম্যাপ URL থেকে একটি সাধারণ টেক্সট ফাইল তৈরি করে। নতুন ফাইল প্রস্তুত করতে বা আগে ঠিক করা নিয়ম আবার সাজাতে এটি ব্যবহার করুন। ফলাফল কপি করুন অথবা robots.txt ডাউনলোড করে নিজের ওয়েবসাইটে প্রকাশ করুন।

জেনারেটর আপনার বর্তমান ফাইল পড়ে না, প্রকাশিত URL পরীক্ষা করে না এবং কোনো পরিবর্তন ইনস্টল করে না। কার্যকর কোনো কনফিগারেশন বদলানোর আগে তার কপি রাখুন এবং প্রতিটি ক্রলার কোন পথ অনুরোধ করতে পারবে তা ঠিক করুন। ফাইলের সিনট্যাক্স সঠিক হলেও সেটি আপনার সাইটের জন্য ভুল নিয়ম প্রকাশ করতে পারে।

Robots.txt জেনারেটর ব্যবহার করার নিয়ম

সাধারণ নিয়মের জন্য * ক্রলার গ্রুপ দিয়ে শুরু করুন। নিয়ম যোগ করুন, Allow বা Disallow বেছে নিন এবং / দিয়ে শুরু হওয়া পথ লিখুন। যেমন, পথের ঘরে https://example.com/drafts/ না লিখে /drafts/ লিখুন। নির্দিষ্ট কোনো ক্রলারের আলাদা নিয়ম দরকার হলেই নতুন গ্রুপ যোগ করুন।

আপনি সর্বোচ্চ ১০টি স্বতন্ত্র ক্রলার গ্রুপ, সব গ্রুপ মিলিয়ে ৫০টি নির্দিষ্ট নিয়ম এবং ১০টি সাইটম্যাপ URL দিতে পারেন। ব্রাউজারের সম্পূর্ণ User-Agent লেখার বদলে Googlebot-এর মতো ক্রলারের পরিচয়সূচক নাম ব্যবহার করুন। শুধু বড় ও ছোট হাতের অক্ষরের পার্থক্য থাকলে এই টুলে সেগুলো আলাদা গ্রুপ হিসেবে গণ্য হয় না।

প্রতিটি পূর্ণ HTTP বা HTTPS সাইটম্যাপ ঠিকানা আলাদা লাইনে লিখুন। দেওয়ার মতো ঠিকানা না থাকলে ঘরটি ফাঁকা রাখুন। ফাইল তৈরি করে সতর্কতাগুলো দেখুন, তারপর ফলাফল কপি বা ডাউনলোড করুন। নির্দিষ্ট নিয়ম না থাকা গ্রুপে Allow: / তৈরি হয়। তাই ফাইলে এই ডিফল্ট লাইন থাকলেও যোগ করা নিয়মের সংখ্যা শূন্য হতে পারে। এগুলো জেনারেটরের সীমা, robots.txt প্রোটোকলের সীমা নয়।

অনুমোদিত ব্যতিক্রমসহ robots.txt উদাহরণ

এই কাল্পনিক কনফিগারেশনে খসড়ার ফোল্ডার ক্রল করা সীমিত, কিন্তু তার প্রকাশ্য সাবফোল্ডারে প্রবেশের অনুমতি আছে। এটি নিজের প্রয়োজনে বদলে নেওয়ার উদাহরণ, সব সাইটে ব্যবহার করার সুপারিশ নয়।

User-agent: *
Disallow: /drafts/
Allow: /drafts/public/

Sitemap: https://example.com/sitemap.xml

এই গ্রুপ ব্যবহার করা ক্রলারের জন্য নিয়ম অনুযায়ী প্রত্যাশিত সিদ্ধান্ত:

URL-এর পথ ক্রলের সিদ্ধান্ত কারণ
/products/blue-mug/ অনুমোদিত কোনো নিষেধাজ্ঞা মেলে না।
/drafts/new-page/ নিষিদ্ধ নিষিদ্ধ ফোল্ডারের সঙ্গে মেলে।
/drafts/public/style-guide/ অনুমোদিত দীর্ঘতর Allow পথটি ব্যতিক্রম তৈরি করে।
/drafts অনুমোদিত /drafts/-এর শেষের স্ল্যাশটি নেই।

আপনার অ্যাপ্লিকেশন ফোল্ডারের দুই ধরনের ঠিকানাই দেখালে শেষ সারিটি গুরুত্বপূর্ণ। সাইটে সত্যিই থাকা URL পরীক্ষা করুন, শেষের স্ল্যাশ ও কোয়েরির ভিন্নতাসহ। নিয়মের সিদ্ধান্ত ফাইল অনুযায়ী অনুমতি বোঝায়; HTTP-তে পেজ পাওয়া যাবে বা ইনডেক্স হবে, তা প্রমাণ করে না। Sitemap লাইন একটি ফাইলের ঠিকানা দেয়, Disallow নিয়ম বাতিল করে না।

ওয়াইল্ডকার্ড দিয়ে সঠিক পথ মিলিয়ে নিন

একটি নিয়ম এমন URL দিয়ে পরীক্ষা করুন যেটি মেলার কথা, এবং কাছাকাছি এমন URL দিয়েও পরীক্ষা করুন যেটি ক্রলযোগ্য রাখতে চান। পথে বড় ও ছোট হাতের অক্ষর আলাদা: /Catalog/ ও /catalog/ এক নয়। স্ল্যাশ বাদ পড়লে বা খুব বিস্তৃত উপসর্গ দিলে অন্য পেজও প্রভাবিত হতে পারে।

প্যাটার্ন ব্যবহারের আগে যা পরীক্ষা করবেন
/catalog এটি শুরুর অংশ মেলায়; /catalogue/-ও মিলে যায়।
/catalog/ ওই ফোল্ডারের ভেতরের পথে মেলে, শুধু /catalog-এ মেলে না।
/catalog$ নির্দিষ্ট সমাপ্তি মেলায়; /catalog/ বা /catalog?sort=price মেলে না।
/*.pdf$ ছোট হাতের .pdf দিয়ে শেষ হওয়া URL মেলায়; এক্সটেনশনের পর কোয়েরি থাকলে সমাপ্তি বদলে যায়।

Robots Exclusion Protocol-এ * অক্ষরের ধারা এবং $ মিলের শেষ বোঝায়। সরাসরি লেখা # মন্তব্য শুরু করে। URL-এর অংশ হিসেবে হ্যাশ বা স্পেস থাকলে পথে সরাসরি না লিখে এনকোড করুন। প্যাটার্ন এতটাই নির্দিষ্ট রাখুন যাতে তার প্রভাব বোঝানো ও যাচাই করা যায়। ফর্ম আপনার প্যাটার্ন ধরে রাখে; সেটি কোন কোন URL-কে প্রভাবিত করতে পারে, তার সম্পূর্ণ হিসাব করে না।

প্রতিটি ক্রলারকে সম্পূর্ণ নিয়মের গ্রুপ দিন

সাধারণ গ্রুপের নিষেধাজ্ঞা Googlebot-এর নিজস্ব গ্রুপে স্বয়ংক্রিয়ভাবে যোগ হয় না। যেমন:

User-agent: *
Disallow: /drafts/

User-agent: Googlebot
Disallow: /previews/

এখানে Googlebot-এর গ্রুপ /previews/ সীমিত করে, /drafts/ নয়। Googlebot-এর জন্য দুই ফোল্ডারই সীমিত করতে চাইলে তার গ্রুপে দুই নিয়মই যোগ করুন। Google-এর robots.txt নির্দেশনা গ্রুপ নির্বাচন ও মিল নির্ধারণের আচরণ ব্যাখ্যা করে। একই নির্দিষ্টতার বিরোধী Allow ও Disallow নিয়মে Google Allow বেছে নেয়। একই নিয়ম ফাইলের নিচে সরিয়ে দিলে সেটি অগ্রাধিকার পায় না।

কোন পার্থক্য চান তা জানা থাকলেই বটের নিজস্ব গ্রুপ যোগ করুন। সার্চ, প্রশিক্ষণ এবং ব্যবহারকারীর অনুরোধে তথ্য আনা বটের পরিচয় আলাদা হতে পারে। একটি গ্রুপ দিয়ে কোনো সেবার সব কাজ নিয়ন্ত্রণ করা যায় ধরে না নিয়ে, সমর্থিত বটের নিয়ম AI Bot Access Tester দিয়ে দেখুন।

কপি করার আগে জেনারেটরের সতর্কতা পড়ুন

রিপোর্ট তিনটি পরিস্থিতি দেখায় যেখানে ভেবেচিন্তে সিদ্ধান্ত নেওয়া দরকার। সতর্কতা মানে নিয়ম পর্যালোচনা করতে হবে; ফাইলটি ব্যবহার করা যাবে না, তার প্রমাণ নয়।

সতর্কতা যা পর্যালোচনা করবেন
পুরো সাইটের জন্য Disallow কোনো গ্রুপে Disallow: / আছে। বিস্তৃত নিষেধাজ্ঞা ইচ্ছাকৃত কি না এবং আরও নির্দিষ্ট Allow ব্যতিক্রম আছে কি না দেখুন।
নির্দিষ্ট ক্রলারের গ্রুপ সাধারণ গ্রুপে নিয়ম আছে, আবার অন্য ক্রলারের নিজস্ব গ্রুপও আছে। সেই গ্রুপে প্রয়োজনীয় নিষেধাজ্ঞা আছে কি না পরীক্ষা করুন।
একই পথে Allow ও Disallow একই গ্রুপে দুই নির্দেশনা একই পথ ব্যবহার করে। অনিচ্ছাকৃত দ্বন্দ্ব সরান; সমান নির্দিষ্টতায় Google Allow পছন্দ করে।

সতর্কতা না থাকা ফলাফল বাস্তব ক্রলের অডিট নয়। এই পরীক্ষা কোনো রিসোর্স পেজ রেন্ডারের জন্য দরকার কি না, সাইটম্যাপ খোলা যায় কি না বা সব প্যাটার্ন কাঙ্ক্ষিত পেজে মেলে কি না নির্ধারণ করে না। পেজের দরকারি স্টাইলশিট, স্ক্রিপ্ট ও ছবি ক্রলযোগ্য রাখুন। সাধারণ কোনো টেমপ্লেটে আছে বলেই পুরো রিসোর্স ফোল্ডার ব্লক করবেন না।

Robots.txt প্রকাশ করে বাস্তব রেসপন্স পরীক্ষা করুন

বদলানোর আগে বর্তমান ফাইল সংরক্ষণ করুন। তৈরি করা টেক্সট UTF-8 সাধারণ টেক্সট রিসোর্স হিসেবে ঠিক robots.txt নামে প্রকাশ করুন; বাড়তি .txt এক্সটেনশন দেবেন না। HTTPS-এ www.example.com সাইটের জন্য https://www.example.com/robots.txt পরীক্ষা করুন। /blog/robots.txt পুরো হোস্টের নিয়ম নির্ধারণ করে না। প্রোটোকল, হোস্ট ও পোর্ট গুরুত্বপূর্ণ।

WordPress, অন্য CMS বা হোস্ট করা সাইট-বিল্ডারে আগে দেখুন এই URL কীভাবে পরিবেশিত হচ্ছে: সরাসরি ফাইল, প্লাগইনের তৈরি রেসপন্স নাকি প্ল্যাটফর্মের সেটিং। সেই উৎস বদলান। অন্য কোথাও দ্বিতীয় ফাইল রাখলে প্রকাশিত রেসপন্স বদলাবেই এমন নয়। Screpy CMS-ভিত্তিক টেমপ্লেট দেয় না এবং আপনার হয়ে ফাইল প্রকাশ করে না।

প্রকাশের পরে:

  1. লগইন না করে robots.txt-এর সঠিক ঠিকানা খুলুন। লগইন স্ক্রিন বা HTML পেজের বদলে কাঙ্ক্ষিত টেক্সট ফেরত আসছে কি না দেখুন।
  2. গুরুত্বপূর্ণ অনুমোদিত ও নিষিদ্ধ URL Robots.txt Tester দিয়ে পরীক্ষা করুন। ব্যতিক্রম ও পথের ভিন্ন বানানও রাখুন।
  3. অপ্রত্যাশিত রেসপন্স HTTP Headers Checker দিয়ে দেখুন এবং ঘোষিত সাইটম্যাপ আলাদাভাবে Sitemap Checker দিয়ে যাচাই করুন।

Google-এর ফাইল তৈরির নির্দেশিকা আপলোড ও প্রকাশ্য প্রবেশাধিকার যাচাই ব্যাখ্যা করে। ক্রলার প্রকাশিত ফাইল আবিষ্কার করে; এখান থেকে ডাউনলোড করা জমা দেওয়া নয়। ক্যাশে রাখা কপির কারণে পরিবর্তন সঙ্গে সঙ্গে দেখা নাও যেতে পারে।

ইনডেক্সিং বা ব্যক্তিগত পেজের জন্য সঠিক ব্যবস্থা বেছে নিন

ক্রলের নিষেধাজ্ঞা জানাতে robots.txt ব্যবহার করুন। অন্যথায় প্রকাশ্য একটি পেজ Google সার্চের বাইরে রাখতে চাইলে, Google-এর noindex নির্দেশনা পেজের meta ট্যাগ বা HTTP রেসপন্স হেডার ব্যবহারের কথা বলে। নির্দেশনা পড়তে Google-এর পেজে প্রবেশ করতে পারা দরকার। একই URL robots.txt দিয়ে বন্ধ করলে তা বাধাগ্রস্ত হতে পারে। Robots.txt-এ Noindex: লাইন Google সমর্থন করে না।

সমাধান বাছার আগে বর্তমান নির্দেশনা Noindex Checker দিয়ে দেখুন। গোপন নথি বা ব্যক্তিগত পরীক্ষামূলক সাইটের জন্য পরিচয় যাচাই ও উপযুক্ত প্রবেশাধিকার নিয়ন্ত্রণ ব্যবহার করুন। প্রকাশ্য robots.txt ফাইল বা noindex নির্দেশনা কোনোটিই মূল কনটেন্টে প্রবেশ সুরক্ষিত করে না। আরও নিয়ম তৈরি করা সঠিক ব্যবস্থা বেছে নেওয়ার বিকল্প নয়।

Robots.txt তৈরি সম্পর্কে প্রশ্ন

ক্রলারের নিয়ম ও সাইটম্যাপ URL দিয়ে robots.txt ফাইল তৈরি করুন। ফলাফল যাচাই করে আপনার সাইটের জন্য কপি বা ডাউনলোড করুন।

সাইটম্যাপ বা crawl-delay যোগ করা যাবে?

সর্বোচ্চ ১০টি পূর্ণ সাইটম্যাপ URL যোগ করা যায়। এগুলো খোলা বা জমা দেওয়া হয় না। Google সমর্থন করে না বলে crawl-delay রাখা হয়নি।

এই টুল কি আমার সাইটের robots.txt বদলে দেয়?

না। আপনার দেওয়া তথ্য থেকে ফাইল তৈরি করে। আপনাকেই তা যাচাই করে নির্দিষ্ট হোস্টের /robots.txt ঠিকানায় প্রকাশ করতে হবে।

Disallow কি Google-কে URL ইনডেক্স করা থেকে আটকায়?

সব সময় নয়। Disallow ক্রল নিয়ন্ত্রণ করে, সার্চ থেকে সরানোর নিশ্চয়তা দেয় না। পেজের noindex নির্দেশনা পড়তেও ক্রলারের প্রবেশাধিকার দরকার।

সবকিছু ক্রল করতে দিতে চাইলে নিষেধাজ্ঞা যোগ করা দরকার?

না। এই জেনারেটরে নির্দিষ্ট নিয়ম না থাকা গ্রুপ Allow: / তৈরি করে। শুধু ফর্ম পূরণ করতে নিষেধাজ্ঞা যোগ করবেন না। ক্রলের অনুমতি থাকলেই সার্চ ইঞ্জিন পেজ দেখবে বা ইনডেক্স করবে, এমন নিশ্চয়তা নেই।

নির্দিষ্ট বট কি সাধারণ গ্রুপের নিয়ম পায়?

না। নির্দিষ্ট বটের গ্রুপে প্রয়োজনীয় নিয়ম লিখুন। সাধারণ নিয়ম ও নির্দিষ্ট গ্রুপ নিয়ে ভুল বোঝাবুঝি হতে পারে এমন ক্ষেত্রে জেনারেটর সতর্ক করে।

Robots.txt দিয়ে সব ক্রলার কীভাবে বন্ধ করব?

* গ্রুপে / পথের জন্য Disallow যোগ করুন। এতে বিস্তৃত ক্রল নিষেধাজ্ঞা চাওয়া হয়; প্রযোজ্য নির্দিষ্ট গ্রুপ ও আরও নির্দিষ্ট Allow ব্যতিক্রম কার্যকর থাকে। এটি সাইটের নিরাপত্তা দেয় না বা সার্চ থেকে সরে যাওয়া নিশ্চিত করে না।

সতর্কতা না থাকলে কি ফাইল নিশ্চিন্তে প্রকাশ করা যাবে?

তা নিশ্চিত নয়। জেনারেটর কিছু নির্দিষ্ট নিয়মের সমন্বয় চিহ্নিত করে; আপনার সাইটে যায় না বা প্রভাবিত সব URL পরীক্ষা করে না। কাঙ্ক্ষিত নিয়ম যাচাই করুন, পুরোনো ফাইল রাখুন এবং প্রকাশের পরে প্রতিনিধিত্বমূলক URL পরীক্ষা করুন।

WordPress বা অন্য CMS-এর জন্য এই জেনারেটর ব্যবহার করা যাবে?

হ্যাঁ, প্ল্যাটফর্মে robots.txt রেসপন্স পরিচালনার সুযোগ থাকলে। /robots.txt একটি ফাইল, প্লাগইন নাকি প্ল্যাটফর্ম সেটিং থেকে আসে তা নির্ধারণ করে সেই উৎস বদলান। জেনারেটর ফাইল ইনস্টল করে না বা CMS-ভিত্তিক টেমপ্লেট দেয় না।