phpBB Forumlar için otomatik sitemap

0
Onaylı Üye
Üye
Katılım
24 Nisan 2005
Mesajlar
95
Tepki puanı
0
Konum
Ağrı
PHP:
<?php  
/***************************************************************************  
 *                              googlesitemapgenerator.php  
 *                            -------------------  
 *   Copyright/Support          http://www.pentapenguin.com  
 *   Last Modified: 06/05/05  
 *  
 ***************************************************************************/  
   
/***************************************************************************  
 *  
 *   This program is free software; you can redistribute it and/or modify  
 *   it under the terms of the GNU General Public License as published by  
 *   the Free Software Foundation; either version 2 of the License, or  
 *   (at your option) any later version.  
 *  
 ***************************************************************************/  

define('IN_PHPBB', true);  
$phpbb_root_path = './';  
include($phpbb_root_path . 'extension.inc');  
include($phpbb_root_path . "common.$phpEx");  

// Begin Configuration Section  
$included_forum_ids = array();  
$excluded_forum_ids = array();  
// End Configuration Section  

if ( count($included_forum_ids) > 0 )  
{  
   $included_forum_ids_sql = 'forum_id IN (' . implode(', ', $included_forum_ids) . ')';  
}  

if ( count($excluded_forum_ids) > 0 )  
{  
   $excluded_forum_ids_sql = 'forum_id NOT IN (' . implode(', ', $excluded_forum_ids) . ')';  
}  

if ( ( count($included_forum_ids) > 0 ) && ( count($excluded_forum_ids) > 0 ) )  
{  
   $and = 'AND';  
}  

if ( ( count($included_forum_ids) > 0 ) || ( count($excluded_forum_ids) > 0 ) )  
{  
   $where = 'WHERE';  
}  

$sql = "SELECT topic_id, forum_id, topic_time, topic_type FROM " . TOPICS_TABLE . " $where $included_forum_ids_sql $and $excluded_forum_ids_sql ORDER BY topic_time DESC";  

if ( !$result = $db->sql_query($sql) )  
{  
   message_die(GENERAL_ERROR, 'Error: could not retrive topic IDs', '', __LINE__, __FILE__, $sql);  
}  

$protocol = ( $board_config['cookie_secure'] == 0 ) ? 'http://' : 'https://';  
$servername = $board_config['server_name'];  
$port = ( $board_config['server_port'] == '80' ) ? '' : ':' . $board_config['server_port'];  
$path = $board_config['script_path'];  

$output = '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "\n";  
$output .= '<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">' . "\n";  

while ( $row = $db->sql_fetchrow($result) )  
{  
   $topic_id = $row['topic_id'];  
   $forum_id = $row['forum_id'];  
   $lastmodified = date('Y-m-d\TG:i:s+00:00', $row['topic_time']);  
   $viewtopic = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id";  
   $priority = ( $row['topic_type'] == POST_STICKY || $row['topic_type'] == POST_ANNOUNCE ) ? '1.0' : '0.5';  
     
   $output .= "<url>\n";  
   $output .= "\t<loc>$protocol$servername$port$path$viewtopic"  . "</loc>\n";  
   $output .= "\t<lastmod>$lastmodified</lastmod>\n";  
   $output .= "\t<changefreq>daily</changefreq>\n";  
   $output .= "\t<priority>$priority</priority>\n";  
   $output .= "</url>\n\n";  
}  
$output .= "</urlset>\n";  

header('Content-type: application/xml');  
echo $output;  
?>
 
0
Onaylı Üye
Üye
Katılım
24 Ekim 2005
Mesajlar
678
Tepki puanı
5
uzantıları konu-adi.html yapan sitemap daha kullanışlı:

googlesitemap.php olarak kaydeyin ve tanıtın, Türkçe olacak şekilde modifiye içerir.

Kod:
<?php

function make_url_friendly($url)
{
	$url = trim($url);
	$url = strtolower($url);

	$find = array('<b>', '</b>');
	$url = str_replace ($find, '', $url);

	$url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);

	$find = array(' ', '"', '&', '&', '\r\n', '\n', '/', '\\', '+', '<', '>');
	$url = str_replace ($find, '-', $url);

	$find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
	$url = str_replace ($find, 'e', $url);

	$find = array('í', 'ı', 'ì', 'î', 'ï', 'I', 'İ', 'Í', 'Ì', 'Î', 'Ï');
	$url = str_replace ($find, 'i', $url);

	$find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
	$url = str_replace ($find, 'o', $url);

	$find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
	$url = str_replace ($find, 'a', $url);

	$find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
	$url = str_replace ($find, 'u', $url);

	$find = array('ç', 'Ç');
	$url = str_replace ($find, 'c', $url);

	$find = array('ş', 'Ş');
	$url = str_replace ($find, 's', $url);

	$find = array('ğ', 'Ğ');
	$url = str_replace ($find, 'g', $url);

	$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');

	$repl = array('', '-', '');

	$url = preg_replace ($find, $repl, $url);
	$url = str_replace ('--', '-', $url);

	return $url;
}




