Site Haritası Eklentisi
Amaç
Yayınlanan tüm içeriğe ilişkin URL'leri, isteğe bağlı sayfalandırılmış listeleme URL'lerini ve isteğe bağlı koleksiyon URL'lerini içeren bir sitemap.xml dosyası oluşturur. URL tekilleştirmeyi ve son mod izlemeyi destekler.
Konum
- Paket:
@shevky/plugin-sitemap - Ana:
plugin-sitemap/main.js(~363 satır) - Çalışma zamanı adı:
shevky-sitemap
Yaşam Döngüsü Kancaları
| Kanca | Uygulandı |
|---|---|
content:ready | ✓ |
Nasıl Çalışır?
content:ready sırasında:
ctx.contentFiles- yayınlanan sayfa başına bir<url>- içerik girişlerini toplar.config.seo.includePagingetkinleştirilirse, sayfalandırılmış listeleme sayfaları için ek URL'ler oluşturur (ör.page-2,page-3).config.seo.includeCollectionsetkinleştirilirse,content.collectionsyapılandırma tanımlarını kullanarak koleksiyon sayfaları (etiketler, kategoriler, seriler) için URL'ler oluşturur.- En güncel
lastmoddeğerini koruyarak tüm girişleri URL'ye göre birleştirir ve tekilleştirir. - Lastmod'a göre azalan şekilde sıralar.
dist/sitemap.xmlişler ve yazar.
Yapılandırma
pluginConfigs["shevky-sitemap"]'dan eklentiye özel yapılandırma:
| Anahtar | Tür | Varsayılan | Açıklama |
|---|---|---|---|
sitemapFilename | string | "sitemap.xml" | Çıktı dosya adı |
Site haritası oluşturmayı etkileyen genel yapılandırma anahtarları:
| Anahtar | Efekt |
|---|---|
seo.includeCollections | Koleksiyon sayfası URL'lerini dahil edin |
seo.includePaging | Sayfalandırma URL'lerini dahil edin |
content.pagination.pageSize | Sayfalandırma URL sayımı için sayfa başına öğe sayısı |
content.pagination.segment | Yerelleştirilmiş sayfalandırma URL segmenti (ör. "page", "sayfa") |
content.collections | types ve slugPattern ile koleksiyon tanımları |
Koleksiyon URL'si Oluşturma
Koleksiyonlar content.collections'da tanımlanmıştır:
"collections": {
"tags": {
"types": ["tag"],
"slugPattern": { "en": "tag/", "tr": "etiket/" }
}
}Eklenti ctx.pages (toplama verileri) yineler, koleksiyon türlerini eşleştirir ve sümüklü böcek desenini kullanarak URL'ler oluşturur.
Bağımlılıklar
@shevky/base-i18n,plugin,format
Riskler ve Sınırlamalar
- Çoğaltılmış URL mantığı: Çekirdek MetaEngine'i kullanmak yerine
buildContentUrl()'yi dahili olarak yeniden uygular. Çekirdekteki URL mantığı değişiklikleri yansıtılmayabilir. - Tek site haritası: Çok büyük siteler (>50.000 URL) için site haritası dizini oluşturmaz.
- Koleksiyon yapılandırma şekli:
typesveslugPatternile belirli bircontent.collectionsyapısına bağlıdır.
İlgili
- RSS Eklentisi - benzer içerik:hazır model
- Robots Txt Eklentisi - site haritasına referans verir