Seite 1 von 11

SEO (Search Engine Optimierungen) für phpBB2

Verfasst: 14.03.2004 12:26
von larsneo
Nachdem die in Short URLs für phpBB2 vorgestellte Methode, 'statisch aussehende' Links innerhalb des phpBB2 zu verwenden ein recht guter Erfolg bei Google und Co. zu sein scheint, habe ich mir noch ein paar weiterführende Gedanken zur SEO gemacht - ob und inwieweit die letztendlich zu einem besseren Ranking verhelfen ist allerdings unklar :roll:
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'];
nur

Code: Alles auswählen

$page_title = $forum_row['forum_name'];
benutzen - 'Forum anzeigen -' ist überflüssig.

in viewtopic.php:
anstelle von

Code: Alles auswählen

$page_title = $lang['View_topic'] .' - ' . $topic_title;
nur

Code: Alles auswählen

$page_title = $topic_title;
benutzen - 'Thema anzeigen -' ist überflüssig.


- 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, 
die entsprechenden variablen-zuweisungen

Code: Alles auswählen

    'META_DESCRIPTION' => $meta_description, 
    'META_KEYWORDS' => $meta_keywords, 
setzen.

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"> 
einfach

Code: Alles auswählen

{META_DESCRIPTION} 
{META_KEYWORDS} 
einfügen.

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...

Verfasst: 14.03.2004 13:12
von Nico Haase
...bei einem langen ersten beitrag wie hier wird also die datei zusätzlich noch durch alle worte des ersten beitrags aufgebläht....
in news:de.comm.infosystems.suchmaschinen ist die gängige meinung eigentlich, dass die metatags wirklich nur blähen, aber nicht wirken, siehe u.a. http://groups.google.com/groups?selm=an ... put=gplain.

Verfasst: 14.03.2004 13:16
von Dwing
Kann es sein, dass ich das Design von http://tools.summitmedia.co.uk/spider/ grad geändert hat?

Verfasst: 14.03.2004 13:22
von larsneo
die auswirkungen von meta tags im speziellen auf google sind leider nicht wirklich dokumentiert - es _scheint_ so zu sein, dass inktomi und teoma die keywords auswerten, alltheweb, altavista und google dagegen nicht - siehe auch *hier*. insbesondere googles suchtechnik ist allerdings seit der vermeintlichen einführung des sog. 'florida updates' (das angeblich zwischenzeitlich auch in deutschland anwendung findet) ziemlich undurchschaubar - den bislang besten hintergrundbericht dazu gibt es meiner meinung nach derzeit übrigens *hier* ...

im oben angeführten hack werden im übrigen nicht _alle_ worte als description gesetzt, sondern nur die begriffe des ersten topics, die im übrigen auch für die suche indiziert wurden:

Code: Alles auswählen

[...]
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
[...]
bei einer entsprechend guten language/lang_german/search_stopwords.txt sind das auch bei längeren postings nicht übermässig viele. es sollte darüberhinaus auch keine allzugrossen performance einbussen geben, da seit phpBB 2.0.4 ein index auf 'post_id' gesetzt ist ;-)

Verfasst: 23.04.2005 23:27
von rabbit
mensch, wie hab' ich diesen artikel bloß verpassen können? :o

larsneo, du bist ein echter wissens-pool! :)

und daher verdient dieses topic auch ein *BUMP*...

Verfasst: 30.04.2005 20:12
von Blex
Hallo larsneo,

habe schon seit langem nach sowas gesucht! :grin:

Nun hab ich den CODE eingefügt, und zwar in mehreren Versuchen, aber es werden keine Metatags ausgegeben. Stattdessen finde ich in den Quellcodes lediglich zwei leere Zeilen. :-?

Verfasst: 11.05.2005 00:07
von mgutt
respekt!

und wie bekomme ich das ganze categories hierarchy mod kompatibel ;) bei mir zeigt er auf grund von doppelten kategoriennamen (englisch, deutsch) immer nur die variablennamen an :cry:

und dann sollte man die keywords auf 1000 zeichen beschränken oder?

Und noch ein Verbesserungsvorschlag:

Wenn jemand eine andere Seite als einen Beitrag öffnet, dann sollen andere "Standard" Metas angezeigt werden.

Verfasst: 11.05.2005 17:26
von easygo
mgutt hat geschrieben:Wenn jemand eine andere Seite als einen Beitrag öffnet, dann sollen andere "Standard" Metas angezeigt werden.
Jo kein Problem. Häng einfach das nach Schema F an die
IF Schleife in der page_header.php (Code s.o.)

Code: Alles auswählen

else
{
	$meta_description = '<meta name="description" content="Standard Beschreibung">'."\n";
	$meta_keywords = '<meta name="keywords" content="standard, keywords">'."\n";
}
... und lösch die Zeilen aus der overall_header.tpl (falls vorhanden)

Code: Alles auswählen

<meta name="description" content="Standard Beschreibung">
<meta name="keywords" content="standard, keywords">
:wink: easy

Verfasst: 12.05.2005 00:26
von Helmut71
Darf ich mal was ganz banales fragen??

Wenn man NICHT mittels hort urls bzw meta tags das Forum optimiert, bedeutet das, dass Google & Co keine Forenbeiträge etc spidern/listen??

Oder liefert das jeweils nur eine geringfügige Verbesserung?

Was ist denn wichtiger, die short urls oder die Meta tags??

Verfasst: 12.05.2005 04:11
von easygo
Helmut71 hat geschrieben:Wenn man NICHT mittels hort urls bzw meta tags das Forum optimiert, bedeutet das, dass Google & Co keine Forenbeiträge etc spidern/listen??
Hi, ich denke, das kommt ganz auf die Wichtigkeit (Pagerank) der Seite an.
Foren wie phpbb.de beweisen ja, dass es scheinbar auch ohne geht.
Helmut71 hat geschrieben:Oder liefert das jeweils nur eine geringfügige Verbesserung?
Keine Ahnung wieviel :-? ... um das rauszufinden, brauchts ne Menge Zeit.
Helmut71 hat geschrieben:Was ist denn wichtiger, die short urls oder die Meta tags??
Schwer zu sagen... weil beides ist nur Teil einer Optimierung und den
Bots mehr oder weniger wichtig, je nachdem. Die Prioritäten verschieben
sich da ständig, zumal hin und wieder dem Missbrauch von meta tags
der Kampf angesagt wird. Aber egal, viel wichtiger als alles andere sind
nach wie vor aussagekräfige Texte, vor allem zwischen den body tags.

Wenn du mehr wissen willst, dann gib doch einfach mal bei Google
"Suchmaschinenoptimierung" ein und du findest Abhandlungen...

ohne Ende :wink: easy