Basit bir blog sistemi oluşturmak için meteor kullanıyorum. Site haritaları dosyaları için this paketini kullanıyorum. site haritası oluşturuluncaya kadar sunucu oluşturulmamış.
bazı sunucu devreye alma işlevi (bazı yayın oluşturma) veri başlaması ve her bir kategori için site haritası oluşturmak için sunucu kodu ( sunucu/sitemaps.js) aşağıdaki (ilk kategorisinde vb örneğin sitemap1.xml) ilave :function sitemapOutput(categoryName){
var out = [], posts = Posts.find({ category: categoryName }).fetch();
_.each(posts, function(post) {
out.push({
page: post.url(),
lastmod: post.insertDate,
changefreq: 'weekly'
});
});
return out;
}
Categories.find().forEach(function(Category, index) {
sitemaps.add('/sitemap' + (index+1) +'.xml',
function(){ return sitemapOutput(Category.name); });
});
Ve böyle başlangıç adres: ((sunucu/ startup.js)
Meteor.startup(function() {
// some post and category created here
});
Fakat site haritaları sunucu yeniden başlatma kadar yoktu benim robots.t xt dosyaları da boştur), ancak sunucu sitemaps ve robots.txt içeriği benim için oluşturulduğunda yeniden başlattı.
Sitemaps.js'den sonra gönderilen iletiler olduğunu düşünüyorum, ancak sorun nedir çocuklar ve bunu nasıl düzeltebilirim?
Yeni deneyin:
aşağıda gibi yeni bir çözüm çalışıyorum ama bu kod da işe yaramadı. (Ben her 10000 kategori büyük site haritası google site haritası hatayı önlemek için ayrı haritası dosyasını oluşturmak istiyorum):
for (var i=0;i<=Math.round(Categories.find().count()/10000);i++) {
sitemaps.add('/sitemap' + i +'.xml', function(){
var out = [];
Categories.find({}, {sort: {insertDate: 1} ,limit: 10000, skip: i * 10000}).forEach(function(Category) {
out.push({
page: "/category/" + Category.title + "/" + Category._id,
lastmod: Category.insertDate,
changefreq: 'weekly'
});
});
return out;
});
}
robots.txt gösteri site haritası dosyaları doğru ancak tüm site haritası böyle boş:
<urlset> </urlset>
Sitemaps.add() ne zaman çalışır? Ben sunucu yeniden başlatır ama Yeni deneyin beni hayal kırıklığına uğrattı ve sanırım benim tahminim yanlış olduğunu düşünüyorum ve sitemaps.add() neden boş olduğunu çalıştırdı.
Klasörünüzün yapısı nasıl? – forallepsilon
Sorunu açıkladım. Sunucu klasörü – b24