Posts und verwandte Beiträge Teil 1

home bludit templating

SEO-Wissen für erfolgreiches Online-Marketing - Komplett aktualisiert und erweitert   -  Die Suchmaschinen-Optimierung ist eine der wichtigsten Disziplinen im Online-Marketing. Wenn es Ihnen darum geht, für Ihre Webseite oder Ihren Webshop ein Top-Ranking in den SERPs zu erzielen, müssen Sie wissen, wie Suchmaschinen ticken und welche Stellschrauben Sie wie einstellen. Sebastian Erlhofers SEO-Handbuch ist für Ihre SEO-Ausbildung ein wichtiger Begleiter und ein Quell an Wissen, aus dem Sie Praxiswissen und Profitipps schöpfen.

Wir sind Mitglied im Amazon.Partnernet und können mit Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.

Teil 1 - Mit wenigen Handgriffen zeigen Sie verwandte Beiträge unter dem Post an. Dank der exzellenten Dokumentation des Bludit-Projektes fast ein Kinderspiel.

Inhalt

Verwandte Beiträge anzeigen

Wie im Internet oft vom Leser erwartet und mittlerweile zum Quasistandard geworden, erscheinen unterhalb eines Beitrags ähnliche Beiträge. Gesteuert werden kann dieser Mechanismus über die geniale Erfindung der Schlagwörter (Tags). In der wirklich excellenten Dokumentation (https://docs.bludit.com/en/dev-snippets/tags) des CMS Bludit findet man dazu zwei wesentliche Codeschnipsel, die theoretisch ineinander geschachtelt werden können - doch Achtung, es gibt ein kleines Problem damit.

001  name();
010
011    // Print the pages title related to the tag "example"
012    foreach ($tag->pages() as $pageKey) {
013    $page = new Page($pageKey);
014    echo $page->title();
015    }
016  ?>

Beiträge mit dem Tag "example" anzeigen (erstes Codeschnipsel aus der Doku)

Das oben gezeigte Codesegment liest alle Seiten (Posts) in denen das Schlagwort "example" gesetzt wurde. Das ist schon mal die halbe Miete. Sie müssen jetzt nur noch realisieren, das das feste Schlagwort "example" durch das tatsächliche Schlagwort des aktuell angezeigten Beitrags ersetzt wird. Dafür kommt das folgende Codeschnipse aus der hervorragenden Bludit-Doku ins Spiel.

001  <?php
002    $returnsArray = true;
003
004    $items = $page->tags($returnsArray);
005
006    foreach ($items as $tagKey=>$tagName) {
007      echo $tagName;
008    }
009  ?>

Tag(s) des aktuellen Beitrags lesen (zweites Codebeispiel aus der Doku)

Die Zeile 003 des ersten und die Zeile 007 des zweiten Codeschnipsels sind also die Verbindungsstellen, um beide Scripte miteinander zu verbinden. Diese beiden Scripte habe ich zum folgenden Codeschnipsel zusammengefügt.

001  <?php
002    $returnsArray = true;
003    $items = $page->tags($returnsArray);
004    foreach ($items as $tagKey=>$tagName) {
005      //echo $tagName;
006          
007      $tagKey = strtolower($tagName);
008      //$tagKey = 'example';
009      $tag = getTag($tagKey);
010      echo '<p>Schlagwort: ' . $tag->name().'</p>';
011      foreach ($tag->pages() as $pageKey) {
012        $page = new Page($pageKey);
013        echo '<p><img src='.$page->coverImage().' style="width: 120px; float: left; margin-right: 15px;">';
014        echo '<h3>'.$page->title().'</h3>';
015        echo $page->description();
016        echo '<a href='.$page->permalink().'> mehr...</a></p>';
017      }       
018    }     
019  ?>

Der Match aus beiden Codeschnipseln

Aber es gibt hier ein kleines undokumentiertes Problem auf das ich selbst erst nach einigen Analysen gestoßen bin. Das simple übertragen in Zeile 007 ala $tagKey = $stagName funktioniert nicht, bzw. das Script arbeitet etwas unzuverlässig. Die Ursache ist, das $tagKey die Schlagwörter zwingend als LowerCase benötigt. Es reicht also aus den Return-Wert aus $tagName zuvor mit strtolower() in Kleinbuchstaben umzuwandeln - dann klappts auch mit dem Nachbarn.

Das Beispiel zeigt bei Einbindung in das Script page.php des Theme, unterhalb des Posts alle verwandten Beiträge in denen ebenfalls die Schlagwörter gesetzt wurden.

Optional: Das Script zeigt allerdings auch den aktuell angezeigten Post mit an, dies können Sie durch eine einfache if-Abfrage umgehen, dadurch zeigt das Script alle Beiträge die nicht der aktuell angezeigte sind - Ihr wißt was ich meine.

Das Codeschnipsel funktioniert nur sinnvoll, wenn jeder Beitrag nur ein Schlagwort besitzt. Tauchen mehrere Schlagworte in einem Beitrag auf, die auch mehrfach in einem anderen Beitrag enthalten sind, werden diese auch mehrfach angezeigt. Das Codesegment sollte daher noch um einen Filter (Sort) erweitert werden, welcher doppelte Nennungen entfernt. Dies zeige ich im folgenden Beitrag.

Und im übrigen, sind Punkte und Leerzeichen in Tags verboten und können zu Problemen führen! Auch gleichnamige Beiträge müssen vermieden werden, da sie als doppelt gewertet werden.

Wählen Sie Schlagworte mit bedacht und überfrachten Sie den Beitrag nicht mit unsinnigen Tags, die teilweise überhaupt nicht im Text vorkommen. Zwei bis drei Schlagworte reichen schon aus.

Auch interessant, die Webseite des Bludit-Entwicklers Diego Najar: https://varlogdiego.com/


 21.12.2023    Kontakt@Oliver-Lohse.de    Beitrag verwandt untergeordnet

Moderne Frontend-Entwicklung mit React. Alles, was Sie über React wissen müssen!   -  Welcher Frontendentwickler hat noch nicht von React gehört? Diese ursprünglich von Facebook entwickelte JavaScript-Bibliothek hat innerhalb kurzer Zeit eine steile Karriere hingelegt. Sie bildet mittlerweile eine wichtige Grundlage für viele Unternehmensanwendungen, Single Page-Applikationen, sowie viele Apps für iPhone und Android. Erfahren Sie in diesem umfassenden Handbuch des JavaScipt-Experten Sebastian Springer, wie Sie performante Oberflächen gestalten. Mit einfachen und leicht verständlichen Beispielen erlernen Sie die Grundlagen von React, React Native und Redux. Und auch als fortgeschrittener JavaScript-Entwickler profitieren Sie von den vielen Profithemen wie Tests, Animationen, Material Design Components, Server Side Renderung über Debugging bis hin zur Entwicklung von vollständigen mobilen Anwendungen. Dieses Buch ist ein Muss für jeden JavaScript-Entwickler und für jeden, der React lernen möchte!

Wir sind Mitglied im Amazon.Partnernet und können mit Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.

Weitere passende Beiträge

Untergeordnete Seiten in GS abfragen

 get-simple  Seiten Beitrag untergeordnet


Ermitteln Sie untergeordnete Seiten mit Hilfe von menu_data(). Ordnen Sie Seiten und Beiträge mit dieser Technik einem Leitartikel auf der Webseite zu.

Posts und verwandte Beiträge Teil 2

 bludit  Beitrag untergeordnet verwandt Post


Teil 2 - dieser Beitrag zeigt Ihnen das vollständige Coding, wie das CMS Bludit anhand von Tags verwandte Beiträge anlisten kann und als Vorschläge anzeigt.

Posts mit untergeordneten Beiträgen

 bludit  Beitrag untergeordnet zugewiesen Anhang


Die Funktion Beiträgen einen Leitartikel zu geben, gibt es schon sehr lange in Bludit, jedoch war die Anzeige im Theme "Alternative" nicht möglich.

Konkreten Beitrag in GetSimple lesen

 get-simple  Beitrag Post Article lesen


Lesen Sie feste Beiträge mit zwei Zeilen Code aus dem GetSimple CMS aus. Besonders hilfreich für fixierte Templates mit unveränderlichen Strukturen.

Einen bestimmten Beitrag anzeigen

 pico  Beitrag Post


Statt alle Blogbeiträge im Loop aufzulisten, können Sie auch einen ganz konkreten Beitrag anzeigen und dessen Existenz zuvor prüfen. Dieses Script zeigt es.

Der Seiten Paginator in Pico

 pico  Paginator Seite Beitrag Post


Dieser Beitrag zeigt Ihnen, wie Sie mit wenigen Handgriffen einen Seitenpaginator und Blätterfunktion in Ihre CMS-Webseite bzw. Web-Blog implementieren.

Bestimmte Seiten im Loop ausschliessen

 pico  Beitrag Loop


if-Kontrollstrukturen im Twig-Template helfen bestimmte Seiten auszuschließen, denn nicht alle Seiten sollen beispielsweise einen Autor oder das Datum zeigen

Beiträge und Kategorien rekursiv anzeigen

 yellow  Navigation Menue Ordner Post Beitrag


Die Standard URL für den Admin Login in Datenstron Yellow und wie Sie ihn verstecken bzw. verbergen. So schützen Sie sich vor einem Hacker-Angriff auf das CMS

Beitragsmenü ohne Plugin in Pico

 pico  Menue Navigation Beitrag


Für die Einbindung eines Menüs gibt es kostenlose Plugins, Sie können dies auch mit Mitteln des Templates umsetzen und verzichten auf unsichere Plugins

Beitragsanzahl mit Twig ermitteln

 pico  Beitrag Post


Wollen Sie im Rahmen des Twig-Templatings unter PICO die Anzahl der Beiträge in einem Ordner ermitteln, dann ist dieser Code die Lösung

Beitrags Sortierung auf- o. absteigend

 automad  Beitrag Sortieren Datum Titel ASC DESC


So sortieren Sie Beiträge und Artikel im CMS Automad aufsteigend oder absteigend für die Anzeige im Frontend des Besuchers bzw. des Lesers Ihrer Webseite.

Beitrags Datum in Automad verbergen

 automad  Beitrag Datum verbergen


Das Beitragsdatum ist durchaus SEO relevant und es wird empfohlen dieses im CMS Automad auszuschalten. Die folgenden Snippets können Sie dafür bearbeiten.

Alle Posts im Beitrags-Loop zeigen

 get-simple  Loop Beitrag Post


Lesen Sie im GetSimple CMS alle Posts und Beiträge auf der Startseite mit dem Beitrags-Loop einzeln aus, der Beitrag zeigt Ihnen wie einfach das geht.

Aktuell angezeigte Seite abfragen

 bludit  Page Beitrag Seite


Arbeiten Sie in Bludit mit Seitennavigationen, dann kann die Abfrage der aktuellen Seite durchaus hilfreich sein. So fragen Sie diesen Wert der Seite ab.

Admin Einfache Artikel Statistik

 bludit  Beitrag Artikel Statistik


Mit diesem Code, können Sie eine ganz einfache Beitrags-Statistik erstellen und in einem Log-File speichern. Ermitteln Sie welcher Beitrag wie oft gelesen wird

Impressum


CMSWorkbench.de ist eine reine Entwickler-Webseite und dient vorwiegend als Wissensspeicher für die Entwicklung von CMS

Datenschutz


Die Webseite verwendet keinerlei Tracking- oder Speicher-Mechanismen, die Rückschlüsse auf Ihre IP oder das Leseverhalten zulassen

Affiliate


Wir sind Mitglied im Amazon Partnernet und können mit Affiliate-Links (* den Betrieb der Seite etwas unterstützen, für Sie ist das natürlich kostenlos

Kontakt


Sie können mit uns über eMail Kontakt aufnehmen, schreiben Sie an Kontakt@Oliver-Lohse.de