Der wohl beste Beitrag zum Thema http://www.cms-myway.de/snippets/index.php?cat_select=htaccess&show=PHPbb_Mod_Rewrite_4
Hier werden die Links zu den Beiträgen die das Forum ausgibt so umgewandelt das auf das Topic in dem sich der Beitrag befindet gelinkt wird um Doppelten Content zu vermeiden.
Suche in der /includes/sessions.php
function append_sid($url, $non_html_amp = false)
{
global $SID;
und ersetze es mit folgenden Code:
function append_sid($url, $non_html_amp = false)
{
global $SID,$db,$board_config;
//
//Post
//
if( strstr ($url, 'viewtopic.php?p=') ) {
$prg=str_replace("viewtopic.php?","",$url);
parse_str($prg, $prg_output);
$sql = "SELECT t.topic_id
FROM " . POSTS_TABLE . " AS p, " . TOPICS_TABLE . " AS t
WHERE p.post_id = '".$prg_output['p']."'
AND t.topic_id = p.topic_id";
if ($result = $db->sql_query($sql)) {
$row = $db->sql_fetchrow($result);
$c = $db->sql_numrows($result)+1;
if ($board_config['posts_per_page'] < $c)
$prg_output['start'] = floor(($c-1) / $board_config['posts_per_page']) * $board_config['posts_per_page'];
}
if (isset($prg_output['start']))
$url = preg_replace('#viewtopic.php\?p='.$prg_output['p'].'#','viewtopic.php?t='.$row['topic_id'].'&start='.$prg_output['start'],$url);
else
$url = preg_replace('#viewtopic.php\?p='.$prg_output['p'].'#','viewtopic.php?t='.$row['topic_id'],$url);
unset($prg_output['p']);
}
Jetzt sollten alle URLs zu den Beiträgen über die Topic-URL verlinkt werden.
SID ausblenden
Öffne die /includes/sessions.php und suche:
$SID = 'sid=' . $session_id;
ersetzte es mit:
if ( $userdata['session_user_id'] != ANONYMOUS || $userdata['session_page'] == -4 || $userdata['session_page'] == -2 ){
$SID = 'sid=' . $session_id;
} else {
$SID = '';
}
Außerdem muss weiter untern
$SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';
mit folgendem ersetzt werden:
if ( $userdata['session_user_id'] != ANONYMOUS || $userdata['session_page'] == -4 || $userdata['session_page'] == -2 ){
$SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';
} else {
$SID = '';
}
Jetzt sollten Gäste (Suchmaschinen) keine Session ID mehr angehängt bekommen, angemeldete Besucher sollten weiterhin eine SID erhalten wenn keine Cookies unterstutzt werden.!
Standart Domain definieren
Oft wird der Fehler gemacht das Webseiten einmal mit und einmal ohne www erreichbar sind. Das splittert den Pagerank auf beide URLs auf und erzeugt doppelten Content. Um das zu vermeiden sollte man eine Standart Domain definieren und die andere per 301 umleiten, dazu muss folgender Code in die .htaccess eingefügt werden. (domain muss natürlich durch deine Domain ersetzt werden)
RewriteEngine On
#RewriteCond %{HTTP_HOST} !^www\.domain\.de$
#RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
Sollte der Server kein mod_rewrite unterstützen, kann die Weiterleitung auch mit PHP umgesetzt werden. Dazu muss in die Datei /includes/page_header.php ganz oben nach dem Copyright folgender Code eingebaut werden:
if(!preg_match("/^www\./",strtolower($_SERVER['HTTP_HOST'])))
{
header("Status: 301 Permanently Moved");
header("Location: http://www.example.com{$_SERVER['REQUEST_URI']}");
exit(0);
}
Ob die Umleitung richtig funktioniert, kann hier getestet werden. Bei korrekter Umleitung sollte '301 Moved Permanently' zurück gegeben werden wenn man die Domain ohne 'www' aufruft.
top
Zitatbutton ausblenden
Der Button für die Zitatfunktion schafft doppelten Content und bringt Seiten in den Index die nicht besonders ansprechend für Besucher die über die "Zitat-Seite" reinkommen aussehen. Deshalb sollte man den Button auch nur für angemeldete Besucher sichtbar machen, dazu muss in der /viewtopic.php
$temp_url = append_sid("posting.$phpEx?mode=quote&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
$quote_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_quote'] . '" alt="' . $lang['Reply_with_quote'] . '" title="' . $lang['Reply_with_quote'] . '" border="0" /></a>';
$quote = '<a href="' . $temp_url . '">' . $lang['Reply_with_quote'] . '</a>';
mit folgendem Code ersetzt werden:
if ( $userdata['session_logged_in'] )
{
$temp_url = append_sid("posting.$phpEx?mode=quote&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
$quote_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_quote'] . '" alt="' . $lang['Reply_with_quote'] . '" title="' . $lang['Reply_with_quote'] . '" border="0" /></a>';
$quote = '<a href="' . $temp_url . '">' . $lang['Reply_with_quote'] . '</a>';
}
else
{
$quote_img = '';
$quote = '';
}
top
Per robots.txt sperren
Um bestimmte Dateien für den Suchmaschienenbot zu sperren kann man eine Datei mit dem Namen robots.txt im Hauptverzeichnis anlegen. Der Bot sucht wenn er auf die Seite kommt als erstes nach dieser Datei und wertet sie aus. Alle Dateien und Ordner die in dieser Datei mit "Disallow: /dateiname.php" aufgeführt werden schaut sich der Bot nicht an. Doppelten Content per robots.txt auszuschließen ist allerdings nicht der sicherste Weg, sollte aber trotzdem auf jeden Fall gemacht werden.
User-agent: *
Disallow: /admin.php
Disallow: /admin/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /db/
Disallow: /templates/
Disallow: /common.php
Disallow: /config.php
Disallow: /groupcp.php
Disallow: /memberlist.php
Disallow: /modcp.php
Disallow: /posting.php
Disallow: /privmsg.php
Disallow: /profile.php
Disallow: /search.php
Wenn die URLs zu den Foren und Beiträgen umgeschrieben wurden, kann man zusätzlich noch folgende Dateien sperren. Das sollte aber erst ein paar Tage nach der Umstellung gemacht werden damit die Suchmaschinen alte URLs die sie schon im Index haben nicht rausschmeißen, sondern durch die neuen URLs ersetzen.
Disallow: /viewforum.php
Disallow: /viewtopic.php
Da Google auch Wildcards akzeptiert, kann man für den Google-Bot zusätzlich noch folgende einträge in die robots.txt einfügen.
Disallow: /profile.php*
Disallow: /index.php*
Disallow: /viewforum.php*
Disallow: /viewtopic.php*
top
Meta Noindex
Wenn man nicht möchte das Suchmaschinen bestimmte Seiten in den Index aufnehmen und weiter verfolgen besteht die Möglichkeit das dem Bot per Metatag mitzuteilen. Im phpBB besteht allerdings das Problem das für jede Seite der gleiche Header verwendet wird, deshalb muss man um nicht alle Seiten zu sperren das dynamisch gestalten.
Öffne die includes/page_header.php und suche:
define('HEADER_INC', TRUE);
füge danach folgendes ein:
if ($nixindex=="1") {
$meta_noindex = '<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">';
}
Suche in der gleichen Datei weiter unten:
$template->assign_vars(array(
und füge danach folgendes ein:
'META_NOINDEX' => $meta_noindex,
Öffne die /templates/SubSilver/overall_header.tpl und suche:
{META}
Füge darunter
{META_NOINDEX}
ein.
Jetzt kannst du ganz einfach einzelne Teile deines Forums mit dem NOINDEX versehen indem du in der Datei die nicht gespidert werden soll einfach am Anfang folgendes einfügst:
$nixindex="1";
Nach dieser Änderung sollte man auf jeden Fall den Quellcode kontrollieren, sollte bei dieser Änderung was schiefgehen und der NOINDEX Tag wird auf jeder Seite eingeblendet fliegt das Forum komplett aus dem Index, deshalb muss man sich gut überlegen für welche Dateien man diese Änderung vornimmt.
Damit alle Beiträge von den Bots gut gefunden werden können ist die Interne Verlinkung des Forums sehr wichtig. Ein Bot kommt oft über die Startseite und verfolgt von da aus Links bis zu einer bestimmten Tiefe. Deshalb ist es wichtig das auch ältere Themen mit wenigen Klicks erreichbar sind und gespidert werden können. Um das zu erreichen gibt es für das phpBB verschiede Mods die man einbauen kann. Wer ein Portal für sein Forum benutzt kann dort z.B. die letzten 10 Themen anzeigen lassen. Sehr hilfreich ist auch der Mod für die Ähnlichen Beiträge, damit werden unter jedem Thema Links zu Themen mit ähnlichem Inhalt angezeigt, das hilft dem Besucher Themen zu finden die er vielleicht so nicht gefunden hätte und erleichtert dem Suchmaschinenbot das spidern aller Themen im Forum.
Außerdem gibt es in einem Standart phpBB viele Links die zu Seiten führen die keinen für Suchmaschinen interessanten Inhalt haben (z.B. Profile). Deshalb werden hier alle diese Links für Gäste ausgeblendet und nur noch der Linktext (Name) angezeigt.
Auf Domain Linken
Ein Fehler der oft gemacht wird ist ein falscher Link zur Startseite. Bei den meisten Foren wird beim betreten der Seite das Forum aufgerufen (www.domain.de), wenn man aber im Forum auf den Link zur Forenübersicht klickt wird hinter den Domainnamen der Dateiname angehängt (www.domain.de/index.php). Das erzeugt 1. Doppelten Content und 2. wird so der Pagerank der Seite aufgeteilt. Aus diesem Grund sollte man darauf achten das immer auf die Domain direkt gelinkt wird.
Suche in der /include/page_header.php
'U_INDEX' => append_sid('index.'.$phpEx),
und ersetze es mit
'U_INDEX' => append_sid('./'),
wenn ein Portal benutzt und als Startseite verwendet wird muss die Änderung natürlich mit dem Portal-Link (U_PORTAL) durchgeführt werden.
top
Profillinks für Gäste ausblenden
Suchmaschinen mögen es nicht wenn es auf einer Seite zu viele Links gibt. Wenn man sein Forum so eingestellt hat das pro Seite 50 Themen angezeigt werden hat man durch die Links zu den Profilen über 150 interne Links auf einer Seite. Deshalb empfiehlt es sich die Links zu den Profilen für Gäste auszublenden um so die Suchmaschinen gezielter zu den Beiträgen zu leiten.
In der Forenansicht
Suche in der /viewforum.php
$topic_author = ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $topic_rowset[$i]['user_id']) . '">' : '';
$topic_author .= ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? $topic_rowset[$i]['username'] : ( ( $topic_rowset[$i]['post_username'] != '' ) ? $topic_rowset[$i]['post_username'] : $lang['Guest'] );
$topic_author .= ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? '</a>' : '';
und ersetze mit
if ( $userdata['session_logged_in'] ) {
$topic_author = ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $topic_rowset[$i]['user_id']) . '">' : '';
$topic_author .= ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? $topic_rowset[$i]['username'] : ( ( $topic_rowset[$i]['post_username'] != '' ) ? $topic_rowset[$i]['post_username'] : $lang['Guest'] );
$topic_author .= ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? '</a>' : '';
} else {
$topic_author = ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? $topic_rowset[$i]['username'] : ( ( $topic_rowset[$i]['post_username'] != '' ) ? $topic_rowset[$i]['post_username'] : $lang['Guest'] );
}
suche in der gleichen Datei weiter unten
$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $topic_rowset[$i]['id2']) . '">' . $topic_rowset[$i]['user2'] . '</a>';
und ersetze mit
if ( $userdata['session_logged_in'] ) {
$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $topic_rowset[$i]['id2']) . '">' . $topic_rowset[$i]['user2'] . '</a>';
} else {
$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : $topic_rowset[$i]['user2'] ;
}
Jetzt sollten Gäste nur noch den Namen der Poster angezeigt bekommen. Angemeldete Besucher bekommen wie bisher den Namen mit Link zum Profil angezeigt.
Im Index
Um die Links auch im Forenindex auszublenden muss man in der /index.php nach:
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
suchen und mit
if ( $userdata['session_logged_in'] ) {
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
} else {
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $forum_data[$j]['username'];
}
ersetzen.
Den Link zum neusten Mitglied blendest du aus indem du in der /index.php nach
$template->assign_vars(array(
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
suchst und drüber
if ( $userdata['session_logged_in'] ) {
$NEWEST_USER=sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>');
} else {
$NEWEST_USER=sprintf($lang['Newest_user'], '', $newest_user,'');
}
einfügst. Weiter unten muss dann noch
'NEWEST_USER' => $NEWEST_USER=sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),
mit
'NEWEST_USER' => $NEWEST_USER,
ersetzt werden.
Um die Links zu den Profilen der User die gerade online sind auszublenden suche in der /includes/page_header.php
if ( $row['user_allow_viewonline'] )
{
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
$logged_visible_online++;
}
else
{
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
$logged_hidden_online++;
}
und ersetze es mit
if ( $row['user_allow_viewonline'] ) {
if ( $userdata['session_logged_in'] ) {
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
$logged_visible_online++;
} else {
$user_online_link = "<span $style_color>" . $row['username'] . "</span>";
$logged_visible_online++;
}
} else {
if ( $userdata['session_logged_in'] ) {
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
$logged_hidden_online++;
} else {
$user_online_link = '<i>' . $row['username'] . '</i>';
$logged_visible_online++;
}
}
In der Suche
Zum Schluss kann man die Profillinks noch in der Suche für Gäste ausblenden. Dazu muss man die /search.php öffnen und dort
$topic_author = ( $searchset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $searchset[$i]['user_id']) . '">' : '';
$topic_author .= ( $searchset[$i]['user_id'] != ANONYMOUS ) ? $searchset[$i]['username'] : ( ( $searchset[$i]['post_username'] != '' ) ? $searchset[$i]['post_username'] : $lang['Guest'] );
$topic_author .= ( $searchset[$i]['user_id'] != ANONYMOUS ) ? '</a>' : '';
mit diesem Code
if ( $userdata['session_logged_in'] ) {
$topic_author = ( $searchset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $searchset[$i]['user_id']) . '">' : '';
$topic_author .= ( $searchset[$i]['user_id'] != ANONYMOUS ) ? $searchset[$i]['username'] : ( ( $searchset[$i]['post_username'] != '' ) ? $searchset[$i]['post_username'] : $lang['Guest'] );
$topic_author .= ( $searchset[$i]['user_id'] != ANONYMOUS ) ? '</a>' : '';
} else {
$topic_author = ( $searchset[$i]['user_id'] != ANONYMOUS ) ? $searchset[$i]['username'] : ( ( $searchset[$i]['post_username'] != '' ) ? $searchset[$i]['post_username'] : $lang['Guest'] );
}
ersetzten. Außerdem in der gleichen Datei weiter unten
$last_post_author = ( $searchset[$i]['id2'] == ANONYMOUS ) ? ( ($searchset[$i]['post_username2'] != '' ) ? $searchset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $searchset[$i]['id2']) . '">' . $searchset[$i]['user2'] . '</a>';
mit
if ( $userdata['session_logged_in'] ) {
$last_post_author = ( $searchset[$i]['id2'] == ANONYMOUS ) ? ( ($searchset[$i]['post_username2'] != '' ) ? $searchset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $searchset[$i]['id2']) . '">' . $searchset[$i]['user2'] . '</a>';
} else {
$last_post_author = ( $searchset[$i]['id2'] == ANONYMOUS ) ? ( ($searchset[$i]['post_username2'] != '' ) ? $searchset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : $searchset[$i]['user2'];
}
ersetzen.
top
Links zu Moderatoren ausblenden
Normalerweise werden unter jedem Forum die jeweiligen Moderatoren bzw. Gruppen mit Profillink angezeigt. Da es auf diesen Seiten keine für Suchmaschinen interessante Infos gibt sollte man diese Links für Gäste ausblenden und nur noch den Namen anzeigen.
In Index
Um die Links zu den Benutzerprofilen auszublenden, suche in der /index.php nach
$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
und ersetze es mit
if ( $userdata['session_logged_in'] ) {
$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
} else {
$forum_moderators[$row['forum_id']][] = $row['username'];
}
Um die Links zu den Gruppenprofilen auszublenden suche
$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
und ersetze es mit
if ( $userdata['session_logged_in'] ) {
$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
} else {
$forum_moderators[$row['forum_id']][] = $row['group_name'];
}
In der Forenübersicht
Suche in der /viewforum.php nach
$moderators[] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
und ersetze es mit
if ( $userdata['session_logged_in'] ) {
$moderators[] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
} else {
$moderators[] = $row['username'];
}
Suche außerdem weiter unten
$moderators[] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
und ersetze es mit
if ( $userdata['session_logged_in'] ) {
$moderators[] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
} else {
$moderators[] = $row['group_name'];
}
top
Titel des letzten Beitrags im Index
Suchmaschinen werten Keywords im Anchor Text sehr hoch, deshalb empfiehlt es sich auf dem Forenindex nicht nur mit dem Icon zum letzten Beitrag zu verlinken, sondern einen Link mit den Titel des Beitrags zu erstellen. Dazu müssen nur zwei kleine Änderungen in der index.php gemacht werden.
Öffne die index.php und suche:
default:
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
break;
und ersetze es mit :
default:
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
" FROM ((( " . FORUMS_TABLE . " f " .
" LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
" LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " .
" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " .
" ORDER BY f.cat_id, f.forum_order";
break;
Suche weiter unten:
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = $last_post_time . '<br />';
und ersetze es mit:
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$topic_title = $forum_data[$j]['topic_title'];
if (strlen($topic_title)>27) {
$topic_title = substr($topic_title,0,24) . '...';
}
$last_post = (($board_config['last_topic_title']) ? $topic_title : '');
$last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $data['tree.topic_title'] . '">' .$topic_title. '</a><br />';
$last_post .= $last_post_time . '<br />';
top
Links unter den Beiträgen
Unter jedem Beitrag der von einem angemeldeten Besucher geschrieben wird, werden Links zu seinem Profil oder um dem User eine E-Mail/PN zu schicken eingeblendet. Diese Links sind aber für Suchmaschinen nicht relevant und führen auf Seiten die nicht in den Index der Suchmaschinen sollten, deshalb sollte man sie für Gäste einfach ausblenden.
Suche in viewtopic.php
if ( $poster_id != ANONYMOUS )
Ersetze es mit
if ( $poster_id != ANONYMOUS AND $userdata['session_logged_in'] )
top
Nützliche Mods
Hier werden ein paar MODs aufgelistet die helfen die interne Verlinkung im Forum zu verbessern und so eine schnellere Aufnahme der Beiträge in den Suchmaschinen ermöglichen.
Ähnliche Beiträge
Dieser Mod fügt eine Tabelle an das Ende eines Beitrages und zeigt andere Beiträge mit ähnlichen Themen.
showTopicTitle
Ersetzt die Links "Nächstes Thema anzeigen" und "Vorheriges Thema anzeigen" durch Links mit dem Thementitel, die direkt zum neuen Thema führen.
Anzeige der letzten Themen
Mit diesem MOD kann man die xx letzten Themen anzeigen lassen.
-- DetlevLengsfeld 2008-02-29 08:07:57
| /AkismetSpamButcher /AntiSpam /ForumNews /SEO Optimierungen für phpbb3 /Simple /ezPortal /stopwords4better keywords |
Forum/Modifikationen/SEO Optimierungen für phpbb3 (last modified 2008-11-04 07:00:06)