في المقال السابق ضبطتَ ملف robots.txt الذي يقول للزواحف أين لا تذهب، ورأيتَ فيه سطر Sitemap الذي يشير إلى خريطة موقعك. الآن نفتح تلك الخريطة. فإن كان robots.txt هو الحارس الذي يمنع، فخريطة الموقع هي الدليل الذي يرشد: قائمةٌ تقدّمها للمحرّك بأهمّ صفحاتك كي يكتشفها بلا عناء.
سأشرح ما خريطة الموقع بالضبط، ومتى تحتاجها ومتى قد لا تحتاجها، وأشرّح ملف XML وسمًا وسمًا (وأيّ الوسوم يتجاهله جوجل تمامًا)، وماذا تُدرِج فيها وماذا تستبعد، وكيف تنشئها وتقدّمها بالطريقة الصحيحة في 2026 بعد أن تغيّرت. والفكرة التي أبني عليها كلّ ما يأتي: خريطة الموقع أداة اكتشاف، لا ضمان فهرسةٍ ولا ترتيب.
ما خريطة الموقع؟
خريطة الموقع (Sitemap) ملفٌّ تقدّم فيه لمحركات البحث معلوماتٍ عن صفحات موقعك وملفّاته والعلاقات بينها. تصفها جوجل بأنّها وسيلةٌ تساعد المحرّك على اكتشاف عناوينك.[1] تخيّل زائرًا يدخل مدينةً بلا خريطة: يتعثّر ويضيّع أحياءً كاملة. الخريطة تعطيه جولةً منظّمة تدلّه على كلّ حيٍّ يستحقّ الزيارة. ولا يعني هذا أنّ المحرّك لا يجد صفحاتك بدونها؛ هو يكتشفها أساسًا بتتبّع الروابط من صفحةٍ إلى أخرى، لكنّ الخريطة تسرّع الاكتشاف وتضمن ألّا تفوته صفحةٌ مهمّة، خصوصًا الجديدة أو العميقة في بنية موقعك.
لكن انتبه إلى حدٍّ يخطئ فيه أكثر ما كُتب بالعربية: خريطة الموقع لا تضمن شيئًا. تقول جوجل صراحةً إنّها «لا تضمن زحف كلّ العناصر في خريطتك وفهرستها».[1] إدراجُ عنوانٍ في الخريطة يساعد على اكتشافه، لا يفرض فهرسته ولا يرفع ترتيبه. فمن ظنّ أنّ إضافة الخريطة تصعد بموقعه بنى على وهم؛ الخريطة تدلّ المحرّك على الباب، وما وراء الباب يقرّره المحتوى.
متى تحتاجها، ومتى قد لا تحتاجها
خلافًا للشائع، ليست خريطة الموقع فرضًا على كلّ موقع. تقول جوجل إنّ الموقع الصغير (نحو خمس مئة صفحةٍ أو أقلّ) المترابط داخليًّا ترابطًا جيّدًا قد لا يحتاجها، لأنّ الزاحف يصل إلى صفحاته كلّها بتتبّع روابطه.[1] فالربط الداخليّ الجيّد (الذي فصّلته في مقال استراتيجية المحتوى) خريطةٌ ضمنيّة في ذاته.
لكنّها تنفع كثيرًا في أربع حالات: الموقع الكبير الذي يصعب زحفه كلّه، والموقع الجديد الذي لا روابط خارجية تشير إليه بعد، والموقع الذي فيه صفحاتٌ «يتيمة» لا يربط إليها شيء، والمواقع الغنيّة بالوسائط أو الأخبار. والصفحة اليتيمة (Orphan Page) مثالٌ واضح: صفحةٌ لا رابط داخليٌّ يقود إليها، كبيتٍ في شارعٍ مغلق لا يمرّ به موظّف التعداد، فلا يعرف المحرّك بوجودها إلا إن ذكرتها له في الخريطة. خذ موقعًا جديدًا نشرتَه اليوم: لا موقع آخر يربط إليه بعد، فكيف يعثر عليه جوجل؟ إن لم تقدّم خريطة، قد يتأخّر اكتشافه أسابيع. الخريطة تختصر هذا الانتظار، فتقول للمحرّك من اليوم الأوّل: ها هي صفحاتي. وتقول جوجل إنّ أكثر المواقع تستفيد من وجود خريطة، فإن شككتَ فأنشئها؛ ضررها معدوم ونفعها محتمل.[1]
تشريح خريطة XML
أشيع صيغة هي XML، وتقبل جوجل أيضًا الملف النصيّ البسيط (رابطٌ في كلّ سطر) وتغذية RSS/Atom بوصفها خريطة، لكنّ XML أغناها وأشيعها لأنّها تحمل تفاصيل كلّ رابط.[2] هذا نموذجٌ مصغّر لها:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/seo/sitemap-guide/</loc>
<lastmod>2026-07-01</lastmod>
</url>
</urlset>
الملف كلّه محاطٌ بوسم <urlset> يعلن أنّه يتّبع معيار خرائط المواقع المفتوح (لاحظ رابط xmlns)، وداخله يتكرّر وسم <url> لكلّ صفحة، وهذه بنيةٌ قياسية لا تخترعها أنت بل تتّبع بروتوكولًا متّفقًا عليه بين المحركات.[5]
الوسم <loc> هو الوحيد الإلزاميّ في كلّ مُدخَل، ويجب أن يحمل رابطًا كاملًا مطلقًا (يبدأ بـhttps://) لا مسارًا نسبيًّا، وأن يكون الملف بترميز UTF-8.[2] أمّا <lastmod> (تاريخ آخر تعديل) فمفيد، لكن بشرطٍ حاسم: يستعمله جوجل فقط إن كان دقيقًا وصادقًا ويمكن التحقّق منه. فإن كذبتَ فيه (كأن تحدّثه في كلّ صفحةٍ كلّ يومٍ بلا تغييرٍ حقيقيّ)، تعلّم جوجل أن يتجاهله تمامًا.[2] وأفضل ممارسةٍ ألّا تلمس هذا التاريخ بيدك أصلًا؛ دع نظامك يضبطه على تاريخ التعديل الحقيقيّ للصفحة، فيبقى صادقًا دون عناءٍ منك.
وهنا أهمّ تصحيحٍ في هذا المقال: ربّما رأيتَ وسمَي <changefreq> (تكرار التغيير) و<priority> (الأولوية)، وربّما نصحك أحدهم بضبطهما بعناية. لا تضيّع وقتك: تقول جوجل حرفيًّا إنّها «تتجاهل قيم priority وchangefreq».[2] لن تضرّك إن بقيت (تولّدها بعض الأدوات تلقائيًّا)، لكنّها لا تفعل شيئًا. اترك تركيزك على الرابط الصحيح والتاريخ الصادق.
ماذا تُدرِج، وماذا تستبعد
خريطتك ليست مكبًّا لكلّ رابطٍ في موقعك، بل قائمةٌ مختارة بصفحاتك الجديرة بالظهور. القاعدة: لا تُدرِج إلا العناوين الأساسية القابلة للفهرسة التي ترجع رمز الحالة 200. واستبعد كلّ ما يرسل إشارةً متناقضة: الصفحات التي وضعتَ عليها noindex، والمعادة توجيهًا، والمحجوبة في robots.txt، وغير الأساسية (النسخ المكرّرة التي وجّهتها بوسمٍ أساسيّ إلى غيرها). فحين تدلّ المحرّك في خريطتك على صفحةٍ منعتها في مكانٍ آخر، تناقض نفسك أمامه.
مثالٌ يوضّح الأثر: متجرٌ يضع في خريطته كلّ روابط التصفية والفرز (آلاف النسخ المكرّرة)، فيقول للمحرّك «هذه كلّها صفحاتٌ مهمّة». النتيجة أنّ جوجل يهدر زحفه على القمامة، وقد يقلّ ثقته بالخريطة كلّها. الخريطة النظيفة المختصرة أنفع من خريطةٍ منتفخة، تمامًا كفهرس كتابٍ يذكر الفصول لا كلّ سطر. والخبر الطيّب أنّ نواة ووردبريس وإضافات السيو تطبّق هذه القاعدة تلقائيًّا: تستبعد من خريطتها صفحات noindex والنسخ المكرّرة من نفسها، فلا تحتاج ضبطها يدويًّا في الغالب. يكفيك أن تعرف المبدأ لتتحقّق أنّ أداتك تطبّقه.
كيف يستعمل جوجل خريطتك
لتفهم لماذا تفعل ما سبق، تخيّل دورة حياة الخريطة عند جوجل. تقدّمها مرّةً، فيجلبها المحرّك ويعيد قراءتها دوريًّا من نفسه. في كلّ قراءة ينظر في العناوين: ما الجديد الذي لم يكن يعرفه فيضيفه إلى طابور الاكتشاف، وما الذي تغيّر تاريخه في <lastmod> (إن وثق به) فيرشّحه لإعادة الزحف. ثمّ يقرّر بعد ذلك أيّها يفهرس بناءً على جودته، لا على وجوده في الخريطة. فالخريطة تؤثّر في مرحلة الاكتشاف وإعادة الزحف، لا في قرار الفهرسة ولا الترتيب. من فهم هذا التسلسل عرف حدود ما تفعله الخريطة، فلم يحمّلها ما ليس فيها.
الحدود وفهرس الخرائط
لملف الخريطة الواحد حدّان: خمسون ألف عنوانٍ كحدٍّ أقصى، أو خمسون ميغابايت غير مضغوطة، أيّهما أسبق.[2] فإن تجاوز موقعك ذلك، تقسّم خرائطك (مقالات، صفحات، تصنيفات) وتجمعها تحت فهرس خرائط الموقع (Sitemap Index): ملفٌّ واحد يشير إلى بقيّة الملفّات، تقدّمه وحده للمحرّك. أشبه بموسوعةٍ من مجلّداتٍ عدّة يجمعها فهرسٌ واحد. ويمكنك ضغط الملفّات بصيغة gzip لتخفيفها، مع بقاء الحدّ على الحجم غير المضغوط. ولا تحتاج الفهرس ما دام موقعك دون هذا الحدّ؛ أكثر المدوّنات تكتفي بخريطةٍ واحدة أو بفهرسٍ صغير يولّده نظامها تلقائيًّا. الفهرس أداة توسّعٍ للمواقع الكبيرة، لا تعقيدٌ تفرضه على موقعٍ صغير بلا حاجة.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap><loc>https://example.com/wp-sitemap-posts-post-1.xml</loc></sitemap>
<sitemap><loc>https://example.com/wp-sitemap-taxonomies-category-1.xml</loc></sitemap>
</sitemapindex>
خريطة XML وخريطة HTML: لا تخلط
ثمّة نوعٌ آخر يُخلَط به: خريطة الموقع بصيغة HTML. الفرق في الجمهور والغرض. خريطة XML للمحركات: ملفٌّ منظّم لا يقرؤه الإنسان عادةً. وخريطة HTML للزوّار: صفحةٌ في موقعك تسرد أقسامه بروابط تسهّل التنقّل. الأولى أداة اكتشافٍ للزاحف، والثانية تحسينٌ لتجربة الزائر (وفائدتها للسيو غير مباشرة عبر الربط الداخليّ).
ونقطةٌ عملية تربط هذا المقال بمقال «السيو التقني»: يمكنك وضع وسوم hreflang للنسخ متعدّدة اللغات داخل خريطة الموقع نفسها بدل رأس كلّ صفحة، وهو أنظف للمواقع الكبيرة متعدّدة اللغات. (وسأفرد لأنواع الخرائط المتخصّصة قسمًا بعد قليل.)
خرائط الوسائط: الصور والفيديو والأخبار
إلى جانب خريطة الصفحات، ثمّة خرائط متخصّصة لأنواع محتوًى بعينها. خريطة الصور تعرّف جوجل بصورك المهمّة، وخريطة الفيديو تصف مقاطعك (عنوانها ووصفها ومدّتها ورابط تشغيلها)، وخريطة الأخبار للمواقع المقبولة في «أخبار جوجل». وغالبًا تُدمَج معلومات الصور والفيديو داخل خريطتك العادية بإضافة وسومٍ خاصّة للمُدخَل، كهذا المثال لصورةٍ ضمن صفحة:
<url>
<loc>https://example.com/recipe/</loc>
<image:image>
<image:loc>https://example.com/img/dish.jpg</image:loc>
</image:image>
</url>
ولست محتاجًا إلى هذه الخرائط الخاصّة إن كان موقعك مدوّنةً عادية؛ إضافات السيو تولّد خريطة صورٍ تلقائيًّا حين تحتاجها. اعرف أنّها موجودة لتستعملها حين تكبر (متجرٌ بصورٍ كثيرة، أو موقع فيديو).
المواقع الكبيرة: كيف تقسّم خرائطك
حين يتجاوز موقعك عشرات الآلاف من الصفحات، لا تكتفِ بخريطةٍ واحدة ولا تكدّس كلّ شيءٍ في ملفٍّ ضخم. قسّم خرائطك تقسيمًا منطقيًّا (خريطةٌ للمقالات، وأخرى للصفحات، وأخرى للتصنيفات، وأخرى للمنتجات) تحت فهرسٍ واحد. لهذا التقسيم فائدتان: يبقى كلّ ملفٍّ تحت الحدّ المسموح، والأهمّ أنّه يسهّل التشخيص، إذ يريك تقرير Search Console عدد المفهرس من كلّ خريطةٍ على حدة، فإن رأيتَ خريطة المنتجات وحدها تعاني عرفتَ أين المشكلة. ولا تُدرِج في خرائطك إلا العناوين التي تريد فهرستها فعلًا؛ فالموقع الكبير أحوج ما يكون إلى ألّا يهدر زحف جوجل على صفحاتٍ لا قيمة لها.
كيف تنشئها وتقدّمها
على ووردبريس، لستَ محتاجًا إلى إضافةٍ لمجرّد امتلاك خريطة: يولّد ووردبريس خريطةً تلقائيًّا منذ الإصدار 5.5 على العنوان /wp-sitemap.xml، ويشير إليها في robots.txt من نفسه.[4] وإن استعملتَ إضافة سيو مثل Yoast أو Rank Math، فهي تولّد خريطتها الخاصّة (غالبًا على /sitemap_index.xml) وتعطّل خريطة النواة لتجنّب التكرار. والخريطة الأساسية في ووردبريس مقسّمةٌ تلقائيًّا بالنوع (مقالات، صفحات، تصنيفات، مستخدمون) تحت فهرسٍ واحد، وهو بالضبط ما تحتاجه المواقع حين تكبر. أمّا الموقع المبنيّ يدويًّا، فتولّد خريطته بأداةٍ (كـScreaming Frog التي تزحف موقعك وتصدّر عناوينه القابلة للفهرسة)، ثمّ ترفع الملف إلى جذر الموقع كأيّ ملفٍّ آخر.
وللتقديم طريقتان تكمّل إحداهما الأخرى: أرسِل رابط الخريطة في تقرير خرائط الموقع في Google Search Console، وأضِف سطر Sitemap: في ملف robots.txt (كما مرّ في المقال السابق) ليجدها أيّ زاحفٍ من نفسه. وهنا تصحيحٌ مهمّ: كانت هناك «نقطة إشعارٍ» (ping) تنادي بها جوجل عند كلّ تحديث، وقد ألغتها جوجل سنة 2023 لأنّ أكثر استعمالها كان عبثًا، وصارت تُرجِع خطأً.[3] فلا تطارد هذه الحيلة القديمة؛ يكفي أن تقدّم خريطتك مرّةً، ويعيد جوجل قراءتها دوريًّا.
وموضع ملف الخريطة نفسه يحكم ما يجوز أن تُدرِج فيه: تشمل الخريطة العناوين الواقعة في مجلّدها أو أدنى منه فقط، فخريطةٌ على /blog/sitemap.xml لا يجوز أن تسرد عناوين خارج /blog/. لذلك يُنصَح بوضع الخريطة في جذر الموقع كي تغطّي عناوينه كلّها دون قيد. والاستثناء الوحيد أن تقدّمها عبر Search Console، أو تشير إليها من ملف robots.txt على النطاق نفسه؛ فحينها يثق المحرّك أنّك تملك تلك العناوين فيقبل ما تحمله من بياناتٍ عنها، ولولا ذلك لَعدَّها إشارةً لا يُعرَف صاحبها فأهملها.[6]
وخرافةٌ أخرى تستحقّ الدفن: أنّ إعادة تقديم الخريطة في Search Console تدفع صفحاتك إلى «طابور زحفٍ ذي أولوية». لا يفعل ذلك؛ الخريطة للاكتشاف لا للأولوية. فإن كان لديك عنوانٌ واحدٌ جديدٌ تريد فهرسته بسرعة، فالأداة الصحيحة «فحص العنوان» ثمّ «طلب الفهرسة»، لا إعادة تقديم الخريطة كلّها.
ويستحقّ تقرير خرائط الموقع في Search Console وقفةً بعد التقديم: يريك حالة الجلب (أنجحت أم فشلت)، وتاريخ آخر قراءة، وعدد العناوين التي اكتشفها جوجل من خريطتك. وإن رأيتَ فجوةً كبيرة بين عدد ما في خريطتك وعدد ما فُهرِس فعلًا، فتلك إشارةٌ إلى مشكلةٍ تستحقّ الفحص: صفحاتٌ ضعيفة المحتوى، أو مكرّرة، أو محجوبة، لا مجرّد نقصٍ في الخريطة. الخريطة إذن نافذةٌ للتشخيص أيضًا، لا وسيلة تقديمٍ فحسب.
انشرها ثمّ تابعها، ولا تحرّرها بيدك
أهمّ ما يريح المبتدئ: في موقعٍ حديثٍ ديناميكيّ لن تحرّر خريطتك بيدك أبدًا. حين تنشر مقالًا أو تحذفه، تتحدّث الخريطة تلقائيًّا (بنواة ووردبريس أو إضافة السيو)، وتُضاف صفحتك الجديدة إليها دون تدخّلٍ منك. مهمّتك الوحيدة أن تقدّمها مرّةً في Search Console، ثمّ تتفقّدها بين الحين والحين للتأكّد أنّها سليمة وتُدرِج ما تريد.
لهذا احذر الخرائط الثابتة التي تُنشأ يدويًّا مرّةً وتُترَك: تتقادم بسرعة، وتصير قائمةً بصفحاتٍ نصفها تغيّر أو زال. القاعدة العملية: دع نظامك يولّد الخريطة ويحدّثها، وتفرّغ أنت للمحتوى.
جرّبه بنفسك
افتح yourdomain.com/wp-sitemap.xml (أو /sitemap_index.xml إن كنت تستعمل إضافة سيو). انظر: أهي موجودة؟ وهل تسرد صفحاتك المهمّة فعلًا؟ وهل تخلو من صفحاتٍ لا تريد فهرستها؟ ثمّ افتح Search Console وتقرير خرائط الموقع: أمُقدَّمةٌ؟ وكم عنوانًا اكتشفه جوجل منها؟ وتحقّق أيضًا أنّ سطر Sitemap: في ملف robots.txt يشير إلى العنوان الصحيح للخريطة. في دقائق تعرف إن كانت خريطتك تعمل لصالحك أم بلا فائدة.
أخطاء شائعة في الخريطة
حتى بعد أن تنشئ خريطتك، قد تفسدها أخطاءٌ متكرّرة:
- خريطةٌ لا تتحدّث: ملفٌّ ثابتٌ أنشأتَه مرّةً ونسيتَه لا يعكس صفحاتك الجديدة. اجعلها ديناميكيةً (كما تفعل نواة ووردبريس والإضافات) تتحدّث من نفسها.
- عناوينٌ تخالف صيغة الأساسيّ: إن كانت صفحاتك الأساسية على https وبشرطةٍ مائلة في آخرها، فلا تُدرِج نسخة http أو بلا شرطة؛ يجب أن تطابق الخريطة العنوان الأساسيّ حرفًا بحرف.
- إدراج ما لا يُفهرَس: صفحاتٌ عليها noindex، أو معادة توجيهًا، أو ترجع 404؛ وجودها يربك المحرّك ويهدر جلبه.
- حجب الخريطة نفسها: منع ملف الخريطة في robots.txt بالخطأ فلا يصل إليها الزاحف أصلًا.
- ملفٌّ ضخمٌ واحد: تجاوز حدّ الخمسين ألف عنوانٍ في ملفٍ واحد بدل تقسيمه بفهرس.
خرافاتٌ يجب دفنها
- «اضبط changefreq وpriority بعناية»: يتجاهلهما جوجل تمامًا؛ لا تشغل نفسك بهما.[2]
- «الخريطة تضمن الفهرسة والترتيب»: لا؛ أداة اكتشافٍ فقط، لا ضمان.[1]
- «كلّ موقعٍ يجب أن يملك خريطة»: الموقع الصغير المترابط جيّدًا قد لا يحتاجها.[1]
- «كلّما زادت الروابط في الخريطة كان أفضل»: بل أدرِج العناوين الأساسية القابلة للفهرسة فقط؛ الحشو يهدر الزحف ويربك الإشارات.
- «نادِ جوجل برابط الخريطة (ping) ليعيد الزحف»: أُلغيت هذه النقطة سنة 2023؛ قدّم عبر Search Console أو robots.txt.[3]
من الاكتشاف إلى السرعة
أتممتَ الآن جانبَي التحكّم في الزحف: robots.txt يمنع ويوجّه، وخريطة الموقع تدلّ وتُكتشِف. صار المحرّك يصل إلى صفحاتك ويعرفها. لكن حين يصلها، كيف يجدها: سريعةً مستقرّة، أم بطيئةً تتقافز أمام الزائر؟ تجربة الصفحة نفسها صارت جزءًا ممّا يقيسه جوجل. ذلك موضوع المقال التالي: «مؤشرات أداء الويب الأساسية»، حيث ينتقل الحديث من اكتشاف الصفحة إلى جودة تجربتها. ابدأ اليوم بفتح خريطة موقعك وقراءتها: أتُدرِج ما تريد، وتستبعد ما لا تريد؟ فمتى وصل الزاحف إلى صفحةٍ سريعةٍ سليمة، اكتمل نصف الطريق؛ ونصفه الآخر أن تكون تلك الصفحة سريعةً في عين الزائر، وهو ما يقيسه المقال التالي.
المصادر
- Google Search Central: Sitemaps overview. تعريف الخريطة، وأنّها أداة اكتشافٍ لا ضمان فهرسة، ومتى تحتاجها ومتى قد لا تحتاجها (حدّ ~500 صفحة).
- Google Search Central: Build and submit a sitemap. الوسوم الإلزامية، وUTF-8، والروابط المطلقة، وحدّ 50 ألف/50 ميغابايت، والفهرس، وضغط gzip، وشرط دقّة lastmod، وتجاهل changefreq وpriority.
- Google Search Central Blog (2023): Sitemaps ping endpoint is going away. إلغاء نقطة إشعار الخرائط، والتقديم عبر Search Console أو robots.txt.
- WordPress.org: XML Sitemaps in WordPress 5.5. توليد ووردبريس خريطةً تلقائيًّا على /wp-sitemap.xml منذ الإصدار 5.5.
- sitemaps.org: Sitemaps XML protocol. المعيار المفتوح لصيغة الخريطة ووسومها وحدودها.
- Google Search Central: Manage your sitemaps with sitemap index files. قاعدة موضع ملف الخريطة ونطاق العناوين التي يجوز إدراجها، والتقديم عبر النطاق نفسه أو Search Console.