Django - 来自谷歌的站点地图文件。如何服务呢?

时间:2017-04-18 16:39:08

标签: python django apache

所以这就是问题所在。我之前从未使用过Django,但我们公司接管了一个用Django构建的网站的SEO。我有sftp访问该站点和cms登录信息。 (我们不主持这个)

我有几个问题:我是否需要在我的机器上本地安装任何软件,无论出于何种原因修改网站?我在说什么是CLI或类似的东西? (当然我有我选择的IDE - phpstorm)

我是Django(和python)的新手 - 这是我的曝光,根据我的理解,通常有一个使用Django的构建过程 - 例如dev staging和production site。我当然没有构建过程,所以我正在进行生产。这对Django来说是否可行?

迫切的问题是我们的SEO团队希望我用谷歌搜索控制台生成的站点地图替换站点地图。我已经阅读了Django文档,并了解到站点地图是通过某种类生成的。参见:

# urls.py
from django.contrib.sitemaps import FlatPageSitemap, GenericSitemap

# Sitemap config
pages_sitemap = {'queryset': Page.objects.filter(status='active'), 'date_field': 'modified'}
news_sitemap = {'queryset': Article.objects.filter(status='active'), 'date_field': 'modified'}
blog_sitemap = {'queryset': Post.objects.filter(status='active'), 'date_field': 'modified'}
events_sitemap = {'queryset': Event.objects.filter(status='active'), 'date_field': 'modified'}
success_stories_sitemap = {'queryset': SuccessStory.objects.filter(status='active'), 'date_field': 'modified'}
videos_sitemap = {'queryset': Video.objects.filter(status='active'), 'date_field': 'modified'}
aos_sitemap = {'queryset': AreaOfStudy.objects.filter(status='active'), 'date_field': 'modified'}
facilities_sitemap = {'queryset': Facility.objects.filter(status='active'), 'date_field': 'modified'}

sitemaps = {
    'pages': GenericSitemap(pages_sitemap, priority=1.0),
    'news': GenericSitemap(news_sitemap, priority=0.9),
    'blog': GenericSitemap(blog_sitemap, priority=0.9),
    'events': GenericSitemap(events_sitemap, priority=0.9),
    'success_stories': GenericSitemap(success_stories_sitemap, priority=0.5),
    'videos': GenericSitemap(videos_sitemap, priority=0.6),
    'areas': GenericSitemap(aos_sitemap, priority=0.8),
    'facilities': GenericSitemap(facilities_sitemap, priority=0.8),
}


urlpatterns = patterns('',
    # sitemap.xml
    (r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
    # TinyMCE
    (r'^tinymce/', include('tinymce.urls')),
    # Uncomment the next lines to enable the admin:
    url(r'^admin/', include('log_viewer.admin_urls')),
    url(r'', include('log_viewer.urls')),
    (r'^admin/filebrowser/', include('filebrowser.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

我正在考虑使用apache指令绕过这个 - 但我不确定这是不是一个好主意,或者它是否会起作用?

如何将站点地图替换为静态文件,而不是根据请求生成?

谢谢!

1 个答案:

答案 0 :(得分:0)

所以我上传了静态站点地图,路径是www.mydomian.com/static/sitemap.xml,我们正在更新谷歌搜索控制台,而不是默认位置。

感谢您的期待!