Der ein oder andere von Euch kennt sicherlich das Plugin CommentLuv, das dafür sorgt, dass der letzte Artikel des Kommentatoren in den Kommentaren angezeigt wird. Mir persönlich gefällt dieses Plugin eigentlich sehr gut, nur hat es den gravierenden Nachteil, dass es die Anzahl der ausgehenden Links auf den Seiten im Kommentarbereich gleich mal verdoppelt. Für mich ist das ein definitives “no go”, da meine Artikel oftmals nicht gerade wenig kommentiert werden.
Eine mögliche Lösung dafür wäre es den normalen Kommentarlink rauszunehmen und stattdessen nur den letzten Artikel zu verlinken. Das finde ich persönlich aber auch eher suboptimal. Zudem habe ich mich ja gerade auch dafür entschieden den normalen Link im Kommentar hinter das Thumbnail Bild zu legen.
Da aber CommentLuv auch nur mit Wasser kocht, dachte ich mir, ich probiere es einfach mal aus, mir eine individuelle ähnliche Lösung selbst zu basteln. Und ich habe es auch tatsächlich geschafft. Das was Ihr nun in meinem Kommentarbereich als letzten Artikel des Kommentators seht, ist “made by Crazy Girl”. An dieser Stelle möchte ich mich auch noch kurz bei Kim bedanken, der mir half einen kleinen Fehler in meinem PHP Script zu korrigieren.
Meide Ideen beziehungsweise die Umsetzungen hinter dem Ganzen sehen wie folgt aus:
Nun stand ich vor dem Problem, dass das alles bei jedem Seitenaufruf wieder neu generiert, geholt etc. wurde. Zum einen nicht gerade optimal was die Performance meines Blogs betrifft. Zum anderen auch nicht optimal für die Kommentatoren, denn es würde damit in meinem gesamten Blog immer der gleiche Artikel verlinkt. Stellt Euch mal die Power vor, die damit auf einen Artikel des Kommentators kommen könnte. Es mag zwar auf den ersten Blick positiv erscheinen, auf den zweiten Blick kann sich so etwas in den Suchmaschinen aber auch äußerst negativ auswirken und im schlimmsten Falle diesen Artikel erst mal richtig “abschießen”.
CommentLuv schreibt diese letzten Artikel in den Kommentartext hinein und ehrlich gesagt, für eine solche Lösung bin ich zu php-doof, das bringe ich beim besten Willen nicht hin. Also entschied ich mich kurzerhand für mein altbewährtes manuelles PHP Cache Script und schreibe die entsprechende URL des letzten Artikels einfach in eine Cache Datei, die ich derzeit alle 2 Wochen erneuere. Dafür erstelle ich für jeden Link mit der entsprechenden Kommentar-ID eine eigene Cache Datei.
Das hat nun zur Folge, dass alle zwei Wochen vom Zeitpunkt der ersten Cache Datei, ein neuer Link in den entsprechenden Kommentar geschrieben wird. So haben auch meine Leser zu einem späteren Zeitpunkt halbwegs aktuelle Informationen. Und natürlich verlinke ich, je nach dem individuellen Artikel Veröffentlichungspensum unterschiedliche Artikel der Kommentatoren.
Das Ganze läuft nun erst einmal zum Test für einige Zeit in meinem Blog und ich will einfach mal sehen, wie es Euch gefällt, beziehungsweise auch wie es sich in der Praxis bewährt. Einen kleinen Haken, der im Feed holen liegt, habe ich bereits gefunden. Wer nicht in meine Standard Routine passt, also eine andere Feedadresse nutzt, als ich hole bzw. diese nicht automatisch weiterleitet, der erhält keinen Artikel ausgegeben. Wenn mir diese auffallen, kann ich sie zwar manuell abfangen, aber ich weiß ehrlich gesagt nicht, mit wie viel Arbeit dies zukünftig verbunden sein wird und wie sehr das Ganze mein PHP Script aufbläst.
Das entsprechende PHP Script werde ich an dieser Stelle nicht veröffentlichen. Wer Interesse daran hat, schickt mir einfach eine eMail. Es bedarf einiger PHP Kenntnisse zur Umsetzung und gehört definitiv nicht in die Kategorie “kopiere einfach diese paar Zeilen und bau sie bei Dir ein und alles läuft” Scripts. Aus Zeitgründen kann ich diesbezüglich keine Unterstützung beziehungsweise Hilfestellungen geben. Ich habe bei mir mehrere Stunden gebraucht, bis das Ganze einigermaßen rund lief. Wer es sich also selbst zutraut, dem schicke ich das gerne zu.
Dann wäre es nett, wenn Du mir das mal zuschicken würdest. Wenn ich diesbezüglich noch eine E-Mail schreiben soll, dann tue ich das natürlich. Vielleicht kann ich ja auch ein paar Fehler, sofern es die überhaupt noch gibt, mit rausprogrammieren.
Find ich auf jeden super, was ihr euch immer für ne Arbeit macht. Und wenn es fehlerfrei läuft wäre hier ja wohl mal ein Spendenbutton angebracht
Sorry wegen doppelpost aber da muss ich doch noch einmal einhaken. Ist das richtig, dass der angezeigte Link auf NoFollow steht?
Ich meine, eigentlich ist es ja egal, aber wie hoch schätzt Du den Aufwand, das zu ändern?
Ich hätte so etwas gerne bei mir mit DoFollow
Ich habe Dir gerade eine eMail geschickt Sascha
Der Aufwand für dofollow ist ein paar Sekunden… steht auch drin.
Jetzt bin ich natürlich gespannt wie Du damit klar kommst.
Ach ja, noch was, die comments.php bei mir ist eine alte, also vor den diesbezüglichen Neuerungen der Version 2.7
Und ich mal. Heute vormittag werde ich zwar kaum Zeit dafür finden, aber ich denke mal, dass ich heute Nacht ein wenig darin rumprobieren werde
Freu mich da schon drauf
Das Script hat sicherlich noch ein paar Ecken und Kanten, zu denen mir keine Lösung eingefallen ist, aber immerhin ist es eine derzeit passable Lösung das CommentLuv Plugin komplett zu umgehen und das Ganze auf seine speziellen Bedürfnisse anzupassen.
Du musst Dir einfach nur die Hauptteile eines nach dem anderen langsam einbauen, ausprobieren und Schritt für Schritt erweitern. Den Cache würde ich erst am Schluß drum rum setzen.
Mich würde dann vor allem auch interessieren, wie lange Du gebraucht hast, das bei Dir ans Laufen zu bringen. Ist vielleicht auch ein guter Anhaltspunkt für alle, die sonst noch Interesse daran haben könnten.
Die Idee finde ich sehr gut! Werde mal beobachten, wie das Ganze dann konkret ausschaut.
Wenn ich mir so anschaue, wie du es immer wieder schaffst, deinen Blog deinen eigenen Wünschen und Vorstellungen anzupassen, dann überlege ich mir immer wieder, mir auch mal mehr “technisches” Wissen anzueignen. Ich find es klasse, dass du dir da so viel Mühe gibst!
Ich bin ja damals vor etwas mehr als einem Jahr auch nicht als Wordpress Meister vom Himmel gefallen und auch sicherlich heute noch keiner
Es lohnt sich in meinen Augen auf jeden Fall sich das ein oder andere technische Wissen anzueignen und dann wird das Feld der Möglichkeiten auch ständig größer. Bis dato ist alles, was ich bezüglich HTML, CSS und PHP kann “learning by doing” gewesen.
Hallo Tanja,
wie immer toller Artikel. Werde das auch einbauen, aber wie du ja weißt im Moment ziemlich viel um die Ohren! Melde mich, wenn es funktioniert hat!
Gruß
Matthias
Nun ja sicherlich eine tolle Lösung. Nur ehrlich gesagt wäre ich wohl zu bequem mir so eine Arbeit zu machen
Mensch Tanja,
du scheinst wohl Gedanken lesen zu können. Genau danach habe ich gesucht, weil ich CommentLuv nicht einbauen will. Das wäre damit ja die perfekte Lösung. Wäre Super wenn du mir die Codezeilen auch mal schicken könntest
Viele Grüße
Thomas
@Matthias und Thomas: Ich habe Euch gerade eine eMail geschickt mit einer Kurzbeschreibung was wo zu finden ist und was es ungefähr macht. Ich hoffe Ihr kommt damit klar
Wenn nicht, dann einfach kurz nachfragen.
Matthias, Du kannst es Dir ja für demnächst auf die Seite legen, dann hast Du es zumindest schon mal…
@Peter: Kommt halt ganz drauf an, wie wichtig einem etwas ist. Für das eine macht man sich gerne die Arbeit, für andere Dinge wiederum nicht
Hallo Tanja,
eine klasse Idee
ich würde mich freuen, wenn du mir das Script einmal per E-Mail zuschicken könntest, denn sollte ich einmal wieder mehr Zeit haben, dann teste ich es
klasse idee auch wenn ich es mir zweimal durchlesen musste^^ aber auch gleich mal ne frage. CommentLuv funktioniert bei mir irgendwie schon lang nicht mehr. das heißt nicht auf meiner seite sondern dort wo ich kommentare hinterlass. ich hab die vermutung das das mit dem framebuster zusammenhängt. kann das sein?
Ich wollte auch mal auf meinen Seiten diese Funktion einbauen, doch hatte ich (und hab immer noch) Probleme mit Gravatar. Aber deinen Ansatz finde ich gut.
@Daniel: Du hast Post
@Markus: Mit dem Framebuster hat das sicherlich nix zu tun, denn CommentLuv nutzt ja keine Frames sondern holt die letzten Artikel, genau wie ich, über den RSS Feed. Ich vermute eher es liegt an Deiner Feedadresse, die vielleicht im CommentLuv Script nicht mit abgefrühstückt wird. Ich musste sie für Adressen wie Deine auch extra dazu programmieren
Ich habe den Framebuster ja auch und beim Kim gibt es bei meinen Kommentaren mit CommentLuv keine Probleme. Ich habe aber auch schon vor dem Framebuster diverse Seiten gesehen, bei denen CommentLuv nicht funktionierte… Keine Ahnung woran das genau liegt, so genau habe ich mir das Plugin dann auch nicht angesehen
@Paul: Danke
freut mich, dass Du meinen Ansatz gut findest. So was geht natürlich runter wie Öl…
@crazy danke. mich wundert halt nur weil es ja immer ging überall und plötzlich nicht mehr. geändert hab ich nichts großartig. na ja wurscht^^ vielleicht komm ich durch zufall mal drauf aber jetzt danach suchen hab ich auch keine lust
Markus, Du kannst ausprobieren, ob meine Vermutung richtig ist, wenn Du in der htaccess eine Umleitung einrichtest von DeinerURL/feed/ auf Deine Feedadresse und dann, sobald die läuft, nochmal irgendwo mit commentluv kommentierst
.htaccess ? sowas kennt mein provider nicht
wenn deine vermutung stimmt, müsste es vor ca. 2 wochen oder so ein update für commentluv gegeben haben und deshalb dann nicht mehr gehen. weil wie gesagt es ging immer davor. dann denk ich aber eher mal das die entwickler von dem plugin da nach schauen sollten und nicht ich^^ den es gibt noch andere die keine “richtigen” permallinks nutzen können und dann eben dieses index.php in der url haben.
Coole Sache und tausend Dank. Ich musste etwas mehr umbauen, da ich schon den neuen Kommentarloop mit wp_list_comments habe. Da musste ich alles in die functions.php reincoden. So weit funktioniert es schon mal ganz gut. Muss ich halt jetzt bei Gelegenheit noch ein bisschen anpassen. Vor allem des mit den verschiedenen feedurls muss doch zu lösen sein. Man kann ja nicht alle ausnahmen rein schreiben*g. For allem die mit den ?feed=rss2. Ich habe zwar die null=$rss mit der Abfrage erweitert, aber das klappt nicht so einfach
Dann bleibt noch die Frage, ob man Follow oder nicht Follow die Links machen sollte? Nicht das man SEO Technisch was Kaputt macht.
@Markus: Mal abgesehen davon, dass das wirklich ein CommentLuv Problem ist und nichts unseres… *zwinker*… ein Provider, der die htaccess nicht kennt und/oder diese nicht zulässt, käme für mich so ganz und gar nicht in die Tüte
@Thomas: Hab mir schon gedacht, dass das bei Dir was größeres wird wegen dem wp_list_comments.
Für die verschiedenen Feedurls ist mir auch noch nichts wirkliches konstruktives eingefallen, leider. Aber vielleicht hat ja Sascha heute Nacht eine Idee oder Matthias später *hoff*.
Ich habe mich erst mal vorübergehend für nofollow entschieden bei diesen Links. Mit follow hätte ich echt Bammel, dass auf einmal zuviel Power rüber kommt auf die entsprechend verlinkten Artikel und dann macht vielleicht der ein oder andere noch nicht so stabile Blog einen Abflug. Und das will ich wirklich niemanden antun.
Man nimmt mit nofollow eh nur einen Teil der Power weg, durch das nofollow werden einzig und allein der PageRank nicht vererbt und der Anchortext (Linktext, also Keywords etc.) wird nicht in Betracht gezogen bei diesem Link. Da der Bloglink darüber (bei mir im Image) ein normaler follow Link ist, dürfte das das Ganze ziemlich gut ausgleichen.
Der Mehrwert, den wir durch diesen Link generieren dürfte sowieso weitaus mehr im “Besucher anlocken durch interessante Artikel” liegen.
@crazy ja ich bin auch nicht glücklich darüber. kann zwar fast alles auch mit andern mitteln machen aber es wird zeit das die seite auf nem eigenen server läuft. muss ich eh in angriff nehmen weil ich einiges einbauen will, was auch server seitig instaliert werden muss.
Einziger Nachteil bis jetzt ist, dass die Ladezeiten der Seite jetzt ganz schön in den Keller gegangen ist. Vor allem wenn man viele neue Kommentare hat. Aber es dauert halt, bis man alle Feeds ausgelesen hat. Ich finde den Zusatz wirklich sehr praktisch und nützlich. Oft findet man eine Schlagzeile, die man doch interessant findet und ich finde es ist auch ein nettes Bonbon für Kommentierer. Commentluv wollte ich nicht einsetzen, weil man nur schlechtes davon gehört hatte und eine Alternative hatte ich bis heute nicht gefunden und dann kommst du mit der Lösung. Du bist halt eine Hellseherin. Ich würde mir wünschen, dass diese Erweiterung auch viel mehr einsetzen.
Mal sehen wie Google darauf reagiert.
@hombertho zitat: “Ab dem 22. Kommentar verschwinden alle diesbezüglichen Links wieder.” und ich denke mal das der feed ja nur beim kommentar posten gelesen wird, oder? denn man sieht ja teilweise in einem kommentar auch verschiedene links von ein und dem selben user?!
@Thomas: Sobald das einmal ausgelesen ist bei den älteren Artikeln wird das doch in den Cache geschrieben und dann sind die Ladezeiten wieder schnell. Nur beim ersten Mal dauert es ein bißchen. Oder hast Du den Cache gar nicht mit eingebaut?
Auch aus dem Grund der Ladezeiten habe ich den Cache gewählt. Bei jedem Seitenaufruf die Performance so in den Keller gehen lassen ist nicht wirklich gut. Abgesehen davon gibt es ohne Cache ja das Problem des immer gleichen Links des Kommentators, der geholt wird.
Oder habe ich Dich jetzt falsch verstanden?
@Markus: Nee, das wird nicht beim Kommentar schreiben geholt, sondern ohne meine Cache Lösung dazwischen würde das bei jedem Seitenaufruf für alle immer neu geholt werden. Durch den Cache wird das aus der entsprechenden Cache Datei geholt. Dadurch gibt es durchaus verschiedene Links von ein un dem selben User, es kommt halt darauf an, ob er in der Zwischenzeit neue Artikel eingestellt hat, zwischen den verschiedenen Kommentaren.
Anstatt dem Cache könnte man das Ganze in den Kommentartext selbst rein schreiben (dafür bin ich aber ehrlich gesagt zu php dumm, das kriege ich nicht hin) oder in der Tabelle eine Spalte dafür anlegen und dort reinschreiben und rausholen… Ist mir aber alles ein Spur zu viel des Guten, was ich selbst ehrlich gesagt nicht hinbringe. Den manuellen Cache habe ich stattdessen schon seit Monaten bei mir in allen möglichen Variationen laufen und der funktioniert blendend. Im Prinzip ist es ja egal, wo das Zeug geholt wird, hauptsache nicht immer wieder neu generiert bei jedem Seitenaufruf, was ja jedesmal externe Zugriffe bedeutet, die ganz schön in die Performance gehen.
@Tanja: Nein das habe ich schon kapiert. Der Cache arbeitet nur wunderbar. Nur halt beim ersten Aufruf bei Seite mit 30 Kommentaren und mehr dauert es halt ein bisschen. Aber das ist wirklich nur beim allerersten Aufruf. Ich bin gerade noch am suchen, wie man die Feedurl noch anders heraus bekommt. Irgendwie müsste man die ja aus dem Header auslesen können. Es gibt ja so viele Sonderlocken, dass man ja nicht bei jedem eine if Abfrage einbauen kann
Oh ich sehe gerade du hast das Plugin auch schon wieder entfernt.
Ach sorry, wer lesen kann ist klar im Vorteil. Du hast ja die Beschränkung mit den 21 Kommentaren eingebaut. Die habe ich nicht gemacht. Daher sind natürlich jetzt auch die Letzten Artikel hier verschwunden*g
@Markus, Du kannst auch mal versuchen eine index.php unter /feed anzulegen in der per php im Header gleich umleitest. Ob’s funzt weiß ich nicht – wär aber einen Versuch Wert.
@Thomas: *kicher* ja, wer lesen kann ist klar im Vorteil
Das ist meine 21 Beschränkung… Ich muss mir aber noch überlegen ob ich sie so lasse oder erhöhe 
Aber vielleicht findest ja Du oder die anderen noch was in dieser Richtung. Das ist in meinen Augen der einzige wirkliche Knackpunkt an meiner Lösung.
Das mit dem header habe ich mir auch schon überlegt, die Feed URL steht in jedem header drin. Nur bin ich bei meiner Recherche darüber, wie man nur diese auslesen kann, irgendwie gescheitert
Es gibt ja auch immer so nette Kommentatoren, die Ihr URL eingeben, die dann schon auf eine andere URL (z.B. Erweiterung) weitergeleitet ist und dann noch die Feed URL Weiterleitung haben, da kotzt dann das Ganze so richtig ab. Das sind auch die “Freunde”, die dann die Performance beim allerersten Seitenaufruf so richtig in die Knie jagen. “Feed würgen und so lange schütteln bis er was ausspuckt” und das mal x für jeden Kommentar…
Über den Header bin ich auch gestolpert. Das Problem ist, dass es einfach zuviele unterschiedliche Formate der Einbindung gibt.
Ich habe das jetzt so probiert, dass ich die Validierungsabfrage von einer Webseite geklaut habe und den Rückgabewert auf true und false beschränkt habe.
Wenn also Feed URL Valide = true dann lies letzten Artikel aus.
Aber das Array mit der richtigen FeedUrl Variable zu füllen, daran scheiterts gerade bei mir.
Naja, nächste Nacht vielleicht.
Halt uns auf dem Laufenden Sascha, wir sind schon sehr gespannt
Jetzt hänge ich doch glatt fest. Um die Feeds auszulesen wollte ich ein Suchpattern verwenden. Etwa so:
Zuerst brauchen wir ein Suchpattern. Da wir nach links(feed) suchen sollte das etwa so aussehen:
/href=”(.+)”/
Um den Ausdruck “ungierig” zu machen brauchen wir noch den Modifier U. Das vollständige Pattern lautet also:
$pattern = ‘/href=”(.+)”/U’;
Um das auszuwerten verwendet man die Funktion preg_match_all()
$result = preg_match_all($pattern, $deintext, $subpattern);
Die drei URLs sind nun in $subpattern[1] als Liste gespeichert.
Man kann sie so testweise anzeigen:
print_r($subpattern[1]);
Aber leider hänge ich in meiner Funktion irgendwie fest. Vielleicht hat ja einer eine Idee
Wenn man jetzt dieses pattern als array speichert und jeder Variable eine Validitätsprüfung anhängt müsste das eigentlich mit der beschriebenen true / false methode funktionieren. Aber ich bin heute morgen so furchtbar unkreativ.
Deswegen gebe ich das mal weiter
@Sascha: Sorry, Du überforderst mich gerade total… vielleicht solltet Thomas und Du Euch mal direkt unterhalten? Ihr habt das beide viel besser drauf als ich
@Psychic SEO danke für den tip. also es liegt wohl echt an einer neueren version von commentluv. auf seiten die noch die ältere version einsetzen geht es nach wie vor. na ja es gibt schlimmeres, ich werd eh bald wieder auf einen eigenen server umsteigen und dann erledigen sich manche probleme von ganz allein.
Ich musste heute nach dem Update auf 2.8.3 diese Lösung leider gerade offline nehmen. In manchen Kommentaren tauchte die gzin_flate Fehlermeldung über den letzten Artikeln auf (Warning: gzinflate() [function.gzinflate]:…). Kennt die zufällig jemand von Euch und hat einen Workaround dafür?