Dinamik içerik için Site haritası?

4 Cevap php

Ben CodeIgniter'ı (mvc) ve php kullanarak bir webapp geliştiriyorum. Ben iletişim dinamik olduğunda nasıl arama motorları için bir site haritası oluşturabilirsiniz merak ediyorum? Bunun için en iyi yöntem vardır, ya sürecini otomatikleştirmek için bir yol var? Içeriği sürekli ve hızla ilave olacak, çünkü ben bu yüzden ben sitemap son olmak istiyorum sormak. Teşekkürler

Update: soruma cevap yardımcı olmak için, ben oluşturma sitenin tip kullanıcıları makaleler sonrası bir kamu blog türü sitedir.

Update2: Sadece benim karışıklık üzerinde durmaya: Ben bir site haritası yapılandırılmıştır tam olarak nasıl anlamak olmayabilir. Kullanıcıların yeni sorular (ve dolayısıyla, yeni sayfalar oluşturulan olsun) ekleyin örneğin stackoverflow gibi bir site, site haritası değişim ve ihtiyaç sunulmasına gerek yoktur? Hatta bir site haritası var bu gibi bir site için ne kadar önemli?

4 Cevap

Even though your content is dynamic, you want your sitemap to be static. Sure, update the sitemap once a day if you want, OR update it whenever you post a new blog entry... but don't try to create it at the time that it's requested. That'll be a performance nightmare.

Ben StackOverflow adlı site haritası günlük olarak güncellenmektedir düşünüyorum. Bu 50,000 en son değişti sayfaları içerir. Site haritası SEO (arama motoru optimizasyonu) ile olur.

Site haritası nesil için tarifi over here

Ben yerine Kod Ateşleyici Zend Framework ve Doktrin geliştirmek dışında ben, sizinkine benzer bir durum var.

Biz bu sorunu çözmüş yolu, bir Doktrin iç içe Set gibi davranan bir haritası modeli oluşturmak için oldu. Bu temelde güncelleme, oluşturulan bir id, parent_id, başlık, uri gibi sadece birkaç alanları, bulunuyor. Eğer ihtiyacınız varsa daha fazla alan ekleyebilirsiniz, ancak bu temel dayanak noktası.

Daha sonra site için bir menü içine bu ağacı işlemek için Zend_Navigation kullanıyor.

Zend_Navigation da otomatik olarak bir XML site haritası oluşturmak için bir yardımcı yöntem vardır, bu yüzden bu XML belge işlemek için kurulum bir denetleyici ve görünümü var.

Sonra sitemap kontrolörü izler Zend Aksiyon Kontrol Eklentisi, yazdım, ve güncellemeleri yapıldığında, bu son güncelleme karşı denetler ve sitemap güncellendi olduğunu ping Google.

Tüm bu kavramlar kolayca CI içine taşıdık olabilir, ben hayal ediyorum.

CI bir site haritası görünüm yardımcı yoksa Zend gevşek ayrılmış olduğundan, muhtemelen, Zend Gezinti sınıflarını kullanabilirsiniz.

Yoksa sadece burada site haritaları için standardını kullanarak, CI ile xml belge oluşturabilir.

http://www.sitemaps.org/protocol.php

Değil html bir at, bir xml site haritası oluşturmak için çalışıyoruz varsayarsak?

Ben henüz bu yapılır, ve yakında bunu denemek istiyorum, ama ne yapacağını değil adres: example.com / index.php / site haritası gibi bir yola çağıran bir cron işi kurmak. entry son site haritaları protokolü onun gerekli bir unsur, güncellenen beri sitemap denetleyicisi dizin işlevi daha sonra, bu girdileri tam bir url oluşturmak için gereken + herşey mesajların tüm başlıkları seçmek için bir sorgu çalıştırmak ve olacaktır . Eğer bunun için db bir alan yoksa bunu eklemek zorunda kalabilirsiniz.

sonuçları döngü ve uygun yapıya sahip bir xml dosyası üzerinden yazma o zaman onun sadece bir konu. Eğer döngü konum olarak da öncelik, changefreq ve bir giriş bazında tüm diğer unsurları karar olurdu.

ive de oldukça güzel bir fiyata, sizin için cron kurma ve kendi sunucusu üzerinde çalışan ama her şeyi yapmalıdır http://www.xml-sitemaps.com/ ücretli sürümüne bakarak edilmiştir. i zaman değer 19,99 USD için bu kendinizi geliştirebilir sanmıyorum. Ve, bu uygulama da ben henüz yukarıda belirtilen sığınak olduğu için bir yöntem, yeni bir içerik arama motorları bildirir.

Site haritası yapısında bir update-frequency parametresi, bir web sayfası güncellendiğinde nasıl sık arama motoru söyler.

Birçok yöntemlerle değiştirilebilir, çünkü bir sayfanın URL ile karışık alamadım.

Stackoverflow için, questions.php?id=1317539 Bu sayfa için ve örneğin olabilir, güncelleme sıklığı questions.php için bir dakika ayarlanır

Yani her dakika, yeni bir site haritası stackoverflow web sitesi için oluşturulur.

Güncelleme: Robert Yeni soru sisteme eklendiğinde Overflow adlı site haritası Stack neler olduğunu açıklıyor This answer tarafından.