Jump to content

امتداد:AutoSitemap

From mediawiki.org
This page is a translated version of the page Extension:AutoSitemap and the translation is 100% complete.
الدليل المرجعي لامتدادات ميدياويكي
AutoSitemap
حالة الإصدار مستقر
تنفيذ MyWiki , تصرف خاصة بالصفحة
بيان ينشئ ملف خريطة موقع «Sitemap» ويحدثه آليا وقتما يطرأ على أي صفحة في الموقع أي تغيير.
المؤلف/المؤلفون Dolfinus, François Boutines-Vignard, Jehy, Thomas
آخر إصدار 1.8.2 (2024-10-29)
MediaWiki 1.28+
تغييرات قاعدة البيانات لا
ترخيص رخصة جنو العمومية 3.0 أو ما بعدها
التنزيل
README
مثال خريطة موقع مولّدة
$wgAutoSitemap

يجمّع امتداد AutoSitemap آليًا ملف «sitemap.xml» في كل حالة يطرأ فيها على الصفحة إنشاء أو تعديل أو حذف. يساعد ملف خريطة الموقع محركات البحث في متابعة صفحات موقعك. يستند الامتداد إلى الامتداد ManualSitemap .

الأساس المنطقي

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

لهذا السبب عدّلت امتداد قائم كي يتولى تحديث خريطة الموقع تلقائيًا حينما يطرأ على أي صفحة حالة تعديل أو إنشاء أو حذف أو إعادة تسمية أو رفع أو أي شيء خلاف ذلك.

ملحوظة

يمكن استخدام هذا الامتداد في حالات ميدياويكي الصغيرة (التي تصل إلى 10 آلاف صفحة). لو كانت حالة ميدياويكي لديك أكبر من 50 ألف صفحة، يجب عليك استخدام GenerateSitemap.php بدلًا منه لأنه يساند ملف فهرس خريطة الموقع ويمكنه إنشاء ملفات مستقلة لكل نطاق اسم ويضغط ملفات خريطة الموقع وكذلك صمم كي يمكن تشغيله حسب جدول بدلًا من تشغيله بعد تعديل كل صفحة.

تنصيب

  • تنزيل وضع الملف/الملفات في دليل يحمل اسم ‎AutoSitemap في مجلد ‎extensions/‎ لديك.
  • أضف الكود التالي في الجزء الأسفل من ملف LocalSettings.php :
    wfLoadExtension( 'AutoSitemap' );
    
  • تنفيذ أية تغييرات على أي من صفحات موقعك الويكي، مثل إنشاء صفحة أو تحديث صفحة قائمة
  • سوف يوّلد ملف خريطة الموقع آليًا
  • Yes تم التنفيذ – اذهب إلى Special:Version على موقع الويكي لديك كي تتحقق من أن الامتداد قد ثبت بنجاح.

إعداد

توجد بعض المتغيرات الاختيارية التي تغير من طريقة توليد خريطة الموقع. يمكنك ضبطها من LocalSettings.php لديك.

اسم الملف

يمكنك تحديد اسم ملف خريطة الموقع عن طريق ضبط الآتي:

$wgAutoSitemap["filename"] = "sitemap.xml"; //default value

ضبط معرف موارد موحد أساسي

المعتاد هو أن كافة معرفات المصادر الموحدة في خريطة الموقع تستخدم $wgCanonicalServer (أو $wgServer لو لم يكن مضبوطًا) في صفة بادئة المجال. لو كنت ترغب في ضبطها إلى قيمة أخرى، يمكنك تغييرها يدويًا عن طريق ضبط ما يلي:

$wgAutoSitemap["server"] = "https://your-site.com";

استثناء أنواع من الصفحات من خريطة الموقع

يمكنك استثناء نطاقات اسم أو صفحات بعينها من أن تضاف إلى خريطة الموقع كما يلي:

$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,   
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_FILE_TALK,
    NS_MEDIAWIKI,   
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP,   
    NS_HELP_TALK,
    NS_CATEGORY_TALK
]; //default values

$wgAutoSitemap["exclude_pages"] = ['page title to exclude', 'other one'];

لو كنت تحتاج لاستبعاد نطاق اسم مخصص من خريطة الموقع، مرر هنا معرف نطاق الاسم (عدد صحيح) بدلًا من ثابت الاسم.


ضبط مدى تواتر تحديث الصفحة

يمكنك أن تحدد يدويًا مدى التواتر المفضل الذي سوف يجري بموجبه محرك البحث التحقق من كافة العناوين كما يلي:

$wgAutoSitemap["freq"] = "daily"; //default

القيم المتوفرة هي كما يلي:

hourly
daily
weekly
monthly
yearly
adjust - for automatic determination of frequency based on page edits count

ضبط أولوية الصفحة

يمكنك تحديد أولوية صفحات بعينها أو نطاقات اسم يدويًا كما يلي:

$wgAutoSitemap["priority"] = 0.7;

أو

$wgAutoSitemap["priority"][NS_MAIN] = 1;
$wgAutoSitemap["priority"][NS_CATEGORY] = 0.8;

أو

$wgAutoSitemap["priority"]['Main page'] = 1;
$wgAutoSitemap["priority"]['Other page'] = 0.8;

أعمال إعادة إنشاء خريطة الموقع المحددة بمعدل

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

$wgAutoSitemap["min_age"] = 3600; // 1 hour, default 0 (no rate-limit)

الاستخدام

Blank page after installing extension

Please follow Manual:How to debug instruction to get exception message interrupting page render process. Usually this is caused by passing undefined constant to $wgAutoSitemap["exclude_namespaces"].

السماحات

يجب أن يُسمَح لمجلد ميدياويكي لديك أن ينهض بأعمال كتابة (chmod +w مع chown apache أو chown nginx).

Htaccess, Nginx

لو كنت ترغب في الاطلاع على خريطة موقع يمكن للبشر قراءتها، اسمح بإمكانية وصول قراءة إلى ملف sitemap.xsl في إعدادات موقعك (ملف .htaccess أو خلافه).

انظر أيضا