ফলাফলের সঙ্গে মিলে এমন কন্ট্রোলটি বেছে নিন
ক্রলিং হচ্ছে একটি URL-এ স্বয়ংক্রিয়ভাবে অনুরোধ করে কনটেন্ট পুনরুদ্ধার করা। ইনডেক্সিং হচ্ছে সার্চ ইঞ্জিন ঐ কনটেন্ট সংরক্ষণ ও প্রদর্শন করবেন কি না তা নির্ধারণ করা। অ্যাক্সেস কন্ট্রোল নির্ধারণ করে কে কনটেন্ট পেতে পারে। Robots.txt ক্রলার-অ্যাক্সেস সম্পর্কিত এবং সম্মত ক্রলাররা এটি মেনে চলার সিদ্ধান্ত নিয়েছে। IETF Robots Exclusion Protocol স্পষ্টভাবে বলেছে এটি অনুমোদন (authorization) নয়।
একটি `Disallow` নিয়ম ব্যবহার করে পাবলিক, কম-মূল্যের পাথ যেমন নিয়ন্ত্রিত অন-সাইট সার্চ রুটকে ক্রলারদের থেকে রাখতে পারেন। প্রকাশ্য কনটেন্ট যা ইনডেক্স হওয়া উচিত না, তার জন্য `noindex` ব্যবহার করুন। প্রিভিউ, অ্যাকাউন্ট এরিয়া, এক্সপোর্ট বা সংবেদনশীল ডেটার জন্য বাস্তব সার্ভার/অ্যাপ্লিকেশন অ্যাক্সেস কন্ট্রোল চাই। গ্রাহক, কর্মচারী, পেমেন্ট বা নিয়ন্ত্রিত তথ্যের জন্য যোগ্য সিকিউরিটি ও প্ল্যাটফর্ম রিভিউ নিন; robots.txt কখনই একটি ক্ষতিপূরণমূলক নিয়ন্ত্রণ হওয়ার উপযুক্ত উপায় নয়।
Robots.txt সম্মত ক্রলারদের নির্দিষ্ট পাবলিক পাথ এড়িয়ে চলার অনুরোধ করতে পারে; এটি ফলাফল থেকে সরানোর নিশ্চয়তা দেয় না।
HTML-এ `noindex` মেটা ট্যাগ বা `X-Robots-Tag` হেডার ব্যবহার করুন, এবং নির্দেশটি ক্রলার দেখতে পাবে এমনভাবে রেস্পন্স ক্রলেবল রাখুন।
অথেন্টিকেশন বা উপযুক্ত অ্যাপ/সার্ভার কন্ট্রোল লাগান, তারপর URL-টি পাবলিক আবিষ্কার পথ থেকে সরিয়ে দিন।
কোর সিনট্যাক্স এবং স্কোপ সুনির্দিষ্টভাবে ব্যবহার করুন
প্রতিটি scheme, host, এবং port-এর জন্য দরকারি রুলগুলোর জন্য /robots.txt-এ UTF-8 প্লেইন-টেক্সট প্রকাশ করুন। https://www.example.com/robots.txt ফাইলটি স্বয়ংক্রিয়ভাবে https://example.com, কোনো সাবডোমেইন, বা HTTP অরিজিনকে নিয়ন্ত্রণ করে না। কোনো নিয়ম প্রযোজ্য ধরে নেওয়ার আগে canonical URL, redirect, CDN, এবং অ্যাপ্লিকেশন দ্বারা কোন origin প্রদান করা হচ্ছে তা যাচাই করুন।
একটি গ্রুপ `User-agent` দিয়ে শুরু হয় এবং তার পরে `Allow` বা `Disallow` পথ ব্যবহার করা হয়। `User-agent: *` হলো সাধারণ গ্রুপ। মিল (matching) কেস-সংবেদনশীল এবং পাথে শুরু থেকেই করা হয়। সবচেয়ে নির্দিষ্ট মিল করা নিয়মটি জেতে; সমানভাবে নির্দিষ্ট একটি `Allow` সাধারণত `Disallow`-এর উপরে জাতে। `Disallow:` কোনো কিছু ব্লক করে না, যেখানে `Disallow: /` পুরো অরিজিন ব্লক করে। স্ট্যান্ডার্ডে `#` মন্তব্যের জন্য, `*` ওয়াইল্ডকার্ড এবং `$` প্যাটার্নের শেষ নির্দেশ করে।
যদি কোনো ডকুমেন্টেড ক্রল-ম্যানেজমেন্ট প্রয়োজন না থাকে, তাহলে কোনো এক্সক্লুউশন যোগ করবেন না; অনুমানভিত্তিক ব্লক করবেন না।
একটি স্থিতিশীল, সংকীর্ণ প্রিফিক্স পছন্দ করুন যেমন `/search/` বনাম ঢিলা ওয়াইল্ডকার্ড বা অকথিত ফাইলনেম নিয়ম।
নিয়মের উদ্দেশ্য, মালিক এবং পরিবর্তন রেফারেন্স রেকর্ড করুন, তবে মন্তব্যকে রিভিউয়ের বিকল্প হিসেবে নেবেন না।
শুধুমাত্র URL প্রমাণ সমর্থিত প্যাটার্ন ব্লক করুন
নিয়ম লেখার আগে গুরুত্বপূর্ণ পেজ, অনিচ্ছিত ক্রল পাথ, কুয়েরি ভ্যারিয়েন্ট, অন-সাইট সার্চ, প্রিভিউ রুট, অ্যাসেট এবং সাইটম্যাপ URL ইনভেন্টরি করুন। প্রতিটি নমুনা URL-এর জন্য প্রত্যাশিত ফলাফল এবং মেলে এমন নিয়ম রেকর্ড করুন। তালিকাটি canonical URL এবং লাইভ ন্যাভিগেশনের সঙ্গে তুলনা করুন যাতে কোনো ব্লক উপযোগী রুট লুকায় না।
ব্রাউজারের জন্য গুরুত্বপূর্ণ রিসোর্সগুলো তখনই ব্লক করুন যদি পরীক্ষায় দেখা যায় তা প্রয়োজন। Google সতর্ক করে যে CSS, JavaScript, ইমেজ বা অন্যান্য রিসোর্স ব্লক করলে একটি পেজ বিশ্লেষণ কঠিন হতে পারে। Robots.txt নকল-কনটেন্ট নির্বাচন, অনুমোদন বা পেজ কোয়ালিটি সমস্যা সমাধান করে না; প্রয়োজনে canonicalization, redirect, অ্যাক্সেস কন্ট্রোল বা কনটেন্ট কাজ ব্যবহার করুন।
অন্য সাইট থেকে কপি করা জেনেরিক তালিকার বদলে বাস্তব URL স্যাম্পল ও সার্ভার/ক্রল প্রমাণ ব্যবহার করুন।
প্রতিটি নমুনা URL, প্রত্যাশিত ফলাফল, মিলে যাওয়া নিয়ম এবং দায়িত্বশীল মালিক রিলিজ রেকর্ডে রাখুন।
সাইটম্যাপ আবিষ্কার, noindex এবং গোপনীয়তা সিদ্ধান্তগুলো সামঞ্জস্য রাখুন
একটি সাইটম্যাপ সার্চ ইঞ্জিনকে আপনি কোন URL ও ফাইলগুলো গুরুত্বপূর্ণ মনে করেন তা বলে; এটি আবিষ্কারে সহায়তা করে কিন্তু ক্রলিং বা ইনডেক্সিং নিশ্চিত করে না। শক্তিশালী অভ্যন্তরীণ লিঙ্ক এখনও গুরুত্বপূর্ণ। আপনি robots.txt-এ পূর্ণ যোগ্য সাইটম্যাপ URL যোগ করতে পারেন, তবে ব্যক্তিগত, রিডাইরেক্ট করা, robots-অবরুদ্ধ, বা ইচ্ছাকৃতভাবে noindex করা URL সেখানে তালিকাভুক্ত করবেন না। রিলিজে সাইটম্যাপ আউটপুটকে robots নিয়মগুলোর সঙ্গে reconcile করুন।
`noindex` Google-র robots.txt নির্দেশিকা নয়। Google এটি HTML meta ট্যাগে বা `X-Robots-Tag` HTTP রেসপন্স হেডারে সমর্থন করে, এবং এটি দেখতে ক্রলারকে রেসপন্স ক্রল করতে হবে। যদি কোনো প্রকাশ্য পেজ Google ফলাফল থেকে সরাতে হয়, তাহলে এমন কোনো robots ব্লক সরান যা `noindex` লুকায়। যদি কনটেন্ট নন-পাবলিক হয়, তার পথ robots.txt-এ প্রচার করবেন না; অ্যাক্সেস কন্ট্রোল প্রয়োগ করুন। সংবেদনশীল-ডেটার সীমানার জন্য যোগ্য পর্যালোচনা প্রয়োজন।
একটি পূর্ণ URL ব্যবহার করুন, উদাহরণ: `Sitemap: https://www.example.com/sitemap.xml`; এটি ক্রল ব্লক অতিক্রম করে না।
HTML-এ meta `noindex` বা উপযুক্ত হলে `X-Robots-Tag: noindex` রেসপন্স হেডার ব্যবহার করুন, তারপর লাইভ রেসপন্স পরীক্ষা করুন।
কনটেন্ট সংবেদনশীল হলে প্রথমে অ্যাক্সেস সীমিত করুন, তারপর প্রয়োজনে সার্চ ইঞ্জিনের রিমুভাল প্রক্রিয়া ব্যবহার করুন।
একটি গুরুত্বপূর্ণ কনফিগারেশন ফাইলের মতো পরীক্ষা ও প্রকাশ করুন
অনুমোদিত টেক্সট লোকালি ভ্যালিডেট করুন, তারপর উদ্দেশ্যভিত্তিক ক্রলার গ্রুপের জন্য অনুমোদিত ও অবরুদ্ধ উদাহরণ পরীক্ষা করুন। ডিপ্লয়মেন্টের পরে পাবলিক `/robots.txt` ব্যক্তিগতভাবে বা সরাসরি HTTP অনুরোধ করে পুনরুদ্ধার করে কনটেন্ট, অরিজিন এবং রেসপন্স স্ট্যাটাস নিশ্চিত করুন। Google Search Console robots.txt রিপোর্টে অ্যাক্সেসিবল ফাইলের জন্য তথ্য আছে এবং লোকাল টেস্টিংয়ের জন্য ওপেন-সোর্স পার্সার লাইব্রেরি রয়েছে।
ক্রলাররা robots ফাইল ক্যাশ করতে পারে, তাই তাত্ক্ষণিক আবিষ্কার বা ইনডেক্সিং পরিবর্তনের প্রতিশ্রুতি দেবেন না। সার্ভার বা নেটওয়ার্ক ত্রুটি ক্রলারকে সম্পূর্ণ `disallow` ধরে নেবার দিকে পরিচালিত করে, যেখানে কোনো 4xx এক্সিকিউশন অ্যাক্সেসকে অনুমতি দিতে পারে। ফাইলটি সোর্স-কন্ট্রোল কনফিগারেশনে রাখুন, পুরো-সাইট বা ওয়াইল্ডকার্ড পরিবর্তনের জন্য অতিরিক্ত রিভিউ করুন, এবং পূর্বের সংস্করণসংরক্ষণ করুন। SIU প্রিফ্লাইট এবং রোলব্যাক পরিকল্পনা একটি খারাপ রিলিজ বড় উপলব্ধতা বা আবিষ্কারযোগ্যতার সমস্যায় পরিণত হওয়ার আগে ধরতে সাহায্য করে।
অরিজিন মাইগ্রেশান, পুরো-সাইট ব্লক, ওয়াইল্ডকার্ড এবং সাইন-ইন, চেকআউট বা সাপোর্ট রুটকে প্রভাবিত করা পরিবর্তনের জন্য দ্বিতীয় রিভিউয়ার প্রয়োজন।
যখন কোনো গুরুত্বপূর্ণ নমুনা URL নতুনভাবে ব্লক হয়, কোনো প্রয়োজনীয় অ্যাসেট অ্যাক্সেসযোগ্য না থাকে, বা এন্ডপয়েন্ট অপ্রাপ্য হয়—তখন পূর্বের সংস্করণ পুনঃস্থাপন করুন।
একটি ক্রলার টেস্ট প্রমাণ করে না যে প্রতিটি স্বয়ংক্রিয় ক্লায়েন্ট প্রতিটি নিয়ম একইভাবে ব্যাখ্যা করবে।
