Plugin für SEO im Admin Backend

In diesem Beitrag zeige ich Ihnen ein SEO-Plugin für das Admin Backend, das in der Lage ist den Beitragstitel und die Metadescription zu überwachen.

Inhalt

SEO Checker für Bludit

Das folgende Coding zeigt Ihnen ein hilfreiches Plugin für Bludit, das Ihnen im Backend eine Übersicht mit Beiträgen anzeigt, die gegen die SEO-Regeln verstoßen und entsprechend überarbeitet werden müssen. Konkret püft das Plugin ob der Titel im Bereich von 50...70 Zeichen liegt und die Metadescription im Bereich von 150...160 Zeichen liegt. Damit decken Sie bereits eine der wichtigsten SEO-Prüfungen Ihrer Webseite vollkommen automatisiert ab - Sie müssen dann lediglich noch den Edit-Button drücken ;)

Bludit SEO Checker Plugin Anzeige des SEO Check im Backend zeigt einige auffällige Beiträge

Plugin Verzeichnis

Legen Sie im Verzeichnis für die Bludit-Plugins einen neuen Ordner an:

bl-plugins/cmswb-seocheck

Code

In diesem Ordner erzeugen Sie die Plugin-Datei

bl-plugins/cmswb-seocheck/plugin.php

Code

Die obligatorischen Dateien wie metadata.json und den Ordner language können Sie bequem aus anderen Plugin-Ordnern übernehmen und später noch mit hilfreichen Informationen ergänzen. Für die reine Funktionsweise ist zunächst lediglich deren Existenz wichtig, nicht jedoch deren Inhalt.

Das Plugin

Folgenden Code kopieren Sie in das File plugin.php

001    <?php
002    class pluginCmswb_SEOCheck extends Plugin {
003    
004    public function dashboard() {
005        global $pages, $categories, $tags, $L;
006
007        $titleMax = 70;
008        $titleMin = 50;
009        $descriptionMin = 150;
010        $descriptionMax = 160;
011
012        // TITLE zu klein
013
014        echo '<hr>';
015        echo '<h4 class="mt-3">SEO-Check: Titel kleiner '.$titleMin.' Zeichen</h4>';
016        echo '<p class="small text-muted">Erweitern Sie den Titel der folgenden Beiträge. Die Kategorie zählt mit zum Beitragstitel.</p>';
017        echo '<table cellpadding=3 width=100%>';
018        echo '<tr><th>Beitrag</th><th>Zeichen</th><th>Edit</th></tr>';
019        foreach ($pages->db as $key=>$fields) {
020            if (strlen($fields['title'].' - '.$fields['category']) < $titleMin) {
021                echo '<tr>';
022                echo '    <td>'.$fields['title'].' - '.$fields['category'].'</td>';
023                echo '    <td align=right>'.strlen($fields['title'].' - '.$fields['category']).'</td>';
024                echo '    <td><a href="edit-content/'.$key.'">edit</a></td>';
025                echo '</tr>';
026            }
027        }
028        echo '</table>';
029        echo '<br>';
030
031        // TITLE zu gross
032
033        echo '<hr>';
034        echo '<h4 class="mt-3">SEO-Check: Titel gr&ouml;&szlig;sser '.$titleMax.' Zeichen</h4>';
035        echo '<p class="small text-muted">Reduzieren Sie den Beitragstitel der folgenden Beiträge.</p>';
036        echo '<table cellpadding=3 width=100%>';
037        echo '<tr><th>Beitrag</th><th>Zeichen</th><th>Edit</th></tr>';
038        foreach ($pages->db as $key=>$fields) {
039            if (strlen($fields['title'].' - '.$fields['category']) > $titleMax) {
040                echo '<tr>';
041                echo '    <td>'.$fields['title'].' - '.$fields['category'].'</td>';
042                echo '    <td align=right>'.strlen($fields['title'].' - '.$fields['category']).'</td>';
043                echo '    <td><a href="edit-content/'.$key.'">edit</a></td>';
044                echo '</tr>';
045            }
046        }
047        echo '</table>';
048        echo '<br>';
049
050        // DESCRIPTION zu klein
051
052        echo '<hr>';
053        echo '<h4 class="mt-3">SEO-Check: Beschreibung kleiner '.$descriptionMin.' Zeichen</h4>';
054        echo '<p class="small text-muted">Liste aller Beiträge deren Meta-Beschreibungen zu kurz sind und für besseres Ranking erweitert werden müssen.</p>';
055        echo '<table cellpadding=3 width=100%>';
056        echo '<tr><th>Beitrag</th><th>Zeichen</th><th>Edit</th></tr>';
057        foreach ($pages->db as $key=>$fields) {
058            if (strlen($fields['description']) < $descriptionMin) {
059                echo '<tr>';
060                echo '    <td>'.$fields['title'].' - '.$fields['category'].'</td>';
061                echo '    <td align=right>'.strlen($fields['description']).'</td>';
062                echo '    <td><a href="edit-content/'.$key.'">edit</a></td>';
063                echo '</tr>';
064            }
065        }
066        echo '</table>';
067        echo '<br>';
068
069        // DESCRIPTION zu gross
070
071        echo '<hr>';
072        echo '<h4 class="mt-3">SEO-Check: Beschreibung gr&ouml;&szlig;sser '.$descriptionMax.' Zeichen</h4>';
073        echo '<p class="small text-muted">Liste aller Beiträge deren Meta-Beschreibungen zu lang sind und für besseres Ranking reduziert werden müssen.</p>';
074        echo '<table cellpadding=3 width=100%>';
075        echo '<tr><th>Beitrag</th><th>Zeichen</th><th>Edit</th></tr>';
076        foreach ($pages->db as $key=>$fields) {
077            if (strlen($fields['description']) > $descriptionMax) {
078                echo '<tr>';
079                echo '    <td>'.$fields['title'].' - '.$fields['category'].'</td>';
080                echo '    <td align=right>'.strlen($fields['description']).'</td>';
081                echo '    <td><a href="edit-content/'.$key.'">edit</a></td>';
082                echo '</tr>';
083            }
084        }
085        echo '</table>';
086    }
087
088    }

Code

Besonderheiten liegen im IF in den Zeilen 20, und 39 denn in meinem Template wird die Kategorie mit zum Titel des Beitrags gerechnet - sofern Sie das nicht brauchen, entfernen Sie .' - '.$fields['category'] diesen Passus.

Plugin aktivieren

Aktivieren Sie das Plugin im Admin-Backend des Bludit CMS und gehen zum Dashboard zurück. Dort erhalten Sie ab sofort eine Anzeige wie etwa folgende über auffällige Beiträge, die bei Gelegenheit überarbeiten sollten.

Bludit SEO Checker Plugin Anzeige des SEO Check im Backend zeigt einige auffällige Beiträge

Die Magie des Plugins steckt im wesentlichen in den Zeilen 19...27. Dieses Segment wird lediglich noch drei mal mit unterschiedlichen Parametern wiederholt. In den Zeilen 7...10 legen Sie die Grenzen fest, in der die SEO-Prüfung gemacht wird. Der Rest ist reine HTML-Kosmetik.

Optional können Sie die vier Eckparameter $titleMax, $titleMin, $descriptionMin und $descriptionMax auch in die de_DE.json Language-Datei überführen und müssten dann bei Änderung der Werte nich jedes Mal das Plugin anpassen. Das Plugin kennt diese Json-Datei bereits und kann auf den dortigen Inhalt leicht zugreifen.

Zudem steht es Ihnen natürlich auch frei weitere Inhalte Ihrer Beiträge und des Contents gegen SEO-Regeln zu prüfen.


FlightCMS
2023-12-21
Konstanten
post
0