Sitemap für Google als xml ausgeben lassen

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
fussle
Mitglied
Beiträge: 1246
Registriert: 25.06.2002 07:31

Sitemap für Google als xml ausgeben lassen

Beitrag von fussle »

Ist es möglich die sitemap.php auch extra nocheinmal als .xml ausgeben zu lassen (oder auslesen zu lassen)? Ich würde gern den neuen Google Sitemap Service nutzen.
rkern
Mitglied
Beiträge: 139
Registriert: 01.02.2005 11:49
Wohnort: Hanau
Kontaktdaten:

Google Sitemap

Beitrag von rkern »

Alturo-Forum Das unabhängige Forum für alle Root-Server und Web-Master auf Linux-Systemen
rkern
Mitglied
Beiträge: 139
Registriert: 01.02.2005 11:49
Wohnort: Hanau
Kontaktdaten:

Beitrag von rkern »

hab den Mod von http://www.phpbb.com/phpBB/viewtopic.php?t=296051 gerade ausprobiert. Google hat's klaglos und fehlerlos geschluckt.

Allerdings ist diese "sitemap.php" nur für Google brauchbar und nicht menschenfreundlich lesbar. Aber es hindert einen keiner daran, das Skript in "googlemap.php" umzubenennen und parallel zu einem anderen sitemap.php zu verwenden.

Beispielausgabe: http://alturoforum.gsfnet.de/sitemap.php (mit short-url-mod)

mfg Ralph Kern
Alturo-Forum Das unabhängige Forum für alle Root-Server und Web-Master auf Linux-Systemen
Cyclop
Mitglied
Beiträge: 2
Registriert: 13.06.2005 14:06

Dumme Frage

Beitrag von Cyclop »

Ich kenn mich nicht aus mit der Entwicklung von Tools - aber wäre es nicht am einfachsten ein Script zu schreiben, dass
(1) die Anzahl der Beträge abzählt und
(2) dann die Links von viewtopic 1 bis zu X durchnummeriert und dann
(3) eine Google Sitemap draus baut???

In dem Moment in dem ich auf SQL Einfluss nehmen muss, schrecke ich zurück und ich denke das geht vielen so. Keine Ahnung wie das geht.
Benutzeravatar
FatFreddy
Mitglied
Beiträge: 1937
Registriert: 25.07.2004 15:52
Kontaktdaten:

Beitrag von FatFreddy »

Hi Cyclop

Das wird leider nicht funktionieren, da die Topics durch Pruning oder manuelles löschen nicht laufend durchnummeriert sind.
Du würdest bei Google damit diverse, nicht existierene Seiten anmelden. Nicht sinnvoll!

Das Tool, das rkern empfiehlt ist vom Grunde her nicht schlecht. Allerdings werden ausschließlich die Topics angemeldet. Kategorien, Foren und eventuelle, durch Mods erstellte, zusätzliche pages fehlen.

Gruß

FatFreddy
Watch out where the huskies go, don't you eat the yellow snow...
Mehr dazu im Reiseforum InselTalk.de.
Tupperdosensucher schauen ins Geocachingforum.
Cyclop
Mitglied
Beiträge: 2
Registriert: 13.06.2005 14:06

Beitrag von Cyclop »

Danke für das Feedback! Ist nur die Frage was "schlimmer" ist - ein paar Seiten eintragen, die nicht existieren oder keine "topics" eintragen???
Die "forum" Einträge hat man in 0,nix per Hand eingefügt.
admin99
Mitglied
Beiträge: 6
Registriert: 08.06.2005 09:09
Wohnort: Stralsund
Kontaktdaten:

Beitrag von admin99 »

Hallo

was ist hier los ? Kann mir einer helfen.
Error obtaining topic data

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

SELECT t.topic_id, t.topic_type, t.topic_status, p.post_time FROM phpbb_topics AS t, phpbb_posts AS p WHERE t.topic_last_post_id=p.post_id AND t.forum_id IN (2,3,4,5,6,7,8,9,10,11,12,13) ORDER BY t.topic_id LIMIT

Line : 84
File : sitemap.php
Was habe ich verhauen?
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

docs gelesen und datenbank-anpassung ausgeführt?
vielleicht sind die limit-werte nicht korrekt gesetzt, ggfs. auch in der administration kontrollieren...
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
admin99
Mitglied
Beiträge: 6
Registriert: 08.06.2005 09:09
Wohnort: Stralsund
Kontaktdaten:

Beitrag von admin99 »

docs gelesen und datenbank-anpassung ausgeführt?
wie kann ich das machen? bis jetzt haben alle mod so hingehauen.
Benutzeravatar
andreas888
Mitglied
Beiträge: 96
Registriert: 13.09.2004 02:59
Kontaktdaten:

Code ohne Datenbankänderung

Beitrag von andreas888 »

ich find das auch ein bischen übertrieben, wegen einem sitemap für google extra in der Datenbank änderungen zu machen.

Der folgende Code ist einfacher:

Code: Alles auswählen

<?php 

$phpbb_root_path = '';  // muß angepasst werden, falls eine Ebene unter dem Forumsordner.

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

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
$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 .= "/"; }
$server_url = code_utf8($server_url);
$zeit = time();
$pre_timezone = date('O', $zeit);
$time_zone = substr($pre_timezone, 0, 3).":".substr($pre_timezone, 3, 2);


$result = mysql_query("SELECT topic_id,post_time  FROM " . POSTS_TABLE ) ;
while( $row =  mysql_fetch_assoc($result)) {
	if($last_time[$row["topic_id"]] < $row["post_time"]) { $last_time[$row["topic_id"]] = $row["post_time"]; }
}

echo '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
	<url>
		<loc>'.$server_url.'</loc>
		<changefreq>always</changefreq>
		<priority>1.0</priority>
	</url>
';


$result = mysql_query("SELECT topic_id,topic_replies,topic_time FROM " . TOPICS_TABLE . " ORDER BY topic_id DESC LIMIT 50000") ;
while( $row =  mysql_fetch_assoc($result)) {
	$topicId = $row["topic_id"] ;
	$alter = $zeit - $last_time[$row["topic_id"]] ;
	$zeitbonus = max(min(round((600000 - $alter ) / 80000),7),0) ;
	$last_time_post = date("Y-m-d\TH:i:s",$last_time[$row["topic_id"]]) . $time_zone ;
	if ($alter < 604800) { $changefreq = 'weekly'; } else { $changefreq = 'monthly'; }
	if ($alter < 84000) { $changefreq = 'daily'; }
	$topicpriority = min(( $row["topic_replies"] + 1 + $zeitbonus ),9) ;
echo "	<url>
		<loc>".$server_url."viewtopic.php?t=$topicId</loc>
		<lastmod>$last_time_post</lastmod>
		<changefreq>$changefreq</changefreq>
		<priority>0.$topicpriority</priority>
	</url>
";
}

echo '</urlset>';


function code_utf8($text) {
	$array_1 = array("&","\"","'",">","<","");
	$array_2 = array("&",""","&apos;",">","<","");
	for($x=0;$x<4;$x++){
		$text = str_replace($array_1[$x],$array_2[$x],$text);
	}
	return $text;
}
?>
Diese Sitemap-url meldet man dann bei Google an:
https://www.google.com/webmasters/sitemaps



Ansonsten hier noch ein wichtiger Informationslink:
http://www.google.de/search?hl=de&q=chemtrails
(ich finde webmaster sollten bescheid wissen, was so abläuft !!!)



Grüße von Andreas
ps: wer die urls mit www. anmelden möchte evt. einfach Zeile 14 ändern:
$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://www.';
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“