Hallo,
ich bin zwar ein Anfänger auf dem Gebiet der php-Programmierung. Dennoch habe ich gestern beim Herumexperimentieren mit dem folgenden Test-Code (eingefügt in "global.php") ein paar schöne Ergebnisse erzielen können:
1. Verschiedene Meta-Tags in Abhängigkeit der jeweiligen Seite
(z.B. bei der Mitgliederseite alle Mitglieder einzeln als Keywords)
2. Bei keinem Aufruf exakt identische Keywörter (Hinzufügen einer Zufallszahl). Ich hab aber keine Ahnung, ob das bei Google & Co etwas bringt. Was meint Ihr ?
3. Versuch: Zerstückelung von Beiträgen (Leerzeichen durch Kommas ersetzen) und dann Hinzufügen zu den Keywords.
Ich habe nun folgende Fragen an Euch:
1) Wenn ein Anführungszeichen (") im "Subject" oder "message" erscheint, dann funktioniert die korrekte Darstellung in den Meta-Tags es nur bis zu dieser Stelle.
-> Wie kann ich erreichen, das Anführungs-, und Sonderzeichen als Text, und nicht als Befehl interpretiert werden?
2) Ich habe etwas Bedenken, diesen Code auf meinem "echten" Forum im Internet zu testen, da ich mich noch wenig auskenne (auch wenn es auf meinem Computer bisher kein Problem damit gab).
-> Was Kann schlimmstenfalls schiefgehen ? Seht Ihr irgendwo einen Fehler im Code, den ich vorher beseitigen sollte ?
3) Seht ihr überflüssige oder umständliche Befehle ?
4) Was ich noch ausprobieren will:
Der Code soll nur bei Besuch durch Suchmaschinen (also Gästen) ausgeführt werden, und nicht bei Mitgliedern (damit sich die Verarbeitungszeiten nicht verlängern).
-> Wie weiß das Programm, ob es sich beim momentanen Nutzer um einen Gast oder ein registriertes Mitglied handelt? Wo kann ich diese Information auslesen?
Ich danke Euch für Euren Input!
Gruss,
Tanguero
Zitat://------- VERSUCH ---------------------------------------------------
//VORDEFINIEREN DER BASIS-KEYWÖRTER: (für später)
$basis_worte="tango, tanzen, tango-city, tangocity, forum, community, informationen, veranstaltungen, kalender, veranstaltungskalender, argentino, argentinisch, milonga, vals, Deutschland, östereich, schweiz, deutsches, deutschlandweit, reutlingen, tübingen, stuttgart, tangolehrer, lehrer, lernen, workshops, tangolehrer/in, anfängerin, fortgeschrittene,shows, tanzpartner/in, tanzpartner, tanzpartnerin, partner, partnerin, tanzpartner-suche, tanzpartnersuche, suchen, tangoschule, aktuelle, technik, figuren, beziehungen, gefühl, Einfühlung, portal, sensibilität, rhythmus, rhythmusgefühl, psychologie, links, veranstaltungen, locations, lokalitäten, lehrmaterial, lernen, filme, videoclips, clips, video-clips, movies, download, kostenlos, übersicht, emotion, erotisch, erotik, ";
//VERSUCH MIT ZUFALLSZAHLEN
mt_srand(); // Initialisierung
$zufallszahl=mt_rand() % 1000; // Zufallszahl
switch(basename($_SERVER['PHP_SELF']))
{
// BEI THREAD-ANZEIGE: THEMEN-TITEL IN DIE META-DESCRIPTION INTEGRIEREN:
case "showthread.php":
$tid = addslashes(intval($mybb->input['tid']));
$pid = addslashes(intval($mybb->input['pid']));
if ($pid=="0") {$query = $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE tid = " .$tid."");}
else { $query = $db->query("SELECT subject FROM ".TABLE_PREFIX."posts WHERE tid = " .$tid." AND pid= " .$pid."");}
$threaddescription = $db->fetch_array($query);
$thementitel=$threaddescription['subject'];
// BEITRAGS-TEXT IN META-BESCHREIBUNG INTEGRIEREN:
if ($pid=="0") {$query = $db->query("SELECT message FROM ".TABLE_PREFIX."posts WHERE tid = " .$tid." ORDER BY pid ASC");}
else {$query = $db->query("SELECT message FROM ".TABLE_PREFIX."posts WHERE tid = " .$tid." AND pid= " .$pid."");}
$beitrags_text = $db->fetch_array($query);
$text= $beitrags_text['message']; // LEERZEICHEN ERSETZEN DURCH KOMMAS
$text_modif = strtr($text," ",",");
$metadescription_key = "<meta name=\"keywords\" content=\"" . $thementitel . ", " . $text_modif . $basis_worte . $zufallszahl . "\" />";
$metadescription_desc ="<meta name=\"description\" content=\"". $thementitel . "\" />";
break;
// BEI FORUMANZEIGE: FORUM-NAME UND UNTERFOREN IN META-DESCRIPTION INTEGRIEREN
case "forumdisplay.php":
$fid = addslashes(intval($mybb->input['fid']));
$query = $db->query("SELECT name FROM ".TABLE_PREFIX."forums WHERE fid = ".$fid."");
$forumdescription = $db->fetch_array($query);
$forumname=$forumdescription['name'];
$query = $db->query("SELECT name FROM ".TABLE_PREFIX."forums WHERE pid = ".$fid." ORDER BY disporder");
$num=mysql_num_rows($query); // Anzahl Datensätze ermitteln
while ($dsatz = mysql_fetch_assoc($query))
{$unterforen = $unterforen . $dsatz['name'] . ", ";}
// META-DESCRIPTION= "FORUM-NAME + UNTERFOREN" oder "FORUM-NAME + BEITRAGS-THEMEN"(geordnet nach letztem Beitrag oben)
$query = $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE fid = ".$fid." ORDER BY lastpost DESC");
$num=mysql_num_rows($query); // Anzahl Datensätze ermitteln
while ($dsatz = mysql_fetch_assoc($query))
{$themen .= $dsatz['subject'] . ", ";}
// KEYWORDS = BEITRAGS-THEMEN + BASIS-SCHLÜSSELWÖRTER:
$themen_mod=$themen; // DOPPELPUNKTE ERSETZEN (durch Kommas)
$themen_mod = strtr($themen_mod,":",",");
$metadescription_key = "<meta name=\"keywords\" content=\"". $forumname . ", " . $unterforen_mod . $themen_mod . $basis_worte . $zufallszahl . "\" />";
//if ($themen != "") {"(" . $themen . ")";
if ($forumname !="") {$forumname .= ":\n";}
if ($unterforen !="") {$unterforen .= ":\n";}
$metadescription_desc = "<meta name=\"description\" content=\"".$forumname . $unterforen . $themen . "\" />";
break;
//BEI MEMBERLISTE:
case "memberlist.php":
$query = $db->query("SELECT username FROM ".TABLE_PREFIX."users ORDER BY postnum DESC");//SELBST
$num=mysql_num_rows($query); // Anzahl Datensätze ermitteln
while ($dsatz = mysql_fetch_assoc($query)) {$mitglieder = $mitglieder . $dsatz['username'] . ", ";}
$metadescription_desc = "<meta name=\"description\" content=\"" . "Mitglieder des Tango-City Forums: " . $mitglieder . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". "mitgliederliste, mitglieder, " . $mitglieder . $basis_worte . $zufallszahl . "\" />";
break;
// BEI KALENDER:
case "calendar.php":
$query = $db->query("SELECT subject FROM ".TABLE_PREFIX."events WHERE private LIKE CONVERT(_utf8 \"no\" USING latin1) COLLATE latin1_general_ci ORDER BY date DESC");
$num=mysql_num_rows($query); // Anzahl Datensätze ermitteln
while ($dsatz = mysql_fetch_assoc($query))
{$ereignisse = $ereignisse . $dsatz['subject'] . ", ";}
$metadescription_desc = "<meta name=\"description\" content=\"" . "Veranstaltungskalender des Tango-City Forums: " . $ereignisse . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". $basis_worte . "Veranstaltungskalender, " . $zufallszahl. ", " . $ereignisse . "\" />";
break;
//BEI ANMELDUNG, REGISTRIERUNG:
case "member.php":
switch($mybb->input['action'])
{
case "login":
$beschreibung="Einloggen ins Tango-City Forum";
$schluesselworte="einloggen, login, anmelden, anmeldung, tango, tango-city, tangocity, forum tango-city forum, city, veranstaltungen, community";
break;
case "register":
$beschreibung="Registrieren für das Tango-City Forum";
$schluesselworte="registrieren, Registration, Registrierung, tango, tango-city, tangocity, forum tango-city forum, city, veranstaltungen, community";
break;
}// Ende switch
$metadescription_desc = "<meta name=\"description\" content=\"" . $beschreibung . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". $schluesselworte . $zufallszahl . "\" />";
break;
//INDEX-SEITE:
case "index.php":
$metadescription_desc = "<meta name=\"description\" content=\"" . "Das Forum für argentinischen Tango in Deutschland" . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". $basis_worte . $zufallszahl . "\" />";
break;
// TEAM-SEITE:
case "showteam.php":
$metadescription_desc = "<meta name=\"description\" content=\"" . "Das Team vom Tango-City Forum" . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". "team, forum-team, mitglieder, foren-team, foren, staff, management, administratoren, moderatoren, verantwortlich, leitung" . $basis_worte . $zufallszahl . "\" />";
break;
// SUCHFORMULAR:
case "search.php":
$metadescription_desc = "<meta name=\"description\" content=\"" . "Suchformular des Tango-City Forums" . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". "suche, suchen, schlagwörtern, benutzernamen, finden, optionen, " . $basis_worte . $zufallszahl . "\" />";
break;
//FOREN ANKÜNDIGUNG:
case "announcements.php":
$aid = addslashes(intval($mybb->input['aid']));
$query = $db->query("SELECT subject FROM ".TABLE_PREFIX."announcements WHERE aid =" .$aid. "");
$betreff= $db->fetch_array($query);
$query = $db->query("SELECT message FROM ".TABLE_PREFIX."announcements WHERE aid =" .$aid. "");
$text= $db->fetch_array($query);
$metadescription_desc = "<meta name=\"description\" content=\"" . $betreff['subject'] . ":\n". $text['message'] . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". "ankündigung, ankündigungen, " . $basis_worte . $zufallszahl . "\" />";
break;
default: //FALLS KEINE DER OBIGEN BEDINGUNGEN ZUTRAF
$metadescription_desc = "<meta name=\"description\" content=\"" . "Das Forum für argentinischen Tango in Deutschland" . "\" />";
$metadescription_key = "<meta name=\"keywords\" content=\"". $basis_worte . $zufallszahl . "\" />";
break;
} // Ende Switch
//----- ENDE DES VERSUCHS ------------------------------------------------------------------------------------------------
eval("\$headerinclude = \"".$templates->get("headerinclude")."\";");
eval("\$gobutton = \"".$templates->get("gobutton")."\";");
eval("\$htmldoctype = \"".$templates->get("htmldoctype", 1, 0)."\";");
//logout
if($mybb->user['uid'] != 0)
{
Der entsprechende Code im Template "headerinclude":
Zitat:$metadescription_desc
$metadescription_key
<meta name="revisit-after" content="1 day" />
$metadescription_revisit
<meta http-equiv="Content-Type" content="text/html; charset=$charset" />
<meta name="robots" content="index, follow" />
<meta name="audience" content="all" />
<meta name="distribution" content="global" />
<script type="text/javascript" src="jscripts/general.js"></script>
<link rel="stylesheet" type="text/css" href="css.php?theme=$theme[tid]" />
$newpmmsg