PHP & MySQL kullanarak nasıl bir site haritası oluşturabilirim diye merak ettim ve bildiğiniz herhangi bir site haritası tasarım örneği var mı?PHP & MySQL kullanarak bir site haritası oluşturma
cevap
MySQL'e ihtiyacınız olduğunu düşünmüyorum, kullanmanız sizin için önemli mi? Dinamik veya statik sayfalarınız var mı? Sorunuz biraz belirsiz. Site haritaları oluşturan veya sadece kendi dizininizi indekslemeye çalışan bir hizmet mi yapmak istiyorsunuz?
Bu, sitenizin nasıl yapılandırıldığına bağlıdır. Web sayfalarınız mysql Veritabanında bir site yapısıyla birlikte yer alıyor ve bunları kullanıcıya ulaştırılan bir PHP betiği tarafından getiriliyor mu, yoksa web siteniz sadece statik .html dosyalarından mı oluşuyor? Birincisi, sadece db'de bulunan site yapısını, insan tarafından okunabilir güzel bir bağlantı listesine dönüştürmek zorundasınız. İkincisi, web klasörünüzdeki tüm dosya ve dizinlerden geçen bir aracı birbirine yapıştırabiliyor ve muhtemelen bir bağlantı listesi çıkarıyor, muhtemelen site başlıklarını html dosyalarından ayrıştırarak: P
Soru Çok belirsiz - iyi bir cevap alabilmeniz için sitenizin geri kalanı hakkında daha fazla bilgi sahibi olmamız gerekiyor.
Sayfanızın yapısına ve haritaya ne dahil edeceğinize bağlıdır.
Siteniz nispeten statikse, site haritanızı statik bir sayfa olarak kaydetmeniz gerekir; bu nedenle, her yüklendiğinde fazladan işlenmeye neden olmaz. Ancak siteniz sık sık güncellenirse, sık sık haritayı yenilemeniz gerekebilir. Bu nedenle, her yüklendiğinde yenilenen dinamik bir uygulama daha iyi olabilir.
Eğer PHP siteniz bir CMS yapısına sahipse ve tüm sayfalarınız CMS'ye dahil edilmişse, o zaman veritabanından geçmek ve tüm sayfalarınıza bağlantılar çekmek için nispeten basit olmalıdır (elbette, yapıya bağlı olarak) CMS’nizin). Diğer yandan, eğer siteniz bunu yapmanıza izin verecek şekilde yapılandırılmamışsa veya haritada gösterilen sayfaları sınırlamak istiyorsanız, o zaman bir örümcek çalıştırmanın daha kolay olduğunu görebilirsiniz. site ve sonuçları saklayın.
Zaten yazılmış olan çok sayıda site haritası programı vardır. Ben php sitemap generator googled ve tamamen kendi kaynak kodu incelemek için onları indirmek için bile olsa, size yararlı olabilir gibi bir kaç bakmak, sonuçların bir yığın var.
sizden xml sitemap ile ilgili bir soruya bakmanızı isteyebilir miyim - tinyurl.com/pgqjdeo? –
Bunu sitemde kullanıyorum, iyi çalışıyor ve Google'ın web yöneticisi araçlarını "this_file.php" adresine yönlendirebilir ve harikalar yaratabilir!
<?php header("Content-type: text/xml"); echo'<?xml version=\'1.0\' encoding=\'UTF-8\'?>'; echo' <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">'; include '../include.php'; $sql = mysql_query("select blah from bleh"); while ($string = mysql_fetch_array($sql)){?> <url> <loc>http://www.domain.com/dir/<?echo $string['value'];?>/index.php</loc> <changefreq>weekly</changefreq> </url> <?php } ?> </urlset>
Küçük siteler için çalışacak. Ancak, büyük kullanıcı tarafından oluşturulan veriler içeren siteler için ağlar. –
Bunu denemek için çok zaman kaybettim ve sonra php etiketinin
@RahulPrasad - sonucu önbelleğe almak, orta veya büyük siteler için iyi çalışır. – Westy92
Veritabanı kodundan büyük bir site haritası oluşturmak için kullanıyorum bazı kod İşte. Bu biraz dağınık ve mevcut, eski siteyle iç içe. Kısa bir süre önce yeni bir versiyon üzerinde çalışıyorum ama belki birilerine yardım edeceğim.
<?php // vim:ai:et:sw=4:ts=4
/*
* Generates a sitemap from the database.
*/
include('shared/global.cfg');
define('DB_DSN', 'mysql:dbname='.DB_DATABASE.';host='.DB_HOSTNAME);
/*
* The page paramter picks out which sitemap to return, or,
* if no page is specified, returns an index of pages.
*/
$page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_NUMBER_INT);
if ($page == '') {
$page = 'index';
}
define('URLROOT', 'http://la.indymedia.org/');
define('SM_PATH', SF_CACHE_PATH.'/sitemap/');
$path = sitemap_page_path($page);
$index = sitemap_index_path();
/*
* If the index file is missing, or is old, regenerate the entire
* sitemap over. This takes several seconds.
*/
if (file_exists($index)) {
$stat = stat($index);
$mtime = $stat['mtime'];
$diff = time() - $mtime;
if ($diff > 24*60*60) {
regenerate_sitemap();
}
} else {
regenerate_sitemap();
}
/*
* Read the cached file, and spit it out.
*/
$text = file_get_contents($path);
header("Content-type: application/xml");
echo $text;
exit();
/*
* The main function to call to regen the sitemaps.
* It reads from the database.
* Paginates the results.
*/
function regenerate_sitemap() {
global $index;
$pdo = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$stmt = $pdo->prepare('SELECT id,created FROM webcast WHERE display<>"f" and parent_id=0');
$stmt->execute();
$count = 0;
$page = 1;
$urls = [];
$pageurls = [];
while($row = $stmt->fetch()) {
$created = $row['created'];
$y = substr($created,0,4);
$m = substr($created,5,2);
$id = $row['id'];
$urls[] = URLROOT."news/$y/$m/$id.php";
$count++;
if ($count==50000) {
write_sitemap_page($page, $urls);
$pageurls[] = URLROOT.'sitemap.php?page='.$page;
$page++;
$urls = [];
$count = 0;
}
}
// fixme - we need to make a sitemaps of events, right here.
if (count($urls) > 0) {
write_sitemap_page($page, $urls);
$pageurls[] = URLROOT.'sitemap.php?page='.$page;
}
write_sitemap_index($pageurls);
}
function sitemap_page_path($page) {
return SM_PATH.'sitemap_'.$page.'.xml';
}
function sitemap_index_path() {
return SM_PATH.'sitemap_index.xml';
}
/*
* Writes a single sitemap from an array of URLs.
*/
function write_sitemap_page($page, $urlarray) {
$path = sitemap_page_path($page);
$xml = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$xml .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach($urlarray as $url) {
$xml .= '<url><loc>'.$url.'</loc></url>';
}
$xml .= '</urlset>';
file_put_contents($path, $xml);
}
/*
* Writes the index of sitemaps.
*/
function write_sitemap_index($urlarray) {
$xml = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$xml .= '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach($urlarray as $url) {
$xml .= '<sitemap><loc>'.$url.'</loc></sitemap>';
}
$xml .= '</sitemapindex>';
file_put_contents(sitemap_index_path(), $xml);
}
- 1. Sitecore'u kullanarak site haritası oluşturma
- 2. ASP.NET Site Haritası
- 3. zend framework kullanarak site haritası nasıl oluşturulur?
- 4. Grails'te XML site haritası
- 5. get_absolute_url - Django`s site haritası
- 6. django site haritası http://example.com
- 7. PHP ve MySQL kullanarak ilgili veya benzer bir yazı oluşturma
- 8. php kullanarak 2 mysql tablo girdilerinden tek bir köprü oluşturma
- 9. site haritası oluşturuluncaya kadar sunucu oluşturulmamış.
- 10. Site Haritası dosyası Ben sitemap_generator gem kullanarak ve am üretim
- 11. htaccess yeniden yazma XML site haritası ve kullanıcı dostu site haritası
- 12. CRM 2016 on-permise site haritası
- 13. PHP Site Başlığı
- 14. Bir robots.txt dosyasında göreli bir site haritası kullanılabilir mi?
- 15. php kullanarak xml için mysql
- 16. MVC 4'ün yerleşik bir site haritası çözümü var mı?
- 17. Bir php/mysql/apache ortamında SEF sayfaları oluşturma
- 18. R: Dünya çapında bir ağ haritası oluşturma
- 19. XML site haritası oluşturmak için bir PHP betiği önerir? (sürünme/kazıma yöntemi)
- 20. php/mysql - sendika sorguları ile veri bir ızgara oluşturma?
- 21. php mysql
- 22. php mysql
- 23. XML gövdeli PHP kullanarak SOAP çağrısı oluşturma
- 24. PHP kullanarak sadece mysql tablosu "yapısı"
- 25. php ve mysql kullanarak müzik nasıl yüklerim
- 26. Form, mysql değerini kullanarak php değerini alamıyor
- 27. Angular.js PHP kullanarak mysql verileri nasıl görüntülenir?
- 28. PHP Dinamik Sprite Oluşturma
- 29. MySQL Excel dosyası oluşturma
- 30. Resimden çapraz site komut dosyası oluşturma
Arama motorları için "sitemap" ile tam olarak ne demek istiyorsunuz –
'sitemap.xml'? Ya da kullanıcı görüntülemek için? Eğer ikincisiyse, bu şeyler (çoğunlukla) son binyılda stilden çıktı. Arama motorları için bir tane – ceejayoz
. teşekkür ederim. – HELP