define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . "common.$phpEx");
//Compresss the sitemap with gzip
//this isn't as pretty as the code in page_header.php, but it's simple & it works :)
if(function_exists(ob_gzhandler) && $board_config['gzip_compress'] == 1)
   {
   ob_start(ob_gzhandler);
   }
// Begin Configuration Section
$included_forum_ids = array();
$excluded_forum_ids = array(49);
// End Configuration Section

if ( count($included_forum_ids) > 0 )
{
   $included_forum_ids_sql = 'forum_id IN (' . implode(', ', $included_forum_ids) . ')';
}

if ( count($excluded_forum_ids) > 0 )
{
   $excluded_forum_ids_sql = 'forum_id NOT IN (' . implode(', ', $excluded_forum_ids) . ')';
}

if ( ( count($included_forum_ids) > 0 ) && ( count($excluded_forum_ids) > 0 ) )
{
   $and = 'AND';
}

if ( ( count($included_forum_ids) > 0 ) || ( count($excluded_forum_ids) > 0 ) )
{
   $where = 'WHERE';
}

$sql = "SELECT topic_id, forum_id, topic_title, topic_time, topic_type FROM " . TOPICS_TABLE . " $where $included_forum_ids_sql $and $excluded_forum_ids_sql ORDER BY topic_time DESC";

if ( !$result = $db->sql_query($sql) )
{
   message_die(GENERAL_ERROR, 'Error: could not retrive topic IDs', '', __LINE__, __FILE__, $sql);
}
$script_name = preg_replace('/^\/?(.*?)\/?$/', "\\1", trim($board_config['script_path']));
$server_name = trim($board_config['server_name']);
$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';
$server_url = $server_protocol . $server_name . $server_port . $script_name;
if(substr($server_url, -1, 1) != "/")
{
   $server_url .= "/";
}
$output = '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "\n";
$output .= '<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">' . "\n";

while ( $row = $db->sql_fetchrow($result) )
{
   $topic_id = $row['topic_id'];
   $topic_title = $row['topic_title'];
   $lastmodified = date('Y-m-d',$row['topic_time']);
   $viewtopic = $server_url . str_replace ('--', '-', make_url_friendly($row['topic_title']) . "-vt" . $row['topic_id'] . ".html");
   $priority = ( $row['topic_type'] == POST_STICKY || $row['topic_type'] == POST_ANNOUNCE ) ? '1.0' : '0.5';
   
   $output .= "<url>\n";
   $output .= "\t<loc>$viewtopic</loc>\n";
   $output .= "\t<lastmod>$lastmodified</lastmod>\n";
   $output .= "\t<changefreq>daily</changefreq>\n";
   $output .= "\t<priority>$priority</priority>\n";
   $output .= "</url>\n\n";
}
$output .= "</urlset>\n";

header('Content-type: application/xml');
echo $output;
?>
 
0
Onaylı Üye
Üye
Katılım
25 Ekim 2007
Mesajlar
286
Tepki puanı
1
Konum
istanbul
bu kodu siteye attığımda aşağıdaki hatayı alıyorum.
Warning: include(./extension.inc) [function.include]: failed to open stream: No such file or directory in /home/noteboo2/public_html/sitemap.php on line 55

Warning: include() [function.include]: Failed opening './extension.inc' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/notebookgentr/public_html/sitemap.php on line 55

Warning: include(./common.) [function.include]: failed to open stream: No such file or directory in /home/notebookgentr/public_html/sitemap.php on line 56

Warning: include() [function.include]: Failed opening './common.' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/notebookgentr/public_html/sitemap.php on line 56

Fatal error: Call to a member function sql_query() on a non-object in /home/notebookgentr/public_html/sitemap.php on line 90
 
0
Onaylı Üye
Üye
Katılım
20 Şubat 2008
Mesajlar
16
Tepki puanı
0
paylaşım için sağolasın, bunun birçok örneği forumlarda mevcut

şuan gym sitemap kulanıyorum. sitemap, rss, urllist oluşturmada Gayet başarılı ,admin kontrol paneli mevcut ve her isteğinize cevap verebilir nitelikte. advanced mod rewrite ile başarılı çalışıyor.


detaylı bilgi için
http://www.phpbb-seo.com/boards/gym-sitemaps/google-yahoo-msn-sitemaps-and-rss-vt21.html

bu sitede seo amaçlı birçok çalışma bulabilirsiniz.
 
Geri
Üst