Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
SEO und neue Themen auf externer Seiten
#1
Hallo,

der Plugin SEO (von frostschutz) funktioniert bei mir gut; Ich habe auf einer externer Webseite eine kleine Funktion programmiert, die mir die neuesten Threads aus meinem Forum ausgibt. Ich rufe also auf einer Webseite die Tabelle aus meinem Forum, das auf anderen URL liegt, und lasse die letzten Threads ausgeben. Dabei ist mir aufgefallen: wie soll man die durch SEO modifizierten URLs aufrufen? wo sind die gespeichert? Weil sonst sind die so aufgerufen:
showthread.php?tid=xx
aber sollte doch schon die SEO-mäßige URL aufgerufen werden. Bitte um Hinweis.

Mal eine Nebenfrage, da ich schon wegen den SEO-Plugin nachfrage: welcher ist der Plugin, der die URLs so modifiziert wie hier im myBB Forum? also nach dem Muster:
thread-xxx.html

Vielen Dank!
Gruß, Robert
Webseitenoptimierung für Webprojekte
Zitieren
#2
Zitat:Mal eine Nebenfrage, da ich schon wegen den SEO-Plugin nachfrage: welcher ist der Plugin, der die URLs so modifiziert wie hier im myBB Forum? also nach dem Muster:
thread-xxx.html

Ist die Standart-Funktion von MyBB. Einstellbar unter Konfiguration -> Server und Optimierung -> Suchmaschinenfreundliche URLs aktivieren? aktivieren. Dazu benötigst du allerdings die von Haus aus gelieferte .htaccess oder die modifizierte von frostschutz's Plugin.

Grüße
Zitieren
#3
Orginal liegt keine .htaccess bei, sondern htaccess.txt
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#4
(02.06.2013, 21:15)MrBrechreiz schrieb: Orginal liegt keine .htaccess bei, sondern htaccess.txt

Stimmt. Muss er nur umbenennen und anpassen.
Zitieren
#5
(02.06.2013, 20:59)robagedy schrieb: wo sind die gespeichert?

Gespeichert sind sie in der Datenbank (mybb_google_seo Tabelle), aber innerhalb von MyBB bedienst du dich der get_thread_link() und den anderen get_*_link() aus inc/functions.php

showthread.php ist aber auch kein Weltuntergang, Google SEO Redirect leitet das dann halt um und gut
Zitieren
#6
Danke für Antworten!

Ich hab SQL-Abfrage und php-Ausgabe angepasst und jetzt funktioniert. Die 5 neueste Forum Beiträge auf der Startseite einer Webseite ausgeben, in dem Fall mit Thread-Titel, den ersten 29 Wörter des Threads. Der Titel ist auf Forum-Thread-URL verlinkt. Sieht so aus (vielleicht hilft jemandem):

PHP-Code:
<?php
...
// SQL-Abfrage
$sql_f "SELECT t1.tid,t1.subject as t1_subject,t1.dateline,t1.visible, t2.id,t2.url as t2_url,t2.idtype,  t3.tid,t3.dateline,SUBSTRING_INDEX(t3.message,' ',29) as t3_message FROM mybb_threads t1, mybb_google_seo t2, mybb_posts t3 WHERE t1.visible='1' AND t1.tid=t2.id AND t1.tid=t3.tid AND t2.idtype=4 ORDER BY t1.dateline DESC LIMIT 0,5";
$res_f = @mysql_query($sql_f);
    if(
$res_f){
        while(
$new_user = @mysql_fetch_object($res_f)){
            
$rf_news .= '<li><a href="http://www.meine-domain.tdl/mein-forum/thread-'.strtolower($new_user->t2_url).'">'.htmlspecialchars($new_user->t1_subject).'</a><br /><em>'.htmlspecialchars($new_user->t3_message).'</em></li>';
        }
...
// Ausgabe
$ausgabe_forumnews '<h3>Mein Forum: neueste Beiträge</h3<ul>'.$rf_news.'</ul>';
...
?>

Ich habe diesbezüglich SEO 4 weitere Fragen (war mir nicht sicher, einzeln neue Themen anfangen?):
  1. wenn ich am Ende ".html" anhängen will, tue ich das unter Admin CP -> Home -> Foreneinstellungen -> Google SEO URL und dann die alle 7 scheme anpassen, zum Beispiel bei Thread URL scheme: thread-{url}.html statt thread-{url}. Aber, wo/welche Zeile im .htaccess muss man das auch ändern?
  2. Könnte man die URLs in der Tabelle mybb_google_seo nicht gleich alles klein in der Spalte url schreiben? dann würde man sich die Funktion strtolower() in der Schleife ersparren (Geschwindigkeit Erhöhung des PHP-Scripts); wenn ja, wo?
  3. Irgendwas habe ich bei den Einstellungen verborgt, und jetzt zeigt mir sowohl (1)-meine-domain.tdl/mein-forum/ als auch (2)-meine-domain.tdl/mein-forum/index.php - (2) erzeugt dabei Duplicate Content und sollte eigentlcih automatisch auf (1) umleiten. Am Anfang war richtig und jetzt nicht.
  4. Ich bekomme das mit sitemap für Google nicht hin. Ich will bei Google WT die sitemap zeigen (also meine-domain.tdl/mein-forum/sitemap???), aber, wo liegt sie? und wie heißt sie eigentlich?

Gruß, Robert
Webseitenoptimierung für Webprojekte
Zitieren
#7
(03.06.2013, 06:12)robagedy schrieb: Sieht so aus (vielleicht hilft jemandem):

Evtl. brauchst du da noch ein urlencode() im href.

Zitat:Aber, wo/welche Zeile im .htaccess muss man das auch ändern?

Das wird dir auf der Plugin-Seite dann angezeigt.

Zitat:Könnte man die URLs in der Tabelle mybb_google_seo nicht gleich alles klein in der Spalte url schreiben?

Nein. Die URLs werden ja nur klein ausgegeben wenn die entsprechende Einstellung aktiv ist, und standardmäßig ist das aus, weil das ein unnötiger Informationsverlust ist (zumindest in Deutsch ist die Gross/Kleinschreibung wichtig). Das strtolower() kannst du aber auch direkt im Query haben. Geschwindigkeitstechnisch nimmt es sich aber so oder so nicht viel.

Zitat:sowohl (1)-meine-domain.tdl/mein-forum/ als auch (2)-meine-domain.tdl/mein-forum/index.php

Hat mit dem Plugin nichts zu tun, wenn du das umleiten willst, musst du das explizit machen. Evtl. so, musst du aber ausprobieren:

Code:
RewriteRule ^index\.php$ http://www.deine-seite.de/ [L,QSA,R=301]

Google ist aber meistens in der Lage das von selbst zu erkennen da ja sehr viele Seiten dieses "Problem" haben. Du könntest auch direkt ins index-Template ein entsprechendes link rel canonical reinschreiben.

Zitat:(also meine-domain.tdl/mein-forum/sitemap???), aber, wo liegt sie?

sitemap-index.xml bzw. ist auch auf der Pluginseite verlinkt, wenns aktiviert ist (Sitemap is active, Sitemap anklicken).
Zitieren
#8
Hallo freostschutz,

alle Punkte, von 1. bis 4., dank deiner Hilfe, erfolgreich gelöst; Danke!

Die Ausgabe der neusten Threads habe ich erweitert, damit zwar 5 neueste nach Datum rauskommen, aber nur eine pro Thema und nur die letzte (neueste):
PHP-Code:
<?php
// ...
$sql_f "SELECT tid,subject FROM mybb_threads WHERE visible='1' AND fid IN (6,8,9,11) ORDER BY dateline DESC LIMIT 0,5";
    
$res_f = @mysql_query($sql_f);
    if(
$res_f){
        while(
$new_user = @mysql_fetch_object($res_f)){
            
$sql_f2 "SELECT t1.tid, t2.id,t2.url as t2_url,t2.idtype, t3.tid,t3.dateline as t3_dateline,SUBSTRING_INDEX(t3.message,' ',29) as t3_message FROM mybb_threads t1, mybb_google_seo t2, mybb_posts t3 WHERE t2.id='".$new_user->tid."' AND t3.tid='".$new_user->tid."' AND t2.idtype=4 ORDER BY t3.dateline DESC LIMIT 0,1";
            
$res_f2 = @mysql_query($sql_f2);
            if(
$res_f2){
                
$new_user2 = @mysql_fetch_object($res_f2);
                
$rf_news .= '<li><em>'.date("d.m.Y H:i",$new_user2->t3_dateline).':</em> <a href="http://www.meine-domain.tdl/mein-forum/thread-'.strtolower($new_user2->t2_url).'.html">'.htmlspecialchars($new_user->subject).'</a><br />'.htmlspecialchars($new_user2->t3_message).' ...</li>';
            }
        }
    }
// ...
?>
Vorsicht! fid IN (x,y,z) - die Zahlen x,y,z sind DB spezifisch, IDs der Themen die ich aus meiner Forum-DB ansprechen will - also "Regeln im Forum" zum Beispiel nicht.

Bei .index.php hat's mit RewriteRule geklappt.

Thread ist hier eigentlcih beantwortet.

Gruß, Robert
Webseitenoptimierung für Webprojekte
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Themen auf externen Seiten -> BB-Code darstellen Sternachen 11 4.233 13.10.2010, 15:23
Letzter Beitrag: Sternachen
  MyBB 1.4 Heutige Themen und Neue Themen MyBB-Fanatiker 2 2.034 02.11.2008, 17:02
Letzter Beitrag: MyBB-Fanatiker
  [split] Beiträge aus bestimmtem Forum auf externer Seite anzeigen Mak 43 16.769 03.08.2008, 09:13
Letzter Beitrag: Garlant
  How To: Heutige Themen und Neue Themen in der Suche Dave 2 2.783 27.03.2008, 23:18
Letzter Beitrag: Jockl
  Welcome Box auf externer Seite! brainkopf 3 1.956 27.01.2008, 01:01
Letzter Beitrag: Michael