SEO
شرح robots.txt و sitemap.xml مع أمثلة
ملفان صغيران في جذر موقعك يخبران الزواحف أين يُسمح لها بالذهاب وأي الصفحات تريد أن تُكتشف. إليك طريقة عمل كل منهما مع أمثلة.
في هذه الصفحة
ملفان بسيطان في جذر موقعك يعينان محركات البحث على التعامل معه. robots.txt يخبر الزواحف بأجزاء الموقع التي يجوز لها الزحف إليها والتي لا يجوز. وsitemap.xml يسرد الصفحات التي تريد منها أن تعثر عليها. يعملان معًا على نحو جيد، لكن لا أحد منهما يضمن فهرسة صفحة أو إبقاءها خارج نتائج البحث، وسوء فهم هذه النقطة هو أصل معظم المشكلات المذكورة في هذا الدليل.
ما وظيفة robots.txt
robots.txt ملف نصي عادي يجب أن يكون في جذر المضيف، مثل https://example.com/robots.txt. وهو لا يسري إلا على ذلك البروتوكول والمضيف بعينهما، ولذلك يحتاج shop.example.com إلى ملف خاص به. الزواحف التي تتبع بروتوكول استبعاد الروبوتات (Robots Exclusion Protocol)، ومنها Googlebot و Bingbot، تقرؤه قبل الزحف وتلتزم بقواعده.
هو مجموعة طلبات، لا وسيلة أمان. البوتات سيئة السلوك تستطيع تجاهله، والملف نفسه علني، فإدراج مجلد «سري» فيه إعلان عن ذلك المجلد في الواقع. احمِ المحتوى الخاص بالمصادقة.
ملف robots.txt بسيط
User-agent: *Disallow: /admin/Disallow: /cartDisallow: /searchSitemap: https://example.com/sitemap.xml
سطرًا سطرًا: القواعد تسري على كل الزواحف (*)؛ لا تزحف إلى أي شيء تحت /admin/، ولا إلى أي عنوان يبدأ بـ /cart أو /search؛ وخريطة الموقع في العنوان المذكور. سطر Sitemap يجب أن يكون عنوان URL كاملًا، وهو يسري أيًّا كانت مجموعة user-agent التي ورد فيها.
كيف تُقرأ القواعد
- القواعد تطابق بداية مسار العنوان، وهي حساسة لحالة الأحرف:
Disallow: /Adminلا تحجب/admin. - تدعم Google رمزَي بدل:
*لأي تتابع من المحارف و$لنهاية العنوان. فالقاعدةDisallow: /*.pdf$تحجب العناوين المنتهية بـ.pdf. - حين تتعارض قواعد
AllowوDisallow، تتبع Google القاعدة المطابقة الأكثر تحديدًا (الأطول)، وعند التساوي تفوزAllow. - لا يطيع الزاحف إلا المجموعة الأكثر تحديدًا التي تسمّيه. فإن كانت لديك مجموعة
User-agent: Googlebot، تجاهل Googlebot مجموعةUser-agent: *كليًا، فكرّر فيها أي قواعد مشتركة. Disallow: /تحجب الموقع كله. وDisallow:الفارغة لا تحجب شيئًا.
حجب الزحف ليس حجبًا للفهرسة
هذه أهم نقطة في شأن robots.txt. العنوان المحجوب قد يظهر مع ذلك في نتائج البحث، بلا وصف في العادة، إن ربطت به صفحات أخرى: Google تعرف أن العنوان موجود لكنها لم تقرأه. لإبقاء صفحة خارج نتائج البحث، اسمح بالزحف إليها وأضف توجيه noindex، إما <meta name="robots" content="noindex"> في HTML وإما ترويسة الاستجابة X-Robots-Tag: noindex. فإن حجب robots.txt الصفحة، لم ترَ Google توجيه noindex أبدًا.
قواعد تتجاهلها Google
لا تدعم Google توجيه noindex داخل robots.txt (توقفت عن الالتزام بهذه القاعدة غير الرسمية عام 2019) وتتجاهل Crawl-delay. أما Bing فيلتزم بـ Crawl-delay. وإن كان Googlebot يحمّل خادمك فوق طاقته، فعالج سعة الخادم، أو أعد في الحالات الطارئة استجابات 503 أو 429 مؤقتًا.
ما وظيفة sitemap.xml
خريطة الموقع XML قائمة بالعناوين التي تودّ أن تزحف إليها محركات البحث وتفهرسها. وأهميتها أكبر في المواقع الكبيرة، والمواقع الجديدة قليلة الروابط الواردة، والصفحات التي يصعب بلوغها عبر الروابط الداخلية. وهذا شكل خريطة موقع في حدها الأدنى:
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://example.com/</loc><lastmod>2026-09-20</lastmod></url><url><loc>https://example.com/pricing</loc><lastmod>2026-08-02</lastmod></url></urlset>
- حدود الحجم: يتسع كل ملف خريطة لما يصل إلى 50,000 عنوان، وبحجم يصل إلى 50 ميغابايت دون ضغط. والمواقع الأكبر توزّع عناوينها على عدة خرائط وتسردها في ملف فهرس خرائط الموقع (sitemap index).
- lastmod: تستخدم Google تاريخ آخر تعديل إن كان دقيقًا على الدوام. حدّثه حين يتغير محتوى الصفحة تغيرًا ذا معنى، لا مع كل نشر.
- priority و changefreq: تتجاهلهما Google، فلا حاجة إلى ضبطهما.
- أدرج فقط العناوين التي تريد فهرستها: صفحات أساسية (canonical) قابلة للفهرسة تعيد
200. واستبعد التحويلات وصفحات الأخطاء وصفحاتnoindexوالعناوين المكررة التي تحمل معامِلات تتبع.
إنشاء خريطة الموقع وإرسالها
قلّما تحتاج إلى كتابتها بيدك. WordPress يولّد خريطة أساسية في /wp-sitemap.xml منذ الإصدار 5.5، وإضافات SEO تستبدل بها خريطتها الخاصة؛ و Shopify ومعظم منصات بناء المواقع المستضافة تنشئ /sitemap.xml تلقائيًا؛ وفي Next.js يولّدها ملف app/sitemap.ts. وبعد أن توجد، أخبر محركات البحث بمكانها بطريقتين: أضف سطر Sitemap: إلى robots.txt، وأرسلها من تقرير Sitemaps في Google Search Console (وفي Bing Webmaster Tools). وبعدها يعرض Search Console هل أمكنت قراءتها وكم من عناوينها مفهرس.
كيف تفحص ملف robots.txt وخريطة الموقع
ابدأ بفتح الملفين في متصفحك: /robots.txt وعنوان خريطة الموقع. ثم مرّر الصفحة التي تهمك على فاحص SEO المجاني من Rudra. يجلب الفاحص ملف robots.txt ويذكر هل يحجب الصفحة المختبرة عن user-agent العام * وهل يعلن عن خريطة موقع. ثم يبحث عن الخريطة (في الموضع المعلن، وإلا ففي /sitemap.xml و /sitemap_index.xml)، ويتحقق من أنها تُحلَّل على أنها خريطة موقع أو فهرس خرائط، ويذكر هل تحمل مدخلاتها تواريخ lastmod وهل العنوان المختبر مدرج فيها.
ولمعرفة ما تراه Google نفسها، استخدم تقرير robots.txt وأداة فحص عنوان URL في Search Console، فهما يبيّنان هل عنوان بعينه محجوب وهل هو مفهرس.
أخطاء شائعة
- الإطلاق بملف robots.txt الخاص بالبيئة التجريبية. سطر
Disallow: /منسي من مرحلة التطوير قد يحجب الموقع الحي كله. افحص robots.txt يوم الإطلاق. - حجب ملفات CSS و JavaScript التي تحتاج إليها الصفحات لتُعرض، فلا تستطيع Google رؤية الصفحة كما يراها الزوار.
- استخدام robots.txt لإزالة صفحات من Google. استخدم
noindex(واسمح بالزحف إلى الصفحة)، أو أداة الإزالة (Removals) في Search Console للحالات العاجلة. - الجمع بين حجب في robots.txt و noindex في الصفحة نفسها، وهو ما يمنع رؤية
noindex. - إدراج عناوين خاطئة في خريطة الموقع: تحويلات، أو صفحات 404، أو صفحات
noindex، أو نسخhttp://، أو نطاق آخر. - ضبط كل تواريخ lastmod على تاريخ اليوم مع كل عملية بناء، فتفقد التواريخ قيمتها لدى محركات البحث.
- ملف robots.txt يعيد خطأ خادم. تعامل Google غياب robots.txt (404) على أنه «ازحف إلى كل شيء»، لكن خطأ 5xx قد يجعلها تتوقف عن الزحف إلى الموقع إلى أن يعود الملف متاحًا.
الأسئلة الشائعة
هل أحتاج إلى ملف robots.txt؟
ليس بالضرورة. إن لم يكن لديك ما تريد إبعاد الزواحف عنه، فلك أن تستغني عنه؛ فملف robots.txt الذي يعيد 404 معناه أن كل شيء قابل للزحف. ومع ذلك تضيفه مواقع كثيرة لحجب المناطق قليلة القيمة كنتائج البحث الداخلي وللإشارة إلى خريطة الموقع.
هل أحتاج إلى خريطة موقع XML؟
المواقع الصغيرة ذات الربط الداخلي الجيد تُكتشف في العادة بدونها، لكن الخريطة قليلة الكلفة وتعين محركات البحث على العثور على الصفحات الجديدة والمحدَّثة أسرع. وأكثر المنتفعين بها المواقع الكبيرة، والجديدة، وتلك التي فيها صفحات عميقة أو ضعيفة الربط.
هل تؤدي إضافة صفحة إلى خريطة الموقع إلى فهرستها؟
لا. الخريطة تعين محركات البحث على اكتشاف العناوين، أما فهرسة الصفحة فتتوقف على جودتها، وعلى كونها مكررة لصفحات أخرى أم لا، وعلى إمكان الزحف إليها وخلوّها من noindex.
كيف أحجب زواحف الذكاء الاصطناعي عبر robots.txt؟
أضف مجموعة user-agent لكل زاحف تريد حجبه، مثل GPTBot (OpenAI) أو CCBot (Common Crawl)، مع Disallow: /. أما Google-Extended فيتحكم في جواز استخدام Google محتواك لنماذج الذكاء الاصطناعي لديها، دون تأثير في بحث Google. وهذه القواعد لا تنفع إلا مع الزواحف التي تختار احترام robots.txt.
أين يجب أن يوضع robots.txt و sitemap.xml؟
يجب أن يكون robots.txt في جذر كل مضيف، مثل https://example.com/robots.txt. أما خريطة الموقع فيمكن أن تكون في أي مكان على المضيف، لكن المتعارف عليه /sitemap.xml؛ أعلن موضعها في robots.txt وأرسلها من Google Search Console.