معظم خرائط المواقع التي نراجعها تفشل في التحقق من الصحة. كانت خرائطنا صالحة وما زالت خاطئة
49 audited sites: 57% of sitemaps fail XML validation, and the passing ones hide worse problems. Includes the day our own valid sitemap went dark.
بين 5 مايو و15 أغسطس 2026، قمنا بالتحقق من صحة خريطة الموقع XML لكل موقع أنهى تدقيقًا — 49 نطاقًا، أحدث لقطة لكل منها. 28 منهم، 57.1%، فشلوا في التحقق من الصحة مباشرةً: غير صحيح XML، نقص مساحة اسم البروتوكول، مدخلات loc مكسورة، أو قيم lastmod لا يُطلب من الزاحف الالتزام بها.
هذا يجعل خريطة الموقع هي أكثر ملف اكتشاف مكسور نقيسه. وفي نفس الأسبوع الذي جمعنا فيه هذه الأرقام، وجدنا أكثر فشل خريطة موقع تعليمي في مجموعة البيانات بأكملها على نطاقنا الخاص — داخل خريطة موقع اجتازت كل فحوصات التحقق.
أكثر من نصف خرائط المواقع تفشل قبل أن يقرأ الزاحف أول URL
يعمل محركنا على 4 فحوصات خريطة موقع منفصلة، وتفشل بترتيب واضح. التحقق — أبسط فحص — يفشل أكثر. الفحوصات الأعمق، التي تسترجع الروابط المدرجة وتختبر ما إذا كان كل منها يستحق أن يكون في خريطة موقع على الإطلاق، تفشل أقل تواترًا لكنها تكلف أكثر عندما تفشل.
| XML يتحقق من صحة البروتوكول الخاص بخريطة الموقع | 49 | 28 | 57.1% |
| الروابط المدرجة خالية من 404 ناعمة | 46 | 10 | 21.7% |
| الروابط المدرجة خالية من أوامر noindex | 21 | 7 | 33.3% |
| URLs المدرجة تُجيب دون إعادة توجيه | 19 | 5 | 26.3% |
المنهجية: أحدث لقطة تدقيق مكتملة لكل نطاق من مجموعتنا الحالية، مايو 5 – August 15, 2026، مجهولة الهوية. المواقع التي تم تدقيقها 49؛ المقام لكل فحص يختلف بين 19 و 49 لأن الفحوصات الأعمق تُجرى فقط حيث يمكن جلب خريطة الموقع ومواقعها المختارة فعليًا. العينة مختارة ذاتيًا — مالكو المواقع الذين أجروا تدقيقًا — وتميل إلى الصغر إلى المتوسط. عامل التقييم كاتجاه.
الفشل في التحقق من التفاصيل التي لا يختبرها معظم المولدات
بروتوكول خريطة الموقع صغير، وهذا بالضبط السبب في أن فشله قابل لتجنّب. يتحقق مُقَيِّمنا مما يتطلبه البروتوكول فعليًا: يُحلل المستند كـ XML، العنصر الجذري هو urlset أو sitemapindex ويعلن مساحة اسم خريطة الموقع، كل إدخال يحمل loc غير فارغ واحد هو مسار مطلق HTTP أو HTTPS URL على نفس الموقع كخريطة الموقع، وأي lastmod هو تاريخ W3C صالح أو تاريخ مع توقيت.
تتجمع الفشل على القواعد الأخيرة 2. عادةً ما تعني إدخالات loc عبر المواقع اسم مضيف تجريبي أو أصل CDN تسرب إلى الإنتاج. و lastmod هو البطل الصامت للقيم غير الصالحة: يحب المولدون كتابة طوابع زمنية لقاعدة البيانات مثل 2026-07-14 19:10:31 — مسافة بدلاً من T، لا توقيت — وهو ليس تاريخًا W3C. تقول وثائق خريطة موقع Google (https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap) إنه يستخدم lastmod عندما تكون القيم دقيقة ومتحققة باستمرار؛ تنسيق لا يمكنه تحليله يتخلى عن ذلك الإشارة في كل إدخال. تفشل الملفات المقصوصة أيضًا: خريطة موقع تُقطع أثناء النقل ليست خريطة موقع أصغر، إنها خريطة مكسورة.
كل فشل من هذا النوع هو إصلاح طبقة التكوين، نفس النمط الذي وجدناه في المواقع التي تفشل في فحوصات 10 أكثر: الأخطاء تحت أي شيء يعرضه المتصفح، لذلك لا يراها أحد بدون جهاز يراقب.
يمكن لخريطة موقع صالحة أن ترسل الزواحف إلى صفحات ميتة
تُعامل فحوصات 3 الأعمق خريطة الموقع كمجموعة من الادعاءات وتختبر كل واحدة. يثبت إدخال خريطة الموقع: هذا URL حي، قابل للفهرسة، ويستحق وقت الزاحف. يجلب محركنا URLs المختارة ويبحث عن تناقضات 3:
- URLs غير مفهرسة — 33.3% من المواقع المُقيّمة. يقول إدخال خريطة الموقع "فهرس هذا"; توجيه
noindexللروبوتات على نفس URL يقول "لا تفهرس". تحل الزواحف التناقض في الاتجاه الذي لا ترغب فيه، وتدهور الإشارة المختلطة الثقة في بقية الملف. 1 في 3 من المواقع التي يمكننا جلب أعضاء خريطة الموقع لديها على الأقل 1 من هذه التناقضات حية. - إعادة توجيه الروابط — 26.3%. الإدخالات التي 301 أو 302 في مكان آخر. يجب أن تُدرج خريطة الموقع الروابط النهائية؛ كل إعادة توجيه فيها هي ادعاء قديم ورحلة إضافية لكل عملية فهرسة.
- 404s الناعمة — 21.7%. الصفحات التي تجيب 200 لكنها ليست موجودة فعليًا: ردود رقيقة عنوانها أو عنوانها أو نصها الافتتاحي يقول "غير موجود"، صفحات بها كلمات قليلة جدًا، أو صفحات تُعادل الصفحة الرئيسية. كل واحدة منها تستهلك ميزانية الفهرسة وتعلم الزواحف أن خريطة موقعك تُبالغ.
هذه المعدلات أقل من رقم التحقق، لكن الترتيب ينعكس عندما تقيس العواقب. تكلفة غير صالحة lastmod تكلفك تلميح جدولة. خريطة موقع مليئة بالتناقضات و404s الناعمة تكلفك ثقة الزاحف في الملف بأكمله.
خريطة موقعنا الخاصة اجتازت التحقق مع إخفاء كل مقال
في 15 أغسطس 2026، اكتشفنا أن خريطة موقع seoreport.dev كانت تُستبعد بصمت كل مقال URL الذي نشرناه من قبل.
السبب كان تقوية التفويض التي نشرناها في أغسطس 1. نقل مسارات مكوّن API إلى رفض افتراضي — الوضع الأمني الصحيح — لكن قائمة السماح سمحت فقط بسطح داخلي واحد. بدأت نقاط نهاية المقالات العامة في الإجابة 401 على المتصلين المجهولين، بما في ذلك مولد خريطة الموقع الخاص بنا وصفحة مقالاتنا الخاصة. التقط المولد الفشل، ولم يسجل أي شيء، وأصدر خريطة موقع صالحة تمامًا تحتوي فقط على الصفحات الثابتة. عرضت صفحة المقالات قائمة فارغة. كل مقال منشور سجل 0 مشاهدات في النافذة.
لم يثير أي شيء خوفًا لأن كل شيء استمر بالمرور. تم تحليل خريطة الموقع، وأعلنت نطاقها، ودرجت روابط الحالة 200 الحقيقية مع قيم lastmod صحيحة الشكل. وفقًا لمعيار التحقق الذي 57.1% من المواقع المدققة يفشل، كان لدينا مثالًا ممتازًا. كما أنه كان مفقودًا السبب الكامل لوجوده. كان الفشل غير مرئي بالضبط لأن الملف ظل صالحًا نحويًا — التراجع الساكن إلى مخرجات مقنعة أسوأ من تعطل، لأن التعطل يُصلح في نفس اليوم.
أصلحناه في نفس اليوم، في 4 حركات. الآن يتيح حافة التفويض قراءات المقال المنشور صراحةً — قائمة، حسب الاسم المختصر، عدّاد المشاهدات — محدودة بالمنهج، بينما تبقى المسودات والتغييرات رفضًا افتراضيًا. الآن يدوّن مولد خريطة الموقع وجالعات المقالات فشل سطح عام عند مستوى الخطأ بدلاً من التراجع. يراقب بُعد فحص الصحة مسار المقال المجهول باستمرار، لذلك هذا النوع من صفحات الانقطاع يُعامل مشغلًا بدلاً من الانتظار حتى يلاحظ إنسان صفحة فارغة. وأعدنا تقديم مجموعة URL الكاملة عبر IndexNow في نفس اليوم — ما أدى إلى درس آخر: ملف مفتاح IndexNow المستضاف تحت /.well-known/ يمكنه فقط تأكيد URLs تحت ذلك المسار، لذا ضع المفتاح في جذر الموقع أو كل تقديم على مستوى الموقع سيعود بـ 422.
عقد النظافة: خريطة الموقع هي مجموعة من الوعود حول كل URL فيها
التحقق هو الأرضية. القيم المعيارية التي يجب الاحتفاظ بها هي أن كل إدخال يحافظ على 4 ووعود، بالإضافة إلى 1 وعد حول الملف نفسه: لا 3xx، لا 404، لا صفحة التحدي. قائمة بالـ URLs النهائية فقط. تحقق ميكانيكيًا: 1. حي: URL يجيب 200 مباشرة.
curl -s https://example.com/sitemap.xml \| grep -o '<loc>[^<]*</loc>' | sed 's/<[^>]*>//g' \| xargs -n1 -P4 curl -s -o /dev/null -w '%{http_code} %{url_effective}' \| grep -v '^200'
أي إخراج هو انتهاك.
2. قابل للفهرسة: لا توجد توجيهات متضاربة. لا <meta name="robots" content="noindex">, no X-Robots-Tag: noindex رأس، لا قاعدة robots.txt تمنع المسار. إذا كان URL لا يجب فهرسته، فإن الحل هو إزالته من خريطة الموقع، وعدم إدراجه مع noindex.
إدخال حيث يشير rel=canonical إلى مكان آخر يخبر الزواحف بفهرسة URL مختلف عن الذي أرسلته. قائمة بالـ canonical، أزل النسخة المتغيرة. 3. Canonical: الصفحة تُعَدّ نفسها كـ canonical.
تنسيق W3C فقط — 2026-08-24 أو 2026-08-24T08:00:00-05:00 — مدفوع بالتغييرات الحقيقية للمحتوى. خط أنابيب البناء الذي يطبع كل إدخال مع وقت النشر يعلن أن lastmod لا يعني شيئًا، وتتعلم الزواحف أن تعاملها هكذا. 4. صحيح lastmod.
هذا هو الوعد الذي كسرته حادثتنا الخاصة. XML لا يذكر أي شيء عن التكوين، لذا راقب التكوين مباشرةً — أكد أن كل فئة متوقعة URL موجودة، وأبلغ عندما تنهار فئة إلى 0: 5. مكتمل: الملف يحتوي على ما يجب أن يحتوي عليه، ويقوم شخص ما بالتحقق.
count=$(curl -s https://example.com/sitemap.xml | grep -c '/articles/')[ "$count" -ge 1 ] || echo "ALERT: sitemap lost its article URLs"
واجعل المولد صادقًا: عندما يفشل مصدر البيانات، سجِّل بصوت عالٍ وفشل البناء. يجب ألا يتحول مُنشئ خريطة الموقع إلى ملف أصغر غير صالح أبدًا. الأول 4 وعود هي ما يتحقق منه تدقيقنا في كل تشغيل — يُظهر التقرير المجاني أي الإدخالات تكسر أي وعد، مع الروابط الدقيقة. يتطلب الخامس معرفة ما يجب أن يحتوي عليه خريطة الموقع الخاصة بك، وهو ما تعرفه أنت فقط؛ الطريقة المنهجية لدمج ذلك في روتين قابل للتكرار مغطاة في كيفية إجراء تدقيق SEO منهجي. خريطة الموقع التي تتحقّق لا تُعد خريطة موقع حقيقية. 57.1% من المواقع لم تصل إلى القاع، والقاع هو فترة بعد الظهر من الإصلاحات. السقف — ملف يكون فيه كل إدخال حيًا، قابلًا للفهرسة، تقنيًا، مُوَّد بتاريخ صادق، ومكتمل — هو ما يجعل الزواحف تتعامل مع خريطة موقعك كمصدر للحق. نحتفظ بكل المعايير تحت فحص مستمر الآن، لأننا تعلمنا الفرق في نطاقنا الخاص، بالطريقة الصعبة، مع أن المُتحقق يقول إن كل شيء كان جيدًا.
انظر كيف يصنف موقعك
احصل على تقرير مجاني مدعوم بالذكاء الاصطناعي SEO مع نتائج قابلة للتنفيذ وإصلاحات أولوية لموقعك.
لا حاجة للتسجيل.