كيفية إعداد ملف robot.txt الذي يسمح فقط بالصفحة الافتراضية للموقع

StackOverflow https://stackoverflow.com/questions/43427

سؤال

قل لدي موقع على http://example.com.أرغب حقًا في السماح للروبوتات برؤية الصفحة الرئيسية، ولكن يجب حظر أي صفحة أخرى لأنه لا فائدة من العنكبوت.بعبارة أخرى

http://example.com & http://example.com/ يجب أن يسمح، ولكنhttp://example.com/anything و http://example.com/someendpoint.aspx يجب أن يتم حظره.

علاوة على ذلك، سيكون من الرائع أن أسمح لسلاسل استعلام معينة بالمرور إلى الصفحة الرئيسية:http://example.com?okparam=true

لكن لاhttp://example.com?anythingbutokparam=true

هل كانت مفيدة؟

المحلول

وبعد إجراء بعض الأبحاث، إليك ما وجدته - وهو حل مقبول لدى موفري البحث الرئيسيين: جوجل , ياهو & msn (يمكنني العثور على مدقق هنا):

User-Agent: *
Disallow: /*
Allow: /?okparam=
Allow: /$

الحيلة هي استخدام $ لتحديد نهاية عنوان URL.

نصائح أخرى

أدوات مشرفي المواقع من جوجل أبلغ عن أن عدم السماح له دائمًا الأسبقية على السماح، لذلك لا توجد طريقة سهلة للقيام بذلك في robots.txt ملف.

يمكنك تحقيق ذلك عن طريق وضع noindex,nofollow META علامة في HTML كل صفحة ما عدا الصفحة الرئيسية.

ملف robots.txt الأساسي:

Disallow: /subdir/

لا أعتقد أنه يمكنك إنشاء تعبير يقول "كل شيء ما عدا الجذر"، عليك ملء جميع الأدلة الفرعية.

كما أن تقييد سلسلة الاستعلام غير ممكن من ملف robots.txt.يجب عليك القيام بذلك في رمز الخلفية (جزء المعالجة)، أو ربما باستخدام قواعد إعادة كتابة الخادم.

Disallow: *
Allow: index.ext

إذا كنت أتذكر بشكل صحيح، فإن الجملة الثانية يجب أن تتجاوز الأولى.

بقدر ما أعرف، لا تدعم جميع برامج الزحف علامة السماح.قد يكون أحد الحلول الممكنة هو وضع كل شيء باستثناء الصفحة الرئيسية في مجلد آخر وعدم السماح بهذا المجلد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top