جاري التحميل...

شرح كامل ودقيق عن ملف robots.txt، مع أمثلة وأكواد

1️⃣ ما هو robots.txt؟

  • robots.txt هو ملف نصي موجود في جذر الموقع (https://example.com/robots.txt).
  • وظيفته هي إعطاء تعليمات لمحركات البحث (البوتات) حول أي صفحات أو أقسام من الموقع يمكن الزحف إليها وأيها لا.
  • يستخدم معايير قياسية تسمى Robots Exclusion Standard.

أهمية robots.txt:

  1. حماية الصفحات غير المرغوب في فهرستها.
  2. توفير موارد السيرفر من الزحف على صفحات لا تحتاج SEO.
  3. تحسين سرعة الزحف على الموقع (crawl budget).

2️⃣ البنية الأساسية للملف

User-agent: [اسم البوت]
Disallow: [المسار الذي لا تريد الزحف عليه]
Allow: [المسار المسموح به] # اختياري
Sitemap: [رابط الخريطة] # اختياري

شرح:

  • User-agent: اسم محرك البحث أو البوت (مثل Googlebot، Bingbot).
  • Disallow: يمنع الزحف إلى المسار المحدد.
  • Allow: يسمح بالزحف لمسار فرعي حتى لو تم منع المسار الأعلى.
  • Sitemap: يعطي رابط خريطة الموقع XML لمحركات البحث.

3️⃣ أمثلة بسيطة

منع كل البوتات من الزحف لأي صفحة:

User-agent: *
Disallow: /

السماح لكل البوتات بالزحف لكل الصفحات:

User-agent: *
Disallow:

منع Googlebot من مجلد معين:

User-agent: Googlebot
Disallow: /private/

السماح ببعض الصفحات داخل مجلد ممنوع:

User-agent: *
Disallow: /private/
Allow: /private/public-page.html

4️⃣ أمثلة متقدمة واستخدام أكواد كثيرة جدًا

منع ملفات CSS و JS من البوتات العامة (غير مرغوب أحيانًا):

User-agent: *
Disallow: /wp-includes/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

منع أنواع ملفات محددة:

User-agent: *
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.zip$

$ تعني نهاية اسم الملف.

منع URL يحتوي على معاملات (Query Parameters):

User-agent: *
Disallow: /*?replytocom=
Disallow: /*?sessionid=
Disallow: /*?orderby=

منع محتوى مكرر

User-agent: *
Disallow: /tag/
Disallow: /category/
Disallow: /author/

السماح لصفحة واحدة من مجلد ممنوع

User-agent: *
Disallow: /private/
Allow: /private/important-page.html

منع جميع البوتات مع استثناء Googlebot

User-agent: *
Disallow: /User-agent: Googlebot
Disallow:

السماح بالزحف على ملفات الصور فقط

User-agent: *
Disallow: /
Allow: /images/

مثال على sitemap مع تعليمات البوت

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml

5️⃣ أمثلة متقدمة جدًا مع Wildcards

  • * تعني أي شيء.
  • $ تعني نهاية URL.

منع كل الصفحات التي تحتوي كلمة “private”:

User-agent: *
Disallow: /*private*

منع كل الصور بصيغة JPG و PNG:

User-agent: *
Disallow: /*.jpg$
Disallow: /*.png$

السماح فقط بصفحة محددة داخل مجلد عام:

User-agent: *
Disallow: /blog/
Allow: /blog/special-post.html

6️⃣ أمثلة للبوتات المحددة

Bingbot ممنوع من جميع الصفحات:

User-agent: Bingbot
Disallow: /

Googlebot يسمح بكل شيء:

User-agent: Googlebot
Disallow:

Yandexbot يمنع من المجلدات الخاصة:

User-agent: Yandex
Disallow: /private/
Disallow: /tmp/

7️⃣ نصائح وأسرار سرية لملفات robots.txt

  1. لا تعتمد على robots.txt لمنع محتوى حساس – البوت قد يتجاهله. استخدم كلمات مرور أو noindex.
  2. حافظ على البساطة – القواعد المعقدة جدًا قد تسبب مشاكل في الزحف.
  3. استخدم Sitemap دائمًا – لتسهيل فهرسة الصفحات المهمة.
  4. اختبر الملف عبر أداة Google Search Console > Robots.txt Tester.
  5. لا تمنع ملفات CSS و JS الضرورية لمظهر الموقع، وإلا قد يؤثر على SEO.

8️⃣ أمثلة حقيقية متنوعة جدًا

مثال 1: WordPress نموذجي

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /readme.html
Disallow: /license.txt
Sitemap: https://example.com/sitemap_index.xml

مثال 2: متجر إلكتروني

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /wishlist/
Allow: /products/
Sitemap: https://example.com/sitemap_products.xml

مثال 3: موقع متعدد اللغات

User-agent: *
Disallow: /fr/
Disallow: /de/
Allow: /en/
Sitemap: https://example.com/sitemap_en.xml
Sitemap: https://example.com/sitemap_fr.xml
Sitemap: https://example.com/sitemap_de.xml

مثال 4: منع الزحف على ملفات محددة + السماح بالمجلدات المهمة

User-agent: *
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /backup/
Disallow: /tmp/
Allow: /images/
Allow: /css/
Allow: /js/
Sitemap: https://example.com/sitemap.xml

9️⃣ دمج كل الأشياء معًا – ملف robots.txt شامل

# منع البوتات من الوصول للمجلدات الخاصة
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /private/
Disallow: /tmp/
Disallow: /backup/
Disallow: /cgi-bin/# السماح بالملفات الضرورية
Allow: /wp-admin/admin-ajax.php
Allow: /images/
Allow: /css/
Allow: /js/# منع ملفات محددة
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.zip$
Disallow: /*?sessionid=
Disallow: /*?orderby=
Disallow: /*?replytocom=# السماح لصفحات مهمة
Allow: /private/important-page.html# قواعد خاصة للبوتات
User-agent: Googlebot
Disallow:User-agent: Bingbot
Disallow: /User-agent: Yandex
Disallow: /private/
Disallow: /tmp/# Sitemap
Sitemap: https://example.com/sitemap_index.xml

هذا المثال يغطي تقريبًا كل حالات الاستخدام:

  • منع مجلدات حساسة
  • السماح بالمجلدات الضرورية
  • منع ملفات معينة
  • السماح باستثناءات
  • تخصيص للبوتات
  • إضافة Sitemap