سكربت خريطة الموقعالتطوير والتخصيص

سكربت Python يتجول في موقعك ويكتب ملف sitemap.xml نظيفًا بالصفحات التي تعمل فعلًا

جاهز عادةً خلال 15 دقيقةالتعديلات مشمولةفحص الجودة
الباقات
حماية الدفعالتفاصيل
  • التعديلات ضمن الباقة مجانية.
  • إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.

يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

سكربت Python يتجول في موقعك ويكتب ملف sitemap.xml نظيفًا بالصفحات التي تعمل فعلًا

مثال على النتيجة

مثال على الباقة القياسية

دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد

طريقة التشغيل

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN  shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO  تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)

إعدادات لا كود

أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:

[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة

جزء من الكود

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.

العميل: سلسلة صغيرة من 9 متاجر للأدوات المكتبية؛ يرسل كل متجر مبيعاته الشهرية في ملف CSV أو Excel، بأسماء أعمدة تختلف قليلًا من متجر إلى آخر. المهمة: سكربت واحد يقرأ كل ملف في مجلد، ويوحّد الأعمدة في شكل واحد، ويكتب تقرير Excel واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.

العميل وجميع التفاصيل افتراضية.

عن هذه الخدمة

يخبر ملف sitemap.xml محركات البحث بالصفحات الموجودة في موقعك. كثير من منشئي المتاجر ومنصات المواقع يُنشئونه بالفعل، لذا تحقق من ملفك أولًا؛ هذا السكربت للمواقع المبنية يدويًا أو الأقدم، أو حين تسرد خريطة الموقع لديك صفحات لم تعد تعمل. يبدأ من صفحتك الرئيسية، ويتبع روابطك الداخلية بوتيرة مهذبة، ولا يحتفظ إلا بالصفحات التي تُفتح بشكل طبيعي: بلا أخطاء ولا تحويلات ولا نسخ بوسوم تتبع، وبدءًا من الباقة القياسية بلا صفحات مميزة بـ noindex. يكتب ملف sitemap.xml وفق قواعد sitemaps.org، وفي الباقة المميزة يقسم الموقع الكبير إلى عدة ملفات مع فهرس. ترفع الملف إلى موقعك وتضيفه في Google Search Console بنفسك. تساعد خريطة الموقع على العثور على الصفحات؛ ولا تضمن الفهرسة أو المراكز.

ما المشمول

  • ما الذي تحصل عليهأرشيف ZIP يضم سكربت Python وملف README بتعليمات خطوة بخطوة، ومن الباقة القياسية ملف إعدادات بالأقسام والحدود؛ ويُعرض الكود أيضًا في صفحة الطلب.
  • الصفحات التي تعمل فقطبلا أخطاء ولا تحويلات ولا عناوين مكررة
  • وفق المعيارsitemap.xml كما هو موصوف في sitemaps.org
  • أقسام مستثناةالبحث أو السلة أو الفلاتر أو أي شيء تحدده
  • وتيرة مهذبةتوقف بين الصفحات كي لا يُثقل موقعك
  • كود مقروءمع تعليقات، ليسهل تغيير أي قاعدة لاحقًا

كيف يعمل

  1. 1
    المهمةتعطينا عنوان الموقع وما يُستثنى
  2. 2
    الكودنكتب السكربت ودليل تشغيله
  3. 3
    جرّبهتشغّله وتراجع قائمة الصفحات وترفع الملف
  4. 4
    التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ

ما نحتاجه منك

عنوان موقعك، وعدد صفحاته التقريبي، والمنصة المبني عليها (إن كنت تعرفها)، وهل لديه خريطة موقع بالفعل. الأقسام وأنواع العناوين المطلوب استثناؤها، مثل نتائج البحث وصفحات الفلاتر والسلة أو العناوين التي تحتوي على ?sort=. هل للموقع عدة لغات أو نطاقات فرعية. نظامك: Windows أو macOS أو Linux.

سنسألك:

  • ما عنوان موقعك؟
  • هل لديه خريطة موقع بالفعل؟
  • ما الذي يجب استبعاده؟

قارن بين الباقات

الباقاتالأساسيةخريطة موقع واحد‏16 US$القياسيةخريطة الموقع مع الإعدادات‏33 US$المميزةأداة خريطة الموقع‏67 US$
مدة التنفيذ1 يوم2 يوم3 أيام
التعديلات123
الكودحتى 150 سطرًاحتى 400 سطرحتى 1,000 سطر
ملفات الكود1حتى 3حتى 8
ملف الإعداداتلانعمنعم
رسائل خطأ واضحة وسجللانعمنعم
خيارات التشغيل ودليل لتشغيله وفق جدول زمنيلالانعم
دليل التثبيت والتشغيل (README)نعمنعمنعم
اللغةPythonPythonPython
اطلب الأساسيةاطلب القياسيةاطلب المميزة

حماية الدفع

تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.

  • سعر ثابتلا يتغير سعر الباقة بعد الدفع.
  • المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
  • فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
  • تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
  • القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
  • إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
كيف يعمل →

الأسئلة والأجوبة

هل سيُدخل هذا صفحاتي إلى Google؟

تساعد خريطة الموقع محركات البحث على العثور على صفحاتك، لكنها هي التي تقرر ما تفهرسه وكيف ترتّبه. لا نعد بالفهرسة أو الزيارات أو المراكز.

هل يحدّث خريطة الموقع من تلقاء نفسه؟

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

هل يرى الصفحات التي لا يقود إليها أي رابط؟

لا، يجد الصفحات باتباع الروابط، كما يفعل الزائر. ويمكن إضافة الصفحات التي لا يقود إليها أي رابط من قائمة تقدمها في الإعدادات.

هل سترفعونه إلى موقعي؟

لا. لا نسجّل الدخول أبدًا إلى موقعك أو استضافتك. يوضح ملف README كيفية رفع sitemap.xml وإضافته في Google Search Console.

لم تجد إجابتك؟

الباقات