Seite 1 von 1

Dynamische Meta Tags

Verfasst: 09.01.2007 00:49
von HiRO
Moin moin,

ich hab mir diesen Code hier eingebaut:

Code: Alles auswählen

Suche in der Datei /includes/page_header.php 

define('HEADER_INC', TRUE);
und füge danach folgendes ein:

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 . '">';
} 
}
 else {
$meta_description = '<meta name="description" content="Hier die Decription für alle Seiten bei den nichts aus der Datenbank gelesen werden kann">'; 
$meta_keywords = '<meta name="keywords" content="Hier die Keywords für alle Seiten bei den nichts aus der Datenbank gelesen werden kann">';
}
Am ende der Datei muss nach

'PAGE_TITLE' => $page_title,
folgender Code eingefügt werden:

'META_DESCRIPTION' => $meta_description,
'META_KEYWORDS' => $meta_keywords,
Jetzt kann man im Template (/templates/subSilver/overall_header.php) nach

<meta http-equiv="Content-Style-Type" content="text/css">
die Keywords und die Description einbauen

{META_DESCRIPTION}
{META_KEYWORDS}
Damit werden ja dynamische Meta Tags für Description und Keywords generiert.

Nun will ich aber nur ne dynamische Description haben und habe mir das mit den Keywords irgendwie rausgebastelt.
Könnte da mal bitte einer drüber schauen ob das richtig so gemacht ist?

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'] . '">';
}
}
}
else {
$meta_description = '<meta name="description" content="Die Community für Azubis und Studenten. Informationen rund um Ausbildung und Studieren.">'; 
}

und ganz unten dann noch das entfernt:
'META_KEYWORDS' => $meta_keywords,
Gruß, Manu

Verfasst: 09.01.2007 08:39
von andreasOymann
Das sieht gut aus und sollte so klappen ;)

A.

Verfasst: 09.01.2007 15:58
von HiRO
Super, vielen Dank. Der Thread kann dann geclosed werden :)

Verfasst: 09.01.2007 20:37
von schnipsell
moin,

dass passt so gut in den thread:

Anstatt die Metas bei den einzelnen Foren statisch anzuzeigen mit

Code: Alles auswählen

else {
$meta_description = '<meta name="description" content="Hier die Decription für alle Seiten bei den nichts aus der Datenbank gelesen werden kann">';
$meta_keywords = '<meta name="keywords" content="Hier die Keywords für alle Seiten bei den nichts aus der Datenbank gelesen werden kann">';
} 
müsste es doch auch gehen an dieser Stelle wenigstens noch die Beschreibung als meta-Description bei den einzelnen Subforen anzuzeigen.

Die entsprechenden Einträge sind ja in der Datenbank vorhanden.

Hat da jemand ne Ahnung?

Bin nicht so sehr der fitteste in sql ... :-?

grüsse