كل المقالات

توليد sitemap.xml: كيف تبني خريطة موقع تلقائيًا

كتابة sitemap.xml يدويًا لكل صفحة جديدة عمل روتيني يسهل الاستغناء عنه بتوليد الملف تلقائيًا من قائمة بسيطة بعناوين الموقع.

أي الحقول تهم فعليًا

وسم <loc> بالعنوان المطلق للصفحة هو الحقل الإلزامي الوحيد. يستحق <lastmod> أن يُملأ بدقة، لأن Google يستخدمه فعلًا في تحديد أولوية إعادة الزحف — بخلاف <priority> و<changefreq>، اللذين صرّح محرك البحث نفسه بأنه يتجاهلهما في الغالب.

نطاق عربي وترميز المسار حرفًا بحرف

نطاق مثل موقع.مصر يجب تحويله إلى Punycode قبل أن يدخل ضمن <loc>، أما المسار العربي فيُرمَّز بايتًا بايتًا وفق UTF-8: كلمة "مقالة" تتحوّل إلى تسلسل مثل %D9%85%D9%82%D8%A7%D9%84%D8%A9. الأداة تنجز هذا تلقائيًا، لكن معرفة السبب يفسّر لماذا يبدو الرابط داخل الملف مختلفًا تمامًا عمّا يظهر في شريط العنوان.

الروابط المطلقة وترميز الرموز الخاصة

يجب أن يكون كل عنوان في sitemap مطلقًا (يتضمن البروتوكول والنطاق)، ويجب كتابة رموز مثل علامة العطف كوسم XML (&amp;) — وإلا توقّف الملف عن كونه XML صالحًا، وقد يرفضه محرك البحث بالكامل بدل تجاهل السطر الخاطئ فقط.

لماذا نحتاج إلى هذا

  • تجميع sitemap.xml صحيح من قائمة عناوين دون كتابة XML يدويًا.
  • تفادي أخطاء التنسيق التي تجعل محرك البحث يرفض الملف بأكمله.
  • إعادة توليد الملف بعد إضافة صفحات جديدة دون تعديل الترميز يدويًا.

الأرقام الهندية العربية ومشكلتها في priority

لوحات المفاتيح العربية تُدخل أحيانًا الأرقام بالشكل ٠١٢٣٤٥٦٧٨٩ بدل الأرقام اللاتينية 0123456789؛ إذا انزلق رقم مثل هذا إلى حقل <priority> أو <lastmod> عند التحرير اليدوي، يفشل تحليل الملف لأن معيار sitemaps.org يتوقّع أرقامًا لاتينية حصرًا — توليد الملف تلقائيًا من الأداة يتجنّب هذا الخلط من الأساس.

جرّب الأداة