سایت مپ جنگو
جنگو سئو

ایجاد سایت مپ در جنگو

  • 1403/09/14

سایت مپ چیست؟
سایت‌مپ یا نقشه سایت، یک فایل XML است که معمولاً در ریشه وب‌سایت قرار دارد و به موتورهای جستجو می‌گوید که صفحاتی که باید در جستجوهایشان در نظر گرفته شوند را چگونه باید ایندکس کنند...

Django Sitemap

در جنگو، شما می‌توانید با استفاده از ماژول django.contrib.sitemaps و کلاس‌های مربوطه سایت‌مپ‌های خود را تعریف کرده و سپس آنها را به فایل urls.py اضافه کنید...

فعال سازی سایت مپ جنگو:

وارد تنظیمات پروژه شوید settings.py و سپس در بخش INSTALLED_APPS سایت مپ را اضافه کنید...

# django_project/settings.py

INSTALLED_APPS = [
   "django.contrib.admin",
   "django.contrib.auth",
   "django.contrib.contenttypes",
   ...,
   "django.contrib.sitemaps",
   "django.contrib.sites",
]

بعد از زدن دستور migrate در پنل ادمین بخشی به نام Sites اضافه می‌شود...

ایجاد کلاس sitemap

در فولدر اپ یک فایل به نام sitemaps.py ایجاد کنید...

نمونه کامل:

class ArticleSiteMap(Sitemap):
    protocol = 'https'
    priority = '0.5'
    changefreq = 'yearly'

    def items(self):
        return Article.objects.filter(status=True)

    def location(self, obj):
        return f'/article/{obj.slug}'

    def lastmod(self, obj):
        return obj.date_created

تنظیمات آدرس:
وارد urls.py در اپ اصلی شوید و sitemap رو import کنید...

from django.contrib.sitemaps.views import sitemap
from blog.sitemaps import ArticleSiteMap

sitemaps = {
    'article': ArticleSiteMap,
}

path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),

لینک منبع

دیدگاه
نوشتن یک دیدگاه

آدرس ایمیل شما منتشر نخواهد شد، فیلدهای الزامی علامت گذاری شده است*.

عضویت در خبرنامه

رایگان ثبت نام کنید و اولین نفری باشید که از پست های جدید مطلع می شوید.