MyBB.de Forum

Normale Version: meta description variabel ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8
fantastisch, das funktioniert wie am schnuerchen...wirklich vielen dank...wenn man naemlich jetzt hingeht und hinter :

$threaddescription['subject']."

also VOR dem \
noch einen eigenen text einfuegt, (den man z.b. normalerweise als meta description genommen hat), hat man fuer jeden thread eine indivduelle meta description...

was, ich denke, auch fuer andere von grossem interesse sein duerfte, die gerne gut in suchmaschinen gelistet waeren ;-)

danke nochmals...und Helau aus Düsseldorf

Das hört sich gut an!
@Tifflor
könntest Du das vielleicht zusammenfassen ?
So ganz verstanden habe ich das nämlich noch nicht. Sad
Danke schon mal!
(und auch Helau aus Düsseldorf !)
aehm, was jetzt zusammenfassen ? worum es geht, oder wie es funktioniert ? ;-)

Hi,

also das mit der description passt ja in den beiträge ganz gut.
aber mir persönlich ist das zuwenig kann man es auch irgendwie einstellen das man für die portal.php und index.php seperate description und keywords eingeben kann?
muss nicht unbedingt durchs admin cp passieren, aber es sollte irgendwie so gehen das er auf der index.php und portal.php eine feste description anzeigt und bei dne beiträgen dann die aus dem text zieht wie hier beschrieben. und in der forenansicht fehlt auch eine dynamische meta generierung von keywords und description.

es fehlen zwar noch einihe sachen um das forum noch suma tauglicher zumachen ,aber das wäre schonmal ein sehr schöner anfang, ich hoffe mir kann jemand helfen.

gruß kai
Ja, das ist möglich. Du kannst den Code so erweitern, dass je nach Seite ein anderer Inhalt ausgegeben wird. Anbei zwei Beispiele wie das realisierbar ist.

Beispiel 1:
PHP-Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php")
{
$tid addslashes(intval($mybb->input['tid']));
$query $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE tid = ".$tid."");
$threaddescription $db->fetch_array($query);
$metadescription "<meta name=\"description\" content=\"".$threaddescription['subject']."\" />";
}
elseif(
basename($_SERVER['PHP_SELF']) == "index.php")
{
$metadescription "<meta name=\"description\" content=\"Das hier ist die Startseite\" />";
}
elseif(
basename($_SERVER['PHP_SELF']) == "portal.php")
{
$metadescription "<meta name=\"description\" content=\"Das hier ist das Portal\" />";
}
else
{
$metadescription "<meta name=\"description\" content=\"Standardbeschreibung\" />";


Beispiel 2:
PHP-Code:
switch (basename($_SERVER['PHP_SELF'])) {
case 
"showthread.php":
    
$tid addslashes(intval($mybb->input['tid']));
    
$query $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE tid = ".$tid."");
    
$threaddescription $db->fetch_array($query);
    
$metadescription "<meta name=\"description\" content=\"".$threaddescription['subject']."\" />";
    break;
case 
"index.php":
    
$metadescription "<meta name=\"description\" content=\"Das hier ist die Startseite\" />";
    break;
case 
"portal.php":
    
$metadescription "<meta name=\"description\" content=\"Das hier ist das Portal\" />";
    break;
default:
    
$metadescription "<meta name=\"description\" content=\"Standardbeschreibung\" />";

uiuiui vielen dank für deine schnelle und besonders späte antwort.
ich werde das anchher mal testen.
sagmal weiß jemand ob allgemein an sumaoptimierung des mybb gebastelt wird?
Gruß kai
Es wird an einer SEO-Erweiterung gearbeitet. Beim MyBB generell gibt es im Moment andere Prioritäten.
okay ich habs getestet und s geht super besten dank michael, funktioniert auch super mit meinen eigenen angelegten seiten ;-)
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
Ich möchte hierdran nochmal anknüpfen: Google hat inzwischen viele der Forenbeiträge gefunden. Allerdings steht überall als Beschreibung die, die ich in den Metatags ausgewählt habe.
Könnte man den Inhalt des ersten Posts jeweils als Metagatag Content ausgeben? Das müsste doch genau so gehen?
Seiten: 1 2 3 4 5 6 7 8