一个站点地图生成器,适用于URL大于50000的应用程序。
BigSitemap的Python项目详细描述
这个模块基于big_sitemap红宝石。
来自gem描述:
BigSitemap is a Sitemapgenerator suitable for applications with greater than 50,000 URLs. It splits large Sitemaps into multiple files, gzips the files to minimize bandwidth usage…
用法
示例:
import bigsitemap options = { 'gzip': True, 'ping': True, 'base_url': 'http://cdn.mywebsite.com/sitemaps/', 'site_url': 'http://www.mywebsite.com/', 'base_path': '/var/www/cdn/sitemaps' } sections = ['/','/boats','/cars','/gadgets','/travel'] places = ['/parents-house.html','/grocery-store.html'] generator = bigsitemap.Generator(options) for section in sections: generator.add_url('sections',section,{'last_modified':datetime.now(),'change_frequency':'daily','priority':0.6}) for place in places: generator.add_url('places',place,{'last_modified':datetime.now(),'change_frequency':'daily','priority':0.6}) generator.finish() generator.files() #Returns ['sitemap.xml.gz','sections.gz','places.gz']
如果您的站点地图超过50000个url,那么站点地图文件将被分成多个文件(places_1.xml.gz,places_2.xml.gz,…)。
初始化选项
- 使用gzip?默认值false。
- ping:ping google和bing on finish?默认值false。
- 基本路径:在哪里存储站点地图文件?必需
- 网址:你的网址是什么?必需
- 基本URL:如果将XML文件存储到另一个主机中,请在此处提供。默认站点URL。
更改频率、优先级和上次修改时间
通过在添加url时将它们作为可选参数传递,可以分别控制每条记录的changefreq、priority和lastmod值:
generator.add_url('sections',section,{ 'last_modified':datetime.now(), 'change_frequency':'daily', 'priority':0.6 })
待办事项
- Writer class for dependency injection
- Automated tests
学分
非常感谢无状态系统(stateless systems.com)发布了big_sitemapruby gem。