Arkadaşlar böyle bir program varmış elinde olan varsa paylaşabilirmi?
Not: Kısaca programı özetlersek database'inizdeki tüm konuları Google sitemap formatına çevirir.
SMF Sitemap Oluşturma Aracı 1.0
3
●1.476
- 12-12-2009, 20:15:25Üyeliği durdurulduproğram yok mod var sitemap modu smf versiyonun nedir
- 19-12-2009, 09:34:03
<?php require_once('SSI.php'); if ($modSettings['smfVersion'] < '1.1') ob_start('ob_sessrewrite'); header('Content-Type: text/plain'); echo '<?xml version="1.0" encoding="UTF-8"?' . '> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">'; $request = db_query(" SELECT posterTime FROM {$db_prefix}messages WHERE ID_MSG >= " . ($modSettings['maxMsgID'] - 30) . " ORDER BY ID_MSG DESC LIMIT 10", __FILE__, __LINE__); $latest_post_times = array(time()); while ($row = mysql_fetch_assoc($request)) $latest_post_times[] = $row['posterTime']; mysql_free_result($request); $request = db_query(" SELECT ID_BOARD FROM {$db_prefix}boards", __FILE__, __LINE__); $boards = array(); while ($row = mysql_fetch_assoc($request)) { $request2 = db_query(" SELECT posterTime FROM {$db_prefix}messages WHERE ID_BOARD = $row[ID_BOARD]" . ($modSettings['totalMessages'] > 100000 ? " AND ID_MSG >= " . ($modSettings['maxMsgID'] * 0.5) : '') . " ORDER BY ID_MSG DESC LIMIT 10", __FILE__, __LINE__); $board_post_times = array(time()); while ($row2 = mysql_fetch_assoc($request2)) $board_post_times[] = $row2['posterTime']; mysql_free_result($request2); $boards[] = array( 'id' => $row['ID_BOARD'], 'times' => $board_post_times, ); } mysql_free_result($request); $request = db_query(" SELECT ID_TOPIC FROM {$db_prefix}topics ORDER BY numViews + numReplies DESC LIMIT 1000", __FILE__, __LINE__); $topics = array(); while ($row = mysql_fetch_assoc($request)) { $request2 = db_query(" SELECT posterTime FROM {$db_prefix}messages WHERE ID_TOPIC = $row[ID_TOPIC] ORDER BY ID_MSG DESC LIMIT 10", __FILE__, __LINE__); $topic_post_times = array(time()); while ($row2 = mysql_fetch_assoc($request2)) $topic_post_times[] = $row2['posterTime']; mysql_free_result($request2); $topics[] = array( 'id' => $row['ID_TOPIC'], 'times' => $topic_post_times, ); } mysql_free_result($request); $request = db_query(" SELECT ID_MEMBER FROM {$db_prefix}members ORDER BY totalTimeLoggedIn DESC LIMIT 20", __FILE__, __LINE__); $members = array(); while ($row = mysql_fetch_assoc($request)) { $request2 = db_query(" SELECT posterTime FROM {$db_prefix}messages WHERE ID_MEMBER = $row[ID_MEMBER]" . ($modSettings['totalMessages'] > 100000 ? " AND ID_MSG >= " . ($modSettings['maxMsgID'] * 0.5) : '') . " ORDER BY ID_MSG DESC LIMIT 10", __FILE__, __LINE__); $member_post_times = array(time()); while ($row2 = mysql_fetch_assoc($request2)) $member_post_times[] = $row2['posterTime']; mysql_free_result($request2); $members[] = array( 'id' => $row['ID_MEMBER'], 'times' => $member_post_times, ); } mysql_free_result($request); // First, the forum URL. Highest priority! echo ' <url> <loc>', $scripturl, '</loc> <lastmod>', posts_max_time($latest_post_times), '</lastmod> <changefreq>', posts_to_freq($latest_post_times), '</changefreq> <priority>1.0</priority> </url>'; // Now the boards! foreach ($boards as $board) { echo ' <url> <loc>', $scripturl, '?board=', $board['id'], '.0</loc> <lastmod>', posts_max_time($board['times']), '</lastmod> <changefreq>', posts_to_freq($board['times']), '</changefreq> <priority>', posts_to_priority(0.8, $board['times']), '</priority> </url>'; } // Popular topics too... foreach ($topics as $topic) { echo ' <url> <loc>', $scripturl, '?topic=', $topic['id'], '.0</loc> <lastmod>', posts_max_time($topic['times']), '</lastmod> <changefreq>', posts_to_freq($topic['times']), '</changefreq> <priority>', posts_to_priority(0.7, $board['times']), '</priority> </url>'; } // Most active members? foreach ($members as $member) { echo ' <url> <loc>', $scripturl, '?action=profile;u=', $member['id'], '</loc> <lastmod>', posts_max_time($member['times']), '</lastmod> <changefreq>', posts_to_freq($member['times']), '</changefreq> <priority>', posts_to_priority(0.5, $board['times']), '</priority> </url>'; } echo ' </urlset>'; function posts_max_time($post_times) { if (empty($post_times) || count($post_times) == 1) return gmstrftime('%Y-%m-%dT%H:%M:%S+00:00', time() - 3600 * 24 * 10); return gmstrftime('%Y-%m-%dT%H:%M:%S+00:00', max($post_times)); } function posts_to_priority($base, $post_times) { if (empty($post_times) || count($post_times) == 1) return sprintf('%1.1f', $base); $s = (max($post_times) - min($post_times)) / count($post_times); if ($s < 3600 * 24) $mod = 0.1; else $mod = 0; return sprintf('%1.1f', $base + $mod); } function posts_to_freq($post_times) { if (empty($post_times) || count($post_times) == 1) return 'yearly'; $s = (max($post_times) - min($post_times)) / count($post_times); // Changes more often than every hour. if ($s < 3600) return 'always'; elseif ($s < 3600 * 12) return 'hourly'; elseif ($s < 3600 * 24 * 4) return 'daily'; else return 'monthly'; } ?>yapmanız gerekenler
1.
Kod:
LIMIT 1000", __FILE__, __LINE__); üstte verdiğim cod da LIMIT 1000 sayısı sizin forumda kaç tane konu varsa onu belirtin
2.
Kod:
LIMIT 20", __FILE__, __LINE__);bu code de LIMIT 20 yazan yeri forumda kaç üyeniz varsa limit belirleyin.
1 dediğim : konu sayısını belirler.Bunu da konu sayının biraz daha üstüne ayarlarsan sorun olmaz.
2 dediğim :İkinci dediğimde kullanıcı profilleri kaç tane istersen ayarlayabilirsiniz.
SMF kullanan bir sürü arkadaş forum indexlenmiyor diye dert yanmıştı bende çok sıkıntı çekiyordum bu konuda bir sürü program denedim fakat çok uzun sürdüğü için hep yarıda bıraktım üssteki code ise herşeyi kolaşlaştırıyor.
yukardaki kodu boş tane .php dosyası oluşturun içine atın codeleri ve kaydettikten sonra ftp forum ana dizine atın .php dosyasını ondan sonra
siteadi.com/forum/xxx.php açın ve bekleyin size herşeyi hazırlıcak sitemap hazırlama işi bittikten sonra sitemap.xml diye dosya yaratın ve xxx.php deki tüm linkleri sitemap.xml içine aktarın gerisi biliyorsun google.com/webmasters/sitemap sitemap kaydedin 2 önce yaptım ve bugun kontrol ettim forum daki konular indexlenmiş
Değiştirme Şu Şekilde Olacak...
Şu Kodlara Dokunmayın...
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
kendi sitenizde oluşturdugunuz sitemap ın ( www.domainadınız.com/xxx.php ile oluşturdugunuz kodların )
Şu Kısmından sonrasını olduğu gibi kopyalayın...
<?xml version="1.0" encoding="UTF-8" ?> - <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
yukarıda belirttiğim kodun ( Şu Kodlara Dokunmayın )
hemen altına yapıştırın...
En Son Hali Şu Şekilde Olucak...
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd"> - <url> <loc>http://www.zohpet.net/index.php</loc> <lastmod>2007-04-04T14:29:58+00:00</lastmod> <changefreq>hourly</changefreq> <priority>1.0</priority> </url> - <url> <loc>http://www.zohpet.net/index.php?board=1.0</loc> <lastmod>2007-04-04T14:29:58+00:00</lastmod> <changefreq>daily</changefreq> <priority>0.9</priority> </url> - <url> <loc>http://www.zohpet.net/index.php?board=3.0</loc> <lastmod>2007-04-04T14:29:58+00:00</lastmod> <changefreq>hourly</changefre<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd"> - <url> <loc>http://www.zohpet.net/index.php</loc> <lastmod>2007-04-04T14:29:58+00:00</lastmod> <changefreq>hourly</changefreq> <priority>1.0</priority> </url> - <url> <loc>http://www.zohpet.net/index.php?board=1.0</loc> <lastmod>2007-04-04T14:29:58+00:00</lastmod> <changefreq>daily</changefreq> <priority>0.9</priority> </url> - <url> <loc>http://www.zohpet.net/index.php?board=3.0</loc> <lastmod>2007-04-04T14:29:58+00:00</lastmod> <changefreq>hourly</changefre
şeklinde dewam edicek...
sonrasını biliyorsunuz zaten.. google.com/webmasters/sitemap sitemapınızı ekleyin...
alıntı