Hallo zusammen,
ich möchte euch ein Werkzeug vorstellen, an dem ich seit einiger Zeit arbeite. Inzwischen läuft der Großteil meiner eigenen Projekte darauf: das SEO CMS.
In eigener Sache: Das SEO CMS ist meine eigene Entwicklung (SEO NW). Alle unten verlinkten Demos sind meine eigenen Portale.
Was ist das SEO CMS?
Das SEO CMS ist ein in PHP geschriebener Generator. Er erzeugt aus Inhalten in einer MySQL-Datenbank statische HTML-Seiten. Eine Installation kann mehrere Websites bedienen (Multi-Tenant). Jede Website hat ihre eigene Konfiguration, ihr eigenes Design, eigene URL-Segmente und ein eigenes Tracking. Gebaut wird entweder per Kommandozeile mit php build.php <portal> oder halt per Klick im Backend. ausgeliefert werden fertige HTML-Dateien. PHP läuft nur dort, wo es wirklich gebraucht wird, etwa beim Eintragsformular oder bei Weiterleitungen.
Module
Die Module lassen sich pro Portal einzeln an- und abschalten:
- Blog bzw. Magazin
- Glossar/Lexikon, ausgezeichnet als Schema.org DefinedTerm
- Verzeichnis mit öffentlichem Eintragsformular und Moderation
- Orts- und Städteseiten für lokale Suchanfragen
- Toplisten
- Personen: Profile, Berufe und Fähigkeiten
- Autorenseiten
Die URL-Segmente sind frei wählbar. Bei einer Migration bleiben bestehende Pfade wie /glossar/ oder /downloads/ dadurch erhalten.
Was jede Seite mitbringt
- Strukturierte Daten, u. a. DefinedTerm, ItemList, sameAs und knowsAbout
- FAQ-Blöcke, Answer-Box und Kernaussagen, aufbereitet für die klassische Suche und für KI-Antwortsysteme (GEO)
- Weiterleitungen (301, 302, 410) über .htaccess, mit PHP als Rückfallebene
- Matomo-Anbindung je Portal, selbst gehostet und mit anonymisierter IP
Migration und Import
- WordPress-Importer
- CSV-Import für Blogbeiträge
- Doppelte Inhalte lassen sich bei der Übernahme per 301 zusammenführen
Qualitätsprüfung vor dem Livegang
Mehrere Prüfwerkzeuge laufen über das erzeugte HTML:
- Suche nach defekten internen Links
- Prüfung der Überschriftenhierarchie, der Barrierefreiheit und der Kontraste
- Abgleich der Inhalte mit den Feldbreiten der Datenbank
Erweiterbar über Plugins
Plugins hängen sich an festgelegten Stellen ein, zum Beispiel in die Navigation. Ein Beispiel ist der Entity-Check auf who.knowsabout.me. Er fragt den Google Knowledge Graph und Wikidata ab und zeigt, wie eine Person oder Marke als Entität erfasst ist. Das Formular ist durch CSRF-Schutz, Honeypot und Rate-Limit abgesichert. Dabei werden keine Nutzerdaten in eine Datenbank geschrieben.
Demos
- Projektseite: seo-cms.seo-manager.info
- Personen & Fähigkeiten: knowsabout.me
- Blog: alexander-mueller.net
- Captain Future: cpt-future.de
- Hörbücher: hoerbuecher.pro
Aktueller Stand ist Version 1.0.150. Ich freue mich über Fragen, Kritik und Hinweise, gerade von allen, die selbst mit statischen Generatoren arbeiten.
Viele Grüße
Alex