خريطة الموقع XML: كيف تنشئها وتقدمها في Search Console وتفحصها

بقلم SEOgrinder · تاريخ النشر · آخر تحديث · 8 دقيقة قراءة

الإجابة المختصرة: خريطة الموقع XML ملف يسرد العناوين التي تريد أن تعرفها محركات البحث: عنصر ‎<url>‎ واحد لكل صفحة، فيه العنوان داخل ‎<loc>‎ وتاريخ آخر تغيير داخل ‎<lastmod>‎ إن كان دقيقًا. أنشئها من نظام إدارة المحتوى أو من بيانات موقعك، والزم حدّ 50,000 عنوان و50 MB لكل ملف، واذكرها في robots.txt وأرسلها في تقرير «ملفات Sitemap»‏ («Sitemaps») في Search Console. الإرسال تلميح لا وعد: Google لا تضمن أن تزحف إلى ما يسرده الملف أو تفهرسه.

ماذا تحتوي خريطة الموقع XML؟

هذه بداية خريطة موقع seogrinder.com كما جلبناها في 4 نوفمبر 2026 (curl -sS https://seogrinder.com/sitemap.xml | head -5):

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://seogrinder.com/</loc><lastmod>2026-11-04</lastmod></url>
  <url><loc>https://seogrinder.com/imprint</loc><lastmod>2026-11-02</lastmod></url>
  <url><loc>https://seogrinder.com/privacy</loc><lastmod>2026-11-02</lastmod></url>

يشترط بروتوكول sitemaps.org ثلاثة أمور: وسم ‎<urlset>‎ افتتاحيًا مع فضاء الأسماء (namespace)، وعنصر ‎<url>‎ لكل صفحة، وعنصر ‎<loc>‎ داخل كل عنصر. وكل وسم آخر اختياري، والدعم للوسوم الاختيارية «may vary among search engines» أي قد يختلف بين محركات البحث. ويجب أن يكون الملف بترميز UTF-8، وأن تُكتب أحرف مثل ‎&‎ بصيغة الهروب (escape) هكذا ‎&amp;‎، وأن تنتمي كل العناوين في ملف واحد إلى مضيف واحد.

في ملفنا نحن نعدّ 425 مدخلة ‎<loc>‎ (curl -sS https://seogrinder.com/sitemap.xml | grep -o '<loc>' | wc -l، 5 نوفمبر 2026): الصفحة الرئيسية، وأربع صفحات قانونية (بيانات الناشر والخصوصية، كل منهما بالألمانية والإنجليزية)، واثنتا عشرة صفحة فهرس للمدونة، و408 مقالات. وفي كل مدخلة ‎<loc>‎ و‎<lastmod>‎ فقط: لا ‎<changefreq>‎ ولا ‎<priority>‎ ولا إشارات hreflang. وحجم الملف 45,765 بايت (curl -sS https://seogrinder.com/sitemap.xml | wc -c).

هل تحتاج إلى خريطة موقع XML؟

ليس دائمًا. يقول Google في نظرته العامة على خرائط المواقع إنه حين تكون صفحاتك مرتبطة ارتباطًا سليمًا يستطيع عادةً اكتشاف معظم موقعك. وتفيد الخريطة أكثر في الموقع الكبير، وفي الموقع الجديد الذي له روابط خارجية قليلة، وفي الموقع الذي فيه كثير من الفيديو أو الصور أو الأخبار. وقد لا تحتاج إليها إن كان موقعك صغيرًا (نحو 500 صفحة أو أقل، تُحسب فقط الصفحات المقصود ظهورها في نتائج البحث) وكان بالإمكان الوصول إلى كل صفحة مهمة بروابط من الصفحة الرئيسية. ومع ذلك يضيف Google أن معظم المواقع تستفيد منها.

وإن كنت تستخدم WordPress أو Wix أو Blogger فيقول Google إن نظام إدارة المحتوى لديك أتاح على الأرجح خريطة موقع بالفعل. افتح ‎/sitemap.xml‎ على موقعك قبل أن تبني ملفًا ثانيًا.

والخريطة لا تغني عن الروابط. فإن غابت عن Google صفحة تتوقعها فغياب الخريطة سبب واحد فقط من أسباب عدة ممكنة. أما الصفحة الجديدة كليًا فتساعد الخريطة على اكتشافها، لكنها وحدها لا تضمن الزحف ولا الفهرسة.

كيف تنشئ خريطة موقع XML

ابدأ بقائمة العناوين لا بالأداة. يقول Google إن الخريطة تسمّي العناوين التي تفضّل عرضها في النتائج، أي العناوين الأساسية (canonical): فإذا أمكن الوصول إلى المحتوى نفسه بعدة عناوين فاذكر العنوان المفضل لديك وحده.

ثم اختر طريقة، كما تصفها صفحة Google بناء خريطة الموقع وإرسالها:

  • دع نظام إدارة المحتوى يكتبها، إن كان قادرًا على ذلك.
  • اكتبها يدويًا إذا كانت العناوين أقل من بضع عشرات. ويصف Google الملفات اليدوية الأكبر بأنها مرهقة وصعبة الصيانة.
  • ولّدها من بياناتك لما زاد على ذلك. ويقول Google إن أفضل طريقة أن يكتب برنامج موقعك الملف. وترتيب المدخلات لا يهم Google.

وخريطتنا مولَّدة: سكربت يكتب مدخلات المدونة من ملفات المقالات ويترك الصفحة الرئيسية والصفحات القانونية على حالها.

ما الذي يدخل في الملف:

  • يدخل: عناوين كاملة تبدأ بـ ‎https://‎ لصفحات ترد بالرمز 200 ويجوز فهرستها وينبغي أن تظهر في البحث. يطلب Google عناوين مكتملة ويزحف إليها كما هي مكتوبة.
  • لا يدخل: العناوين التي تعيد التوجيه (تقول مساعدة Search Console إن عليك استبدالها بالعناوين التي ينبغي الزحف إليها)، والصفحات التي تعيد أخطاء، ونسخ مكررة من صفحة مدرجة أصلًا. وفي رأينا لا تدخل كذلك الصفحات التي عليها noindex: فالخريطة تدعو Google إلى الدخول والوسم يرده.

ضع الملف في الجذر، مثل https://example.com/sitemap.xml. ويوصي Google بالجذر؛ فخريطة في مجلد فرعي تؤثر فقط في العناوين تحتها، إلا إذا أرسلتها عبر Search Console.

ما الحد الأقصى لحجم خريطة الموقع XML؟

يجوز أن يحتوي الملف الواحد على 50,000 عنوان كحد أقصى، وأن يبلغ حجمه 50 MB كحد أقصى قبل الضغط. ويجوز ضغطه بـ gzip، لكن الحجم بعد فك الضغط هو المعتبر (sitemaps.org). وإذا تجاوزت الحدود فقسّم القائمة واذكر الملفات في ملف فهرس خرائط (sitemap index)، وهو يجوز أن يسرد حتى 50,000 خريطة، على ألا تكون إلا خرائط موقعه نفسه. وملفنا أقل من الحدين بكثير، فلا نحتاج إلى فهرس.

lastmod: لا تضعه إلا إذا تغيّرت الصفحة فعلًا

‎<lastmod>‎ هو الوسم الاختياري الوحيد الذي يستحق أن تضبطه بعناية. يقول Google إنه يستخدم القيمة «if it's consistently and verifiably» دقيقة، أي إذا كانت دقيقة باستمرار وبشكل يمكن التحقق منه. والتحديث الجوهري يعني المحتوى الأساسي أو البيانات المنظمة أو الروابط؛ أما سنة حقوق نشر جديدة فلا تُحسب. والبروتوكول أكثر صراحة: يجب أن يكون التاريخ «the date the linked page was last modified, not when the sitemap is generated» أي تاريخ آخر تعديل للصفحة المرتبطة لا تاريخ توليد الخريطة.

فلا تكتب تاريخ اليوم في كل مدخلة عند كل بناء. وGoogle يتجاهل أيضًا ‎<priority>‎ و‎<changefreq>‎، فاترك الاثنين.

في ملفنا تحمل 313 من 425 مدخلة التاريخ ‎2026-11-04‎ و108 مدخلات ‎2026-11-05‎ وأربع مدخلات ‎2026-11-02‎ (curl -sS https://seogrinder.com/sitemap.xml | grep -o '<lastmod>[^<]*' | sort | uniq -c، 5 نوفمبر 2026). وتأخذ مدخلات المقالات التاريخ من سطر updated في كل مقالة، ولهذا تشترك مدخلات كثيرة في تاريخ واحد حين تُكتب مقالات أو تُراجع في اليوم نفسه.

كيف ترسل خريطة الموقع XML إلى Google؟

هناك ثلاث طرق، ويمكن الجمع بينها:

  1. robots.txt. أضف Sitemap: https://example.com/sitemap.xml بالعنوان الكامل. هذا السطر لا ينتمي إلى مجموعة وكيل مستخدم (user-agent)، فلا يهم موضعه، ويمكنك ذكر عدة أسطر. ويعثر عليه Google في المرة التالية التي يزحف فيها إلى robots.txt. وإن كان لديك ملف فهرس فأرسل ملف الفهرس. وعندنا هو آخر سطر في robots.txt في 4 نوفمبر 2026: Sitemap: https://seogrinder.com/sitemap.xml.
  2. تقرير «ملفات Sitemap» في Search Console. الخطوات أدناه.
  3. Search Console API، لتُرسل من الشيفرة.

الإرسال يعني إخبار Google أين الملف. وتقول مساعدة تقرير Sitemaps من Google: ‏«You cannot actually upload a sitemap to Google.»‏ أي لا يمكنك فعليًا رفع خريطة موقع إلى Google. والخطوات:

  1. تأكد أن لديك صلاحية مالك للخاصية (property). وبدونها اذكر الخريطة في robots.txt بدلًا من ذلك.
  2. انشر الخريطة على موقعك.
  3. أجرِ اختبارًا مباشرًا لعنوانها في «فحص عنوان URL»‏ (URL Inspection) وتحقق أن جلب الصفحة «Successful».
  4. افتح تقرير «ملفات Sitemap» والصق العنوان في «Add a new sitemap» ثم انقر «Submit».

يقول Google إن الملف ينبغي أن يُجلب فورًا، لكن الزحف إلى العناوين التي فيه قد يستغرق وقتًا ولن يُزحف إليها كلها. وبعبارة Google: ‏«submitting a sitemap is merely a hint»‏ أي إرسال الخريطة مجرد تلميح (Google). ويعرض التقرير حالة لكل خريطة («Success» و«Couldn't fetch» و«Sitemap had X errors»)، ومتى قرأتها Google آخر مرة، وكم صفحة اكتشفت. والمكتشَف ليس مفهرسًا: يقول Google إنه لا ضمان بأن صفحة مكتشفة قد زُحف إليها أو فُهرست أو ستُزحف إليها أو تُفهرس. ولا يسرد التقرير إلا الخرائط المرسلة عبره أو عبر API، لا الخرائط التي وجدتها Google عبر robots.txt.

يتبع هذا المقال وثائق Google. ولا يعرض لقطة شاشة من Search Console ولا يذكر نتيجة إرسال لملفنا نحن.

كيف تفحص خريطة الموقع XML

  1. اجلبها. الأمر curl -sSI https://example.com/sitemap.xml ينبغي أن يُظهر الحالة 200 ونوع محتوى XML. وعندنا ظهر في 4 نوفمبر 2026 HTTP/2 200 وcontent-type: application/xml; charset=utf-8.
  2. اقرأ البداية. تبدأ بـ ‎<urlset‎ وفضاء الأسماء، وهي بترميز UTF-8، وليس فيها عناوين نسبية.
  3. اطلب كل عنوان. الحلقة أدناه لا تتبع إعادات التوجيه، فيظهر التوجيه برمز 301 أو 302.
  4. تحقق أن Google يستطيع جلبها. استخدم الاختبار المباشر أعلاه. ويحترم Google ملف robots.txt حين يجلب خريطة موقع، فقاعدة تحجب الملف توقف ذلك.
  5. اقرأ تقرير «ملفات Sitemap» بعد الإرسال، وانقر خريطة فيها أخطاء لترى التفاصيل.
for u in $(curl -sS https://seogrinder.com/sitemap.xml | grep -o 'https://seogrinder.com/[^<]*'); do
  curl -sS -o /dev/null -w '%{http_code}\n' "$u"
done | sort | uniq -c

في 5 نوفمبر 2026 نحو الساعة 13:40 بالتوقيت العالمي (UTC) طبع هذا ‎425 200‎: أي أن العناوين الـ425 كلها ردّت بالرمز 200.

SEOgrinder أداتنا المجانية ونحن من نبنيها. افحص صفحة وانظر إلى قائمة المهام («المهام») وإلى البند «دلالة الوكلاء على الطريق» (الوسم «Sitemap») في تبويب «الجاهزية للذكاء الاصطناعي». يقرأ خريطة الموقع المذكورة في robots.txt، أو ‎/sitemap.xml‎ إن لم يذكر robots.txt واحدة، ويمكنه أن يبلّغ عن:

النتيجةمتى تظهر
لم يُعثر على خريطة موقعلم يوفّر robots.txt ولا ‎/sitemap.xml‎ خريطة
خريطة الموقع غير معلنة في robots.txtتوجد خريطة لكن robots.txt لا يذكرها
مدخلات خريطة الموقع بلا تاريخ lastmodأقل من نصف المدخلات يحمل تاريخًا
«3 من 15 عنوان URL في عيّنة خريطة الموقع لا تستجيب بالرمز 200» (أرقام للتمثيل)أظهرت عيّنة أخطاء أو إعادات توجيه
خريطة الموقع تذكر صفحة واحدة عليها noindexيكتشفه زحف الموقع

هو يختبر عيّنة من 15 عنوانًا كحد أقصى موزعة على القائمة، لا كل عنوان، ولهذا تستحق الحلقة أعلاه أن تشغّلها. كما أنه يقرأ 3 MB كحد أقصى لكل ملف وعشر خرائط من فهرس، ويعلّم الأكبر بأنه لم يُقرأ كاملًا.

الأخطاء الشائعة

  • عناوين تعيد التوجيه أو تفشل أو تحمل noindex. يبلّغ Search Console عن العناوين التي يتعذر الوصول إليها؛ استبدل التوجيه بهدفه.
  • كل صيغة من الصفحة. إدراج http وhttps، وبـ www وبدونها، أو صيغ المعاملات: اذكر العنوان الأساسي (canonical).
  • تاريخ اليوم قيمةً لـ lastmod عند كل بناء. يستخدم Google التاريخ حين يكون دقيقًا باستمرار وبشكل يمكن التحقق منه.
  • عناوين لا يجوز أن يحتويها الملف. يسمي التقرير هذا «URL not allowed»: نطاق آخر أو بروتوكول آخر أو مجلد فوق مجلد الخريطة نفسها.
  • قراءة «مُرسَل» على أنها «مفهرَس». الخريطة المرسلة لا تضمن شيئًا.
  • ترك ملف فاشل على حاله. يعيد Google محاولة الجلب الفاشل أيامًا قليلة ثم يتوقف. عالج السبب وأرسل من جديد.

الأسئلة الشائعة

هل يجب أن أرسلها إن كان robots.txt يذكرها أصلًا؟

لا. يعثر Google على خريطة مذكورة في robots.txt في المرة التالية التي يزحف فيها إلى ذلك الملف. والإرسال يعطيك التقرير: ترى متى وصل Googlebot إلى الملف وما الأخطاء التي صادفها.

هل تحسّن خريطة الموقع XML ترتيبي؟

يصف Google غرضها بأنه الاكتشاف: تساعد محركات البحث على العثور على العناوين، وقد تحسّن الزحف في المواقع الأكبر أو الأكثر تعقيدًا. والصفحات التي نقتبس منها لا تعد بشيء عن المراتب، ولا أحد يستطيع ذلك.

خطوتك التالية

شغّل الحلقة أعلاه على خريطة موقعك أنت وأصلح كل عنوان لا يرد بالرمز 200. ثم افحص موقعك بـ SEOgrinder، وافتح قائمة «المهام» وابدأ بنتائج خريطة الموقع. وبعد تعديلاتك اضغط إعادة التحقق، وإن لم تفعل بعد فأرسل الملف في تقرير «ملفات Sitemap» في Search Console.

اقرأ أيضًا

المزيد من المدونة