Seite 1 von 1

Googlebot und Foren?

Verfasst: 28.08.2007, 21:29
von freeman78
Hallo;

ich betreibe ein SMF-Forum und bin schon ein wenig am verzweifeln. Der Googlebot ist regelmäßig zu Gast; nur leider liest er alles ein, was rund um das Forum läuft, nur eben keine Benutzerbeiträge/Topics/Boards. Ich hab echt schon alles probiert, Sitemap in den Webmastertools hinterlegt, die SMF Foren durchforstet, zu guter Letzt auch noch ein SEO Modul eingebaut, welches die URL´s umschreibt (mit 301) und sich auch vernünftig um die Description kümmert. An der Tatsache, das Google keine Beiträge einliest, hat sich leider nichts geändert. Hat jemand eine Idee?

Die Seite
www.otworld.de

Die Sitemap
https://www.otworld.de/sitemaps.php

Verfasst:
von

Verfasst: 28.08.2007, 21:42
von wolli
hi,

du machst da einen Gedankenfehler

Deine Links sind z.B. https://www.otworld.de/index.php?topic=126.0
Diese werden umgeschrieben auf:
https://www.otworld.de/orthopaedietechn ... 126.0.html

Du mußt die Links aber auf :
https://www.otworld.de/orthopaedietechn ... 126.0.html
umschreiben und intern auf:
https://www.otworld.de/index.php?topic=126.0 verlinken

nette Grüße
wolli

Verfasst: 28.08.2007, 23:01
von Fantastixxx
Die Sitemap
https://www.otworld.de/sitemaps.php
Deine sitemap is fürn Popo!!!!! Ne Google Sitemap hat ne XML Endung und ist NUR für Google zu gebrauchen.

Verfasst:
von

Verfasst: 28.08.2007, 23:29
von muchtodo
Fantastixxx hat geschrieben:Deine sitemap is fürn Popo!!!!! Ne Google Sitemap hat ne XML Endung und ist NUR für Google zu gebrauchen.
Sorry, aber das ist gelinde gesagt Humbug! Welche Dateiendung eine Sitemap hat, ist Google egal, solange der Aufbau korrekt ist.


Gruß

MuchToDo

Verfasst: 29.08.2007, 06:24
von freeman78
@wolli
das klingt plausibel; nur leider fehlt mir da der Ansatz. Ich poste euch mal meinen Teil der .htaccess und das Script dazu.
.htaccess

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^topic=([0-9]*)$
RewriteRule  ^(.*)$ seo4smf-redirect.php?t=%1 [R=301,L]

RewriteCond %{QUERY_STRING} ^topic=([0-9]*).([0-9]*)
RewriteRule  ^(.*)$ seo4smf-redirect.php?t=%1 [R=301,L]

RewriteCond %{QUERY_STRING} ^board=([0-9]*).([0-9]*)
RewriteRule  ^(.*)$ seo4smf-redirect.php?b=%1 [R=301,L]

RewriteCond %{QUERY_STRING} ^action=profile;u=([0-9]*);(.*)$
RewriteRule  ^(.*)$ seo4smf-redirect.php?u=%1;param=%2 [R=301,L]

RewriteCond %{QUERY_STRING} ^action=profile;u=([0-9]*)
RewriteRule  ^(.*)$ seo4smf-redirect.php?u=%1 [R=301,L]

#Rewrite Old urls
RewriteRule  ^index.php/board,(.*).html seo4smf-redirect.php?b=$1 [R=301,L]
RewriteRule  ^index.php/board,(.*).html;(.*) seo4smf-redirect.php?b=$1&o=$2 [R=301,L]

RewriteRule  ^index.php/topic,(.*).html seo4smf-redirect.php?t=$1 [R=301,L]
RewriteRule  ^index.php/topic,(.*).html;(.*) seo4smf-redirect.php?t=$1&o=$2 [R=301,L]

#Bad Url's
RewriteCond %{REQUEST_URI} ^(.*)\.html$
RewriteCond %{REQUEST_URI} !^(.+)/(.*)-t([0-9]*)\.([0-9]*).html$
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html seo4smf-redirect.php?t=$2 [R=301,L]

RewriteRule  ^(.*)/-t(.*).html seo4smf-redirect.php?t=$2 [R=301,L]
RewriteRule  ^-b(.*)/$ seo4smf-redirect.php?b=$1 [R=301,L]
RewriteRule  ^-b(.*)/(.*)$ seo4smf-redirect.php?b=$1 [R=301,L]
RewriteRule  ^(.*)/-b(.*)/$ seo4smf-redirect.php?b=$2 [R=301,L]

#New board URL's
RewriteRule ^(.*)-b([0-9]*)\.([0-9]*)/;(.*) index.php?dummy=1&board=$2.$3&$4 [L]
RewriteRule ^(.*)-b([0-9]*)\.([0-9]*)/$ index.php?dummy=2&board=$2.$3 [L]
RewriteRule ^(.*)-b([0-9]*)\.([0-9])$ index.php?dummy=2&board=$2.$3 [L]

#New topic URL's
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html;((\?:from|msg|new)[0-9]*);(.*)$ index.php?dummy=1&topic=$2.$4&$6 [L]
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html;((\?:from|msg|new)[0-9]*) index.php?dummy=1&topic=$2.$4 [L]
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html;(.*)$ index.php?dummy=1&topic=$2.$3&$4 [L]
RewriteRule ^(.*)-t([0-9]*)\.([0-9]*)\.html$ index.php?dummy=1&topic=$2.$3 [L]

#New profiles URL's
RewriteRule ^(.*)-u([0-9]*)\.html;sa,(.*);start,([0-9]*);delete,([0-9]*);sesc,([a-z0-9]*)$ index.php?dummy=1&action=profile;u=$2;sa=$3;start=$4;delete=$5;sesc=$6 [L]
RewriteRule ^(.*)-u([0-9]*)\.html;sa,(.*);start,([0-9]*)$ index.php?dummy=1&action=profile;u=$2;sa=$3;start=$4 [L]
RewriteRule ^(.*)-u([0-9]*)\.html;sa,(.*)$ index.php?dummy=1&action=profile;u=$2;sa=$3 [L]
RewriteRule ^(.*)-u([0-9]*)\.html index.php?dummy=1&action=profile;u=$2 [L]

#New Tinyportal Articles URL's
RewriteRule ^(.*)-p([0-9]*)\.html index.php?dummy=1&page=$2 [L]

#New action Url's - uncomment if you use beautifying url actions 
#RewriteRule ^(.*)\.html(.*)$ index.php?dummy=1;action=$1;$2 [L]
#RewriteRule ^(.*)\.html$ index.php?dummy=1;action=$1 [L]

#Sitemaps
RewriteRule sitemap.xml sitemaps.php [L]
RewriteRule urllist.txt urllist.php [L]

Code: Alles auswählen

	$topic = $_GET['t'];
	$board = $_GET['b'];
	$other = $_GET['o'];
	$user = $_GET['u'];
	$tpage = $_GET['p'];
	$action = $_GET['a'];
	$param = $_GET['param'];
	 
	if (isset($modSettings['seo4smf_split_char']))
	    $split_char = $modSettings['seo4smf_split_char'];
	else
	    $split_char = "_";
	 
	if (empty($topic) && empty($board) && empty($user) && empty($tpage) && empty($action))
	{
	    die ('No parameter given !');
	}
	else
	{
	     
	    if (strpos($topic, '/') !== false) //until now only VisualWarning is adding /
	    {
	        list($topic, $other) = explode("/", $topic);
	    }
	     
	    list($topic, $trest) = explode('.', $topic);
	    list($board, $brest) = explode('.', $board);
	     
	    if (!empty($action))
	    {
	         
	        $scripturl1 = str_replace('/index.php', '', $scripturl);
	         
	        $params = $_SERVER['QUERY_STRING'];
	        $sizep = strlen($params);
	        $pos = strpos($params, ";");
	        if ($pos > 0)
	        {
	            $params = substr($params, $pos+1, $sizep);
	        }
	        if ($params == "")
	            $uri = $action.".html";
	        else
	            $uri = $action.".html;".$params;
	         
	        $url = $scripturl1.'/'.$uri;
	         
	    }
	     
	    if (!empty($topic))
	    {
	        $query = db_query("
	            SELECT m.ID_TOPIC, m.subject ,b.ID_BOARD, b.name
	            FROM {$db_prefix}messages AS m, {$db_prefix}boards AS b
	            WHERE m.ID_TOPIC = $topic
	            AND m.ID_BOARD = b.ID_BOARD
	            LIMIT 1", __FILE__, __LINE__);
	        $row = mysql_fetch_assoc($query);
	        mysql_free_result($query);
	         
	        $topic_name = remove_signs($row['subject']);
	        $topic_name = strtolower(str_replace(" ", $split_char, $topic_name));
	         
	        $board_name = remove_signs($row['name']);
	        $board_name = strtolower(str_replace(" ", $split_char, $board_name));
	         
		if (empty($topic_name)) $topic_name="empty";
	
	        if (!empty($other))
	        {
	            if (is_numeric($trest))
	                $uri = ($modSettings['seo4smf_topic_board'] != 'on'?"$board_name/":'').$topic_name.'-t'.$topic.'.'.$trest.'.html;'.$other;
	            else
	                if (!empty($trest))
	                $uri = ($modSettings['seo4smf_topic_board'] != 'on'?"$board_name/":'').$topic_name.'-t'.$topic.'.0.html;'.$trest.';'.$other;
	            else
	                $uri = ($modSettings['seo4smf_topic_board'] != 'on'?"$board_name/":'').$topic_name.'-t'.$topic.'.0.html;'.$other;
	        }
	        else
	        {
	            if (is_numeric($trest))
	                $uri = ($modSettings['seo4smf_topic_board'] != 'on'?"$board_name/":'').$topic_name.'-t'.$topic.'.'.$trest.'.html';
	            else
	                {
	                if (!empty($trest))
	                    $uri = ($modSettings['seo4smf_topic_board'] != 'on'?"$board_name/":'').$topic_name.'-t'.$topic.'.0.html;'.$trest;
	                else
	                    $uri = ($modSettings['seo4smf_topic_board'] != 'on'?"$board_name/":'').$topic_name.'-t'.$topic.'.0.html';
	            }
	             
	        }
	        $scripturl1 = str_replace('/index.php', '', $scripturl);
	         
	        $url = $scripturl1.'/'.$uri;
	         
	    }
	    if (!empty($board))
	    {
	        $query = db_query("
	            SELECT name FROM {$db_prefix}boards AS b
	            WHERE ID_BOARD = $board
	            LIMIT 1", __FILE__, __LINE__);
	         
	        $row = mysql_fetch_assoc($query);
	        mysql_free_result($query);
	        $board_name = remove_signs($row['name']);
	        $board_name = strtolower(str_replace(" ", $split_char, $board_name));
	         
	        $uri = $board_name.'-b'.$board.'.0/';
	        $scripturl1 = str_replace("/index.php", "", $scripturl);
	         
	        $url = $scripturl1.'/'.$uri;
	         
	    }
	     
	    if ((!empty($user)) && empty($action))
	    {
	         
	        $request = db_query("SELECT memberName FROM {$db_prefix}members where ID_MEMBER=".$user." limit 1", __FILE__, __LINE__);
	        $name = mysql_fetch_assoc($request);
	        mysql_free_result($request);
	         
	        $scripturl1 = str_replace("/index.php", "", $scripturl);
	         
	        $uri = "profiles/".$name['memberName']."-u".$user.".html";
	        if (!empty($param))
	        {
	            $param = str_replace("=", ",", $param);
	            $uri .= ";".$param;
	        }
	         
	        $url = $scripturl1.'/'.$uri;
	    }
	     
	    if (!empty($tpage))
	    {
	        $request = db_query("SELECT subject FROM {$db_prefix}tp_articles where id=".$tpage." limit 1", __FILE__, __LINE__);
	        $row = mysql_fetch_assoc($request);
	        mysql_free_result($request);
	         
	        $scripturl1 = str_replace("/index.php", "", $scripturl);
	         
	        $page_name = remove_signs($row['subject']);
	        $page_name = strtolower(str_replace(" ", $split_char, $page_name));
	         
	        $uri = $page_name."-p".$tpage.".html";
	        $url = $scripturl1.'/'.$uri;
	    }
	     
	}
	 
	if (!empty($url))
	{
	    header('HTTP/1.1 301 Moved Permanently');
	    header('Location: '.$url);
	    exit;
	}
	else
	{