কেবলমাত্র সাবডোমেনকে নিষ্ক্রিয় করতে আমি কীভাবে রোবট.টিএসটিএস ব্যবহার করতে পারি?


10

আমার কোড বেস বিভিন্ন পরিবেশের (বাস, উপস্থাপনকারী, তাহলে dev) & সাব-ডোমেন (মধ্যে ভাগ করা আছে staging.example, dev.example, ইত্যাদি) এবং শুধুমাত্র দুটি ক্রল করার জন্য অনুমতি দেওয়া হবে (অর্থাৎ। www.exampleএবং example)। সাধারণত আমি সংশোধন করে /robots.txtসংযোজন করতাম Disallow: /, তবে ভাগ করা কোড বেসের কারণে আমি /robots.txtসমস্ত (উপ) ডোমেনকে প্রভাবিত না করে সংশোধন করতে পারি না ।

কোনও ধারণা কীভাবে এটি সম্পর্কে যেতে হবে?

উত্তর:


13

আপনি robots.txtসাবডোমেনের উপর ভিত্তি করে একটি ভিন্ন ফাইল পরিবেশন করতে পারেন যার মাধ্যমে সাইটটি অ্যাক্সেস করা হয়েছে। অ্যাপাচে এটি করার একটি উপায় হ'ল .htaccess এ Mod_rewrite ব্যবহার করে URL টি অভ্যন্তরীণভাবে পুনরায় লেখা। কিছুটা এইরকম:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$ [NC]
RewriteRule ^robots\.txt$ robots-disallow.txt [L]

উপরে রাজ্যের সমস্ত অনুরোধ যে robots.txtযেখানে হোস্ট অন্য চেয়ে কিছু www.example.comবা example.com, তারপর অভ্যন্তরীণভাবে করার অনুরোধ পুনর্লিখন robots-disallow.txt। এবং robots-disallow.txtতারপরে Disallow: /নির্দেশনাটি ধারণ করবে ।

আপনার .htaccess ফাইলে যদি অন্য নির্দেশাবলী থাকে তবে কোনও রাউটিং নির্দেশাবলীর আগে এই নির্দেশিকাটির শীর্ষটি আরও বেশি হওয়া দরকার।


আমি একই সমাধানের কথা ভাবছিলাম। আমি নিশ্চিত ছিলাম যে সেখানে অন্য কিছু আছে কিনা, তবে দিনের শেষে, যদি তা হয় তবে আমার কাজটি কী হবে)
আলেক্সাস

1
যদি সাবডোমেন / হোস্ট উভয়ই একই ওয়েবস্পেস / কোড বেসের দিকে ইঙ্গিত করে তবে রোবটস টেক্সট "মান" তে কিছুই নেই যা এটি নিয়ন্ত্রণ করতে পারে, যদি এটি আপনি পরামর্শ দিচ্ছেন তবে। বটটি কেবল অনুরোধ করতে চলেছে sub.example.com/robots.txt, তাই সাবডোমেনের উপর নির্ভর করে আপনাকে আলাদা প্রতিক্রিয়া জানাতে কিছু করতে হবে। আপনার মোড_উরাইট ব্যবহার করার দরকার নেই, তবে এটি এমন একটি কৌশল যা আমি বেশ কয়েকবার ব্যবহার করেছি। যদি robots.txtগতিশীলভাবে উত্পন্ন হয় তবে আপনি সার্ভার-সাইড কোডে (যেমন পিএইচপি) প্রতিক্রিয়া পরিবর্তন করতে পারেন।
মিঃ হোয়েট

ব্যবহারের বিকল্প হ'ল এই জাতীয় সাবডোমেনগুলি অ্যাক্সেস করা হলে এইচটিটিপি রেসপন্স শিরোনাম robots.txtপ্রেরণ করে ক্রলিংয়ের পরিবর্তে ইনডেক্সিং প্রতিরোধ করা হতে পারে X-Robots-Tag: noindex(এটি .htaccess এও করা যেতে পারে)। যদিও আমি মনে করি ক্রলিং প্রতিরোধ করা সম্ভবত পছন্দনীয়। (?)
মিঃ হোয়াইট

1

robots.txt এটি মূলে উপস্থিত থাকলেই কাজ করে।

আপনাকে robots.txtপ্রতিটি সাবডোমেন ওয়েবসাইটের জন্য পৃথক আপলোড করতে হবে, যেখানে এটি অ্যাক্সেস করা যেতে পারে http://subdomain.example.com/robots.txt

নীচে কোড যুক্ত করুন robots.txt

User-agent: *
Disallow: /

এবং আরেকটি উপায় হ'ল আপনি <META>সমস্ত পৃষ্ঠায় একটি রোবট ট্যাগ সন্নিবেশ করতে পারেন ।

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

3
তবে ওপি ইতিমধ্যে বলেছে: "সাধারণত আমি সংশোধন করে /robots.txtসংযোজন করতাম Disallow: /, তবে ভাগ করা কোড বেসের কারণে আমি /robots.txtসমস্ত (উপ) ডোমেনকে প্রভাবিত না করে সংশোধন করতে পারি না ।"
মিঃ হোয়েট

0

আমি এইচটিএমএল পৃষ্ঠা থেকে মেটা ট্যাগটি সরিয়ে ফেলব এবং আপনার সাবডোমেনের উপর নির্ভর করে এটি গতিশীলভাবে তৈরি করব। যেমন আমরা সাবডোমেন ডেভ ব্যবহার করি। উন্নয়নের জন্য। তাই পেজলোড ইভেন্টে আমাদের এটি রয়েছে:

  ' Check if domain is DEV or PROD and set robots accordingly meta tag in head
  Dim metatag As HtmlMeta = New HtmlMeta
  metatag.Attributes.Add("name", "robots")
  If CurrentURL.Contains("dev.advertise-it") Then
    metatag.Attributes.Add("content", "NOINDEX, NOFOLLOW")
  Else
    metatag.Attributes.Add("content", "INDEX, FOLLOW")
  End If
  Page.Header.Controls.Add(metatag)

যদিও এটি ক্রলিং প্রতিরোধ করে না , এটি ওপিগুলির প্রয়োজনীয়তা হিসাবে মনে হবে।
মিঃ হোয়েট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.