
Wie üblich ist das ganze unter http://www.nuforum.de in Aktion zu sehen.
Einen guten Überblick über die Auswirkungen des Hacks kann man sich auch unter http://tools.summitmedia.co.uk/spider/ anschauen.
- Optimierung der TITLE Tags in viewforum.php und viewtopic.php
Sowohl in der Forum- als auch in der Topic-Ansicht werden in der Default-Installation 'statische' Angaben in die Title-Tags geschrieben - dies ist in aller Regel überflüssig und stört bei der Ausgabe von Suchergebnisssen:
in viewforum.php:
anstelle von
Code: Alles auswählen
$page_title = $lang['View_forum'] . ' - ' . $forum_row['forum_name'];
Code: Alles auswählen
$page_title = $forum_row['forum_name'];
in viewtopic.php:
anstelle von
Code: Alles auswählen
$page_title = $lang['View_topic'] .' - ' . $topic_title;
Code: Alles auswählen
$page_title = $topic_title;
- Verwendung dynamischer META-Tags für DESCRIPTION und KEYWORD
Das folgende Snippet sorgt dafür, dass die Meta-Tags 'Description' und 'Keywords' innerhalb der Topic-Ansicht gesetzt werden, 'Description' basiert dabei auf Kategorie-Titel, Forum-Name und Topic-Name, 'Keywords' sind die für die Suche indizierten Begriffe des ersten Postings:
in /includes/page_header.php nach
Code: Alles auswählen
define('HEADER_INC', TRUE);
folgenden Code einfügen:
Code: Alles auswählen
if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) )
{
$topic_id = intval($HTTP_GET_VARS[POST_TOPIC_URL]);
}
else if ( isset($HTTP_GET_VARS['topic']) )
{
$topic_id = intval($HTTP_GET_VARS['topic']);
}
if ( $topic_id )
{
$sql = "SELECT c.cat_title, f.forum_name, t.topic_title
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
WHERE f.forum_id = t.forum_id
AND c.cat_id = f.cat_id
AND t.topic_id = $topic_id";
if( ($result = $db->sql_query($sql)) )
{
if ( $meta_row = $db->sql_fetchrow($result) )
{
$meta_description = '<meta name="description" content="' . $meta_row['cat_title'] . ' :: ' . $meta_row['forum_name'] . ' :: ' . $meta_row['topic_title'] . '">';
}
}
$sql = "SELECT w.word_text
FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE t.topic_first_post_id = m.post_id
AND m.word_id = w.word_id
AND t.topic_id = $topic_id";
if( ($result = $db->sql_query($sql)) )
{
$meta_keywords = '';
while ( $meta_row = $db->sql_fetchrow($result) )
{
$meta_keywords .= ($meta_keywords=='') ? $meta_row['word_text'] : ',' . $meta_row['word_text'];
}
$meta_keywords = '<meta name="keywords" content="' . $meta_keywords . '">';
}
}
sowie am Ende der Datei nach
Code: Alles auswählen
'PAGE_TITLE' => $page_title,
Code: Alles auswählen
'META_DESCRIPTION' => $meta_description,
'META_KEYWORDS' => $meta_keywords,
Damit das ganze auch in der Seitenausgabe angezeigt wird, muss natürlich auch das entsprechende Template angepasst werden - dazu in /templates/subSilver/overall_header.php die entsprechende Ausgabe setzen, nach
Code: Alles auswählen
<meta http-equiv="Content-Style-Type" content="text/css">
Code: Alles auswählen
{META_DESCRIPTION}
{META_KEYWORDS}
Anmerkung: Die unter HTML4.01, XHTML 1.0 strict und CSS validiert diskutierte HTML-Konformität ist im übrigen meiner Meinung nach ebenfalls sinnvoll - auch wenn sie nicht unbedingt zu besseren Rankings verhilft...