Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Automatische SEO-URLs in moziloCMS – Plugin verfügbar

Begonnen von bernhard_u, 23. März 2026, 08:17:32

« vorheriges - nächstes »

bernhard_u

Hallo zusammen,
bei der Auswertung meiner Website mit der Google Search Console ist mir aufgefallen, dass URLs mit Umlauten oder Leerzeichen von Google teilweise nicht korrekt indexiert werden. Da moziloCMS solche URLs standardmäßig erzeugt, habe ich ein Plugin entwickelt, das automatisch SEO freundliche URLs erstellt – ohne Änderungen am CMS Core.
Das Plugin arbeitet vollständig zur Laufzeit und greift weder in den Admin Bereich noch in den Editor ein. Besucher und Suchmaschinen bekommen dadurch ausschließlich saubere und gut lesbare URLs zu sehen.

Was macht das Plugin konkret?
  • Erzeugt automatisch SEO freundliche URL (Slugs) Umwandlungen von: ä nach ae, ö nach oe, ü nach ue, ß nach ss, Leerzeichen nach Bindestrichen, alles in Kleinbuchstaben
  • Passt alle internen Links automatisch an die neuen SEO URLs an, sodass keine manuellen Änderungen notwendig sind
  • Leitet Aufrufe alter URLs mit Umlauten per 301 Redirect korrekt weiter (SEO konform, keine Duplicate Content Probleme)
  • Erzeugt automatisch eine sitemap.xml mit den optimierten URLs
  • POST Requests bleiben unverändert (wichtig z.B. für Formular Plugins)
  • Kompatibel mit dem i18n Plugin (Query Parameter wie ?i18n=en werden durchgereicht)
  • Admin Bereich und CMS Editor bleiben vollständig unangetastet
  • Optionaler Debug Modus zur Anzeige des Mappings der internen URLs und der optimierten URLs

Voraussetzungen:
  • moziloCMS 3.0.x (2.x bisher nicht getestet)
  • Apache mit aktivem mod_rewrite
  • Kleine Anpassungen der .htaccess sind notwendig siehe Dokumentation(der moziloCMS Core bleibt unverändert)

Dokumentation
Ist hier verfügbar: https://github.com/bernhardunger/moziloCMS_seo_plugin

Download:
Hier im unteren Bereich "Source code (ZIP)" auswählen
https://github.com/bernhardunger/moziloCMS_seo_plugin/releases/tag/v1.1.2

Ich habe das Plugin mit internen CMS Funktionen sowie mit aktivem Formular  und i18n Plugin getestet. Trotzdem empfehle ich, es vor einem produktiven Einsatz zunächst in einer Testumgebung zu prüfen!
Feedback, Tests und Anmerkungen sind willkommen :-)

Viele Grüße

Bernhard

stefan-wasp

Moin Bernhard

Exakt das Thema hatten wir neulich intern.
Werde das asap mal testen.
Sehr geil.
Use: UTF-8 w/o BOM

bernhard_u

Hallo zusammen,
ich habe das Plugin auf v1.2.0 aktualisiert. Die neue Version behebt zwei Probleme, die in der Google Search Console als Hinweise auftauchen können.
1. Startseite wird jetzt korrekt weitergeleitet
Bisher konnte es passieren, dass die Startseite unter mehreren URLs erreichbar war – zum Beispiel /startseite/ und /Startseite.html zusätzlich zur eigentlichen Homepage /. Das Plugin erkennt jetzt automatisch welche Kategorie im CMS die Startseite ist (immer die erste Kategorie) und leitet alle Varianten direkt auf / weiter. Das funktioniert unabhängig davon wie die Startseiten-Kategorie heißt – also egal ob ,,Startseite", ,,Home", ,,Start" oder anders.
2. Canonical-Tag bei Kategorieseiten korrigiert
Wenn man eine Kategorie ohne Unterseite aufruft (z.B. /kontakt/), hat moziloCMS im <link rel="canonical">-Tag fälschlicherweise die erste Unterseite der Kategorie eingetragen (z.B. /Kontakt/Anfahrt.html). Google hat dadurch /kontakt/ nicht als eigenständige URL erkannt. Das Plugin setzt den Canonical-Tag jetzt korrekt auf die tatsächlich aufgerufene Seite.
Beide Probleme können in der GSC als ,,Alternative Seite mit richtigem kanonischen Tag" auftauchen.
Das Plugin ist auf GitHub verfügbar:
https://github.com/bernhardunger/moziloCMS_seo_plugin
Oder direkt die ZIP-Plugin Datei hier:
https://github.com/bernhardunger/moziloCMS_seo_plugin/releases/tag/v1.2.0

bernhard_u

Hallo zusamman,
In dieser Version wurde der Code intern überarbeitet und aufgeräumt – am Verhalten des Plugins ändert sich nichts. Zusätzlich wurden 56 automatisierte Tests eingeführt, die die Kernfunktionen des Plugins absichern.

Der gesamte Source-Code inkl. Tests ist auf GitHub verfügbar:
https://github.com/bernhardunger/moziloCMS_seo_plugin

Oder nur das Plugin zur direkten Installation in moziloCMS hier:
Download: https://github.com/bernhardunger/moziloCMS_seo_plugin/releases/tag/v.1.2.1

bernhard_u

#4
Hallo zusammen, hier eine kleine Success Story zum Plugin

Ich habe das Plugin nun mehrere Wochen ohne Probleme im Produktivbetrieb.
Besonders praktisch ist die integrierte automatische 301-Weiterleitung im Plugin:
  • Bestehende Bookmarks und Backlinks die noch auf die alten URLs mit Umlauten oder Leerzeichen zeigen, werden ohne weiteres Zutun permanent auf die neuen Slug-URLs weitergeleitet. Für Besucher und Suchmaschinen ist der Übergang damit vollkommen transparent – kein Link läuft ins Leere.
Nach wenigen Wochen sind bereits positive Effekte sichtbar:
  • Die Anzahl der von Google indexierten Seiten hat sich deutlich erhöht und das Ranking bei relevanten Suchanfragen hat sich spürbar verbessert.

Installation und Einrichtung sind unkompliziert – auch auf Shared Hosting ohne SSH oder Composer (Abhängigkeitsmanager für PHP) funktioniert alles "out of the box". Alles was das Plugin braucht ist direkt im Code enthalten (die zusätzlichen Einträge in der .htaccess sind natürlich wie in der Doku beschrieben erorderlich).


Zum Anschauen auf: https://www.steuerkanzlei-hader.de

harry60

Hallo Bernhard,

Muß dir sagen, super, das funktioniert.

Ich habe eine Weiterleitung auf eine versteckte Seite, ob nun mit oder ohne mod_rewrite, dann funktioniert das System nicht mehr.

z.B.  .../Buchung%20Bungalow%201.html?cat=Bungalow&page=114&action=114

Es kehrt zur Ausgangsseite .../Bungalow/Bungalow 1/ zurück.

Vielleicht hast du da noch eine Lösung?

Schöne Grüße

bernhard_u

Hallo Harry60,

vielen Dank für den Hinweis. Die seo_urls Plugin v1.2.2 ist nun verfügbar.
Diese Version behebt den Bug bei URLs die bereits moziloCMS-interne Parameter wie ?cat= und ?page= enthalten. Betroffen waren vor allem versteckte Seiten die über interne Parameter direkt angesteuert werden – der Query-String ging beim Redirect verloren und der User landete auf der Startseite.
Download: https://github.com/bernhardunger/moziloCMS_seo_plugin

Viele Grüße
Bernhard

bernhard_u


bernhard_u

seo_urls Plugin Update v1.3.0 – MetaKeywordsDescription-Kompatibilität

Das Plugin wurde auf v1.3.0 aktualisiert. Da MetaKeywordsDescription ebenfalls als plugin_first läuft und alphabetisch vor _seo_urls geladen wird, wurden individuelle Meta-Descriptions und Keywords bisher nicht korrekt ausgespielt.
_seo_urls liest jetzt die plugin.conf.php von MetaKeywordsDescription direkt aus (wenn sie vorhanden ist) und setzt die Platzhalter zum richtigen Zeitpunkt.
Ist MetaKeywordsDescription nicht installiert, passiert nichts – also vollständig rückwärtskompatibel.

Download: https://github.com/bernhardunger/moziloCMS_seo_plugin/releases

bernhard_u

Das seo-url Plugin ist nun auch in die moziloCMS Plugin-Doku aufgenommen und hier zu finden: https://www.mozilo.de/media/Plugins/Meta%2C%20SEO%2C%20Rechtliches.html
Danke an @marusti für die Unterstützung hierbei!

hheigl

Ich habe beim Testen des Plugins folgende Erfahrungen gemacht:

Versuch 1:
bei folgender Konstellation:    moziloCMS 2.0, Rev. 51 mit PHP-Version 7.0.33

nach Installation des Plugins im Admin-Bereich:  bei Aufruf(versuch) des Plugin-Tabs:
"Parse error: syntax error in /var/www/xwebxxx/htdocs/plugins/_seo_urls/index.php on line 387"

Die einzige Möglichkeit um im Admin-Bereich wieder weiterarbeiten zu können
war das Löschen des Plugin-Ordners "_seo_urls" auf dem Server per FTP

Ein weiteres Testen des Plugins war deshalb leider nicht mehr möglich.

--------------------------------------------------------------------------------------

Versuch 2:
bei folgender Konstellation:  moziloCMS 3.0.4  mit PHP-Version 8.2.31

nach Installation des Plugins im Admin-Bereich und Aktivierung des Plugins:

Die Startseite (über die index.php) kann aufgerufen werden;
sobald man im Menü auf eine andere Inhaltseite wechseln möchte erscheint folgende Fehlermeldung:

"Not Found - The requested URL was not found on this server."

Unterschied zu Versuch 1 - im Adminbereich kann noch weitergearbeitet werden.

Erst nach Deaktivierung des Plugins funktionierte der Aufruf aller Seiten wieder einwandfrei.

--------------------------------------------------------------------------------------

Ein weiterer Verbesserungsvorschlag:

Im Info-Bereich zum Plugin sollte ein sehr deutlicher Hinweis erscheinen, dass
das Aktivieren des Plugins im Plugin-Tab ausreicht und kein weiterer Aufruf des Plugins
in der template.html oder in einer Inhaltsseite notwendig ist.
(jetzt mal abgesehen davon, dass im Auswahlmenü des Editors das Plugin sowieso nicht angezeigt wird!)

Ferner sollten Hinweise erfolgen ab welcher CMS-Programmversion und ab welcher PHP-Version das Plugin lauffähig ist.


bernhard_u

Hallo,

danke für die Rückmeldung, ich werde mir das nächste Woche anschauen und mich dann wieder melden.

Viele Grüße

Bernhard

bernhard_u

Vielen Dank für die ausführliche Rückmeldung!

Zu Versuch 1 (moziloCMS 2.0 / PHP 7.0): Das Plugin setzt PHP 8.1 und moziloCMS 3.0.x voraus – ältere Versionen werden nicht unterstützt. Ab v1.3.1 ist das im Admin-Bereich klar dokumentiert.

Zu Versuch 2 (moziloCMS 3.0.4 / PHP 8.2): Die fehlende "Not Found"-Meldung war auf fehlende Catch-All-Regeln in der .htaccess zurückzuführen. Ab v1.3.1 prüft das Plugin beim Start ob die .htaccess korrekt konfiguriert ist. Fehlen die Regeln, deaktiviert sich das Plugin automatisch und zeigt im Admin-Bereich einen roten Hinweis mit Erklärung.

Den Hinweis zur template.html habe ich ebenfalls aufgenommen – das Plugin muss nur im Admin-Bereich aktiviert werden, kein weiterer Eintrag im Template nötig.

v1.3.1 ist verfügbar: https://github.com/bernhardunger/moziloCMS_seo_plugin

bernhard_u

Hallo zusammen,

es gibt nun seo_urls v1.3.3 ein Bugfix-Release.

Kleine aber feine Verbesserungen auf Basis eines Code-Reviews:
  • Erweiterte .htaccess-Prüfung: Sitemap-Regel wird jetzt ebenfalls geprüft, auskommentierte Regeln werden korrekt als inaktiv erkannt, im Fehlerfall werden die erforderlichen Regeln direkt im Admin angezeigt.
  • Bugfix: Großakzente wie É, À wurden bisher nicht korrekt transliteriert ("CAFÉ" wird jetzt korrekt zu "cafe"). Betrifft alle Versionen vor v1.3.3.
  • Sicherheit: unserialize() gehärtet, Header-Injection-Schutz in redirect().
  • Robustheit: rewriteOutput()-Regex explizit erweitert, PLUGIN_DIR-Fallback abgesichert.

GitHub: https://github.com/bernhardunger/moziloCMS_seo_plugin