@astrojs/ sitemap
هذا الدمج من أسترو يولد sitemap استنادًا إلى صفحاتك عند إنشاء مشروع أسترو الخاص بك.
لماذا أسترو sitemap
قسم بعنوان لماذا أسترو sitemapيعد SiteMap ملف XML الذي يحدد جميع الصفحات ومقاطع الفيديو والملفات على موقعك .محركات البحث مثل Google تقرأ هذا الملف لتمحيص موقعك بشكل أكثر كفاءة. شاهد نصيحة Google الخاصة ب Sitemap لتعلم المزيد.
يوصى بملف Sitemap للمواقع الكبيرة متعددة الصفحات.إذا لم تستخدم خريطة Sitemap ، فستظل معظم محركات البحث قادرة على إدراج صفحات موقعك ، ولكن خريطة Sitemap هي وسيلة رائعة لضمان أن موقعك صديق لمحركات البحث قدر الإمكان.
باستخدام أسترو Sitemap ، لا داعي للقلق بشأن إنشاء ملف XML هذا بنفسك: سوف يمحص الدمج من أسترو ل Sitemap على طرقك )(routes) المولدة بشكل ثابت وإنشاء ملف Sitemap ، بما في ذلك الطرق الدينامية مثل [...slug]
أو src/pages/[lang]/[version]/info.astro
المولدة عبر ()getStaticPaths
.
هذا الدمج من أسترو لا يمكن أن يولد بيانات Sitemap للطرق الديناميكية SSR mode.
تثبيت
قسم بعنوان تثبيتيتضمن أسترو أمر Astro Add
فيوجد إمكانية .تثبيت عمليات التكامل يدويًا يمكنك ذلك من تنصيب الدمج الرسمي. إذا كنت تفضل غير ذلك
قم بتشغيل أحد الأوامر التالية في نافذة طرفية جديدة.
إذا واجهت أي مشكلات ، لا تتردد في الإبلاغ عنها على Github وجرب خطوات التثبيت اليدوية التالية:
تثبيت يدوي
قسم بعنوان تثبيت يدويأولا ، قم بتثبيت ملف astrojs/sitemap@
الحزمة باستخدام مدير الحزمة الخاص بك.
ثم قم بتطبيق الدمج على *.astro.config
ملف باستخدام :
الاستخدام
قسم بعنوان الاستخدامastrojs/sitemap@
يتطلب رابط الموقع أو الإستضافة لكي يعمل. أضف رابط الموقع لخاصية site
على ملف *.astro.config
. يجب أن يبدأ هذا ب http:
أو https:
.
لاحظ أنه على عكس خيارات التكوين الأخرى ، site
تم تعيينه في الجذر defineConfig
المركب ، بدلاً من داخل ()sitemap
.
الآن ، إبني موقعك للإنتاج عبر astro build
. ستجد كلاهما sitemap-index.xml
و sitemap-0.xml
في مجلد dist/
(أو مجلد آخر من اختيارك عبر دليل الإخراج إذا تم تعيينه).
إذا نسيت إضافة site
, ستحصل على تحذير ودود عند البناء، و ملف sitemap-index.xml
لن يتم إنشاؤه.
بعد التحقق من بناء خرائط Sitemap ، يمكنك إضافتها إلى موقعك عبر ال <head>
و ملف robots.txt
.
لتوليد robots.txt
بشكل ديناميكي ، أضف ملفًا اسمه robots.txt.ts
كالتالي:
مثال لملفات تم إنشاؤها لموقع ويب ذو صفحتين
قسم بعنوان مثال لملفات تم إنشاؤها لموقع ويب ذو صفحتينإعدادات
قسم بعنوان إعداداتلتعيين هذا الدمج، قم بتمرير مركب في ()sitemap
عند استدعاء الدالة في astro.config.mjs
.
انتقاء
قسم بعنوان انتقاءيتم تضمين جميع الصفحات في خريطة sitemap بشكل افتراضي.عن طريق إضافة مخصص filter
الدالة ، يمكنك تصفية الصفحات المضمّنة بواسطة عنوان URL.
سيتم استدعاء الوظيفة لكل صفحة على موقعك.ال page
معلمة الوظيفة هي عنوان URL الكامل للصفحة قيد الدراسة حاليًا ، بما في ذلك مجال “الموقع” الخاص بك.إرجاع “صحيح” لتضمين الصفحة في خريطة sitemap الخاصة بك ، و “خطأ” لتركها.
لتصفية صفحات متعددة ، أضف وسائط مع عناوين URL المستهدفة.
صفحات مخصصة
قسم بعنوان صفحات مخصصةفي بعض الحالات ، قد تكون الصفحة جزءًا من موقعك المنشور ولكن ليس جزءًا من مشروع أسترو الخاص بك.إذا كنت ترغب في تضمين صفحة في sitemap الخاص بك لم يتم إنشاؤها بواسطة أسترو ، فيمكنك استخدام هذا الخيار.
حدود البيانات
قسم بعنوان حدود البياناتالعدد الأقصى للبيانات لكل ملف sitemap.القيمة الافتراضية هي 45000. يتم إنشاء فهرس Sitemap و Sitemap متعددة إذا كان لديك المزيد من البيانات.شاهد شرح تقسيم خريطة Sitemap كبيرة.
تغيير التردد، آخر تحديث، والأولوية
قسم بعنوان تغيير التردد، آخر تحديث، والأولويةهذه الخيارات تتوافق مع العلامات <changefreq>
، <lastmod>
و <priority>
في خصوصيات sitemap xml.
لاحظ أن changefreq
و priority
يتم تجاهلها من طرف Google.
بسبب قيود أسترو API Integration، لا يمكن لهذا الدمج تحليل رمز مصدر صفحة معينة. يمكن لخيار التغيير هذا تعيين changefreq
وlastmod
وpriority
على أساس مستوى الموقع ؛راجع الخيار التالي التسلسل لكيفية تعيين هذه القيم على أساس صفحة.
التسلسل
قسم بعنوان التسلسلهي دالة يتم استدعاؤها لكل إدخال في خريطة sitemap قبل الكتابة إلى قرص. يمكن أن تكون هذه الوظيفة متزامنة.
يستقبل كمعلمة المركب SitemapItem
الذي يمكن أن تكون له الخصائص التالية:
url
(url الصفحة المطلقة). هذه هي الخاصية الوحيدة المضمونةSitemapItem
في.changefreq
lastmod
(ISO تاريخ التنسيق،String
النوع)priority
links
.
هذه الخاصية links
تحتوي على LinkItem
قائمة الصفحات البديلة بما في ذلك الصفحة الأم.
ال LinkItem
يحتوي على حقلان: url
(العنوان URL المؤهل بالكامل لإصدار هذه الصفحة للغة المحددة) و lang
(رمز اللغة المدعوم الذي يستهدف هذا الإصدار من الصفحة).
الدالة التسلسل
يجب أن ترجع SitemapItem
, غيرت أم لا.
يوضح المثال أدناه القدرة على إضافة خصائص محددة على Sitemap بشكل فردي.
عالمية اللغة
قسم بعنوان عالمية اللغةلإنشاء sitemap بلغة محلية ،قم بتمرير مركب إلى خيار i18n
.
هذا المركب له خصائص مطلوبة:
String
:defaultLocale
. يجب أن توجد قيمتها كواحدة من مفاتيحlocales
.Record<String, String>
:locales
, أزواج - key/value . يتم استخدام المفتاح للبحث عن جزء محلي في مسار الصفحة.القيمة هي سمة الغة ، فقط الأبجدية والواصلة الإنجليزية هي المسموح بها.
ال sitemap الناتج يبدو مثل هذا:
أمثلة
قسم بعنوان أمثلة- يستخدم موقع أسترو الرسمي Astro Sitemap لإنشاء خريطة sitemap.
- تصفح المشاريع التي تستخدم Astro sitemap على github لمزيد من الأمثلة!