Hallo Leute,
ich benötige ein einfaches Blog System, das dabei auch suchmaschinen freundlich sein soll. Das auch möglichst schnell. Ich möchte es früher oder später openSource machen. Deswegen habe ich mir folgendes gedacht:
So viel ich weiß, mag Google statische Seiten, die es schon lange gibt. Deshalb wollte ich pinrzipiell HTML Dokumente erstellen. Das sollte ja prinzipiell möglich sein. Auch Mehrsprachigkeit ist wichtig. Ich dachte deshalb, dass ein Aufbau nach Sprachkürzel, ISO Datum und Slug als Dateiname sinnvoll wäre. Der Slug ist dabei bei jeder Sprache gleich. Zum Beispiel:
www.example.com/de/2017-01-26/creating-apps.html
www.example.com/en/2017-01-26/creating-apps.html
www.example.com/fr/2017-01-26/creating-apps.html
Prinzipiell ist das ok, aber erzeuge ich damit nicht Duplicate Content? Denn ich möchte darin auch Meta Tags abbilden, die bei jeder Sprache gleich sind. Also in den oben gezeigten Beispiel würden dann genau die gleichen Meta Tags enthalten sein.
Die Erzeugung dieser Seiten sollte im Backend auch leicht sein: TinyMCE hergenommen und das da rein geladen, und vielleicht vorher noch den <head> Bereich abgeschnitten. Zusätzlich dazu einen HTML Crawler, der die Meta Tags einliest und zurückschreiben kann.
Zum Speichervorgang der HTML Dokumente selbst gäbe es zwei Möglichkeiten:
1. Direkt per PHP Speichern (Webserver Benutzer, eher schlecht).
2. Eine Message an RabbitMQ schicken, worauf hin es dann der Consumer abpseichert. Damit kann das Abspeichern Skript von einem anderen Benutzer ausgeführt werden, folglich braucht der Webserver Benutzer keine Schreibrechte. Aber kann man ein ganzes HTML Dokument in die Message packen?
Ich wollte auch eine kalendarische Darstellung machen, das heißt, Tage im Kalender hervorheben, die einen Blog Eintrag haben. Das wollte ich mittels PHP DirectoryIterator machen. Ebenso für die Ermittlung, in welcher Sprache es den Blog Eintrag noch gibt. Mein Ziel ist es, damit gänlich auf eine Datenbank zu verzichten. Warum? Nun ja, in der iX gab es neulich einen Artikel über Webseitenoptimierung. Darin wurde beschrieben, dass Caching zwar gut ist, aber nicht das eigentliche Problem löst: Warten auf die Datenbank. Folglich: Wenn ich keine habe, muss ich auf keine warten. Die DirectoryIterator Klasse ist eine PHP interne Funktion, also eine C Funktion => schnell => Damen hoch!
Die Übersetzungen wollte ich in po Dateien packen, wie es Wordrpess macht oder es mal gemacht hat. Wenn ich mich nicht irre, gibt es sogar eine PHP Extension. Wordpress wird häufig eingesetzt, das heißt, das geht selbst bei den billigsten Hoster.
Zu dem Problem PHP in HTML Dateien:
Soviel ich weiß, bzw. wie ich es neulich hier gesehen hatte, wird das nicht automatisch ausgeführt, da der Webserver meint, dass in einem HTML Dokument kein PHP enthalten ist.
Lösung 1:
AddHandler Eintrag in die .htaccess Datei
Lösung 2:
RewriteRule dafür anlegen. Ist denke ich eher schlechter, aus zweierlei Gründen:
1. Es wird immer PHP ausgeführt, bzw. alles darüber geleitet.
2. Die Portierbarkeit geht eventuell verloren, denn nicht jeder Hoster unterstützt URL Rewriting.
Für die Übersetzung, oder besser gesagt, für die Daten, die sich so schnell nicht ändern werden und die nur einmal eingelesen werden müssen, könnte man einen Redis dahinter schalten. Sollte dann deutlich schneller gehen, wenn die Übersetzung gecacht sind, bzw. die Directory Iteration.
Was haltet ihr davon? Ist das so machbar? Habt ihr vielleicht bessere Vorschläge, zum Beispiel ein vorhandenes System nutzen, dass die Anforderungen erfüllt?
MFG derwunner
ich benötige ein einfaches Blog System, das dabei auch suchmaschinen freundlich sein soll. Das auch möglichst schnell. Ich möchte es früher oder später openSource machen. Deswegen habe ich mir folgendes gedacht:
So viel ich weiß, mag Google statische Seiten, die es schon lange gibt. Deshalb wollte ich pinrzipiell HTML Dokumente erstellen. Das sollte ja prinzipiell möglich sein. Auch Mehrsprachigkeit ist wichtig. Ich dachte deshalb, dass ein Aufbau nach Sprachkürzel, ISO Datum und Slug als Dateiname sinnvoll wäre. Der Slug ist dabei bei jeder Sprache gleich. Zum Beispiel:
www.example.com/de/2017-01-26/creating-apps.html
www.example.com/en/2017-01-26/creating-apps.html
www.example.com/fr/2017-01-26/creating-apps.html
Prinzipiell ist das ok, aber erzeuge ich damit nicht Duplicate Content? Denn ich möchte darin auch Meta Tags abbilden, die bei jeder Sprache gleich sind. Also in den oben gezeigten Beispiel würden dann genau die gleichen Meta Tags enthalten sein.
Die Erzeugung dieser Seiten sollte im Backend auch leicht sein: TinyMCE hergenommen und das da rein geladen, und vielleicht vorher noch den <head> Bereich abgeschnitten. Zusätzlich dazu einen HTML Crawler, der die Meta Tags einliest und zurückschreiben kann.
Zum Speichervorgang der HTML Dokumente selbst gäbe es zwei Möglichkeiten:
1. Direkt per PHP Speichern (Webserver Benutzer, eher schlecht).
2. Eine Message an RabbitMQ schicken, worauf hin es dann der Consumer abpseichert. Damit kann das Abspeichern Skript von einem anderen Benutzer ausgeführt werden, folglich braucht der Webserver Benutzer keine Schreibrechte. Aber kann man ein ganzes HTML Dokument in die Message packen?
Ich wollte auch eine kalendarische Darstellung machen, das heißt, Tage im Kalender hervorheben, die einen Blog Eintrag haben. Das wollte ich mittels PHP DirectoryIterator machen. Ebenso für die Ermittlung, in welcher Sprache es den Blog Eintrag noch gibt. Mein Ziel ist es, damit gänlich auf eine Datenbank zu verzichten. Warum? Nun ja, in der iX gab es neulich einen Artikel über Webseitenoptimierung. Darin wurde beschrieben, dass Caching zwar gut ist, aber nicht das eigentliche Problem löst: Warten auf die Datenbank. Folglich: Wenn ich keine habe, muss ich auf keine warten. Die DirectoryIterator Klasse ist eine PHP interne Funktion, also eine C Funktion => schnell => Damen hoch!
Die Übersetzungen wollte ich in po Dateien packen, wie es Wordrpess macht oder es mal gemacht hat. Wenn ich mich nicht irre, gibt es sogar eine PHP Extension. Wordpress wird häufig eingesetzt, das heißt, das geht selbst bei den billigsten Hoster.
Zu dem Problem PHP in HTML Dateien:
Soviel ich weiß, bzw. wie ich es neulich hier gesehen hatte, wird das nicht automatisch ausgeführt, da der Webserver meint, dass in einem HTML Dokument kein PHP enthalten ist.
Lösung 1:
AddHandler Eintrag in die .htaccess Datei
Lösung 2:
RewriteRule dafür anlegen. Ist denke ich eher schlechter, aus zweierlei Gründen:
1. Es wird immer PHP ausgeführt, bzw. alles darüber geleitet.
2. Die Portierbarkeit geht eventuell verloren, denn nicht jeder Hoster unterstützt URL Rewriting.
Für die Übersetzung, oder besser gesagt, für die Daten, die sich so schnell nicht ändern werden und die nur einmal eingelesen werden müssen, könnte man einen Redis dahinter schalten. Sollte dann deutlich schneller gehen, wenn die Übersetzung gecacht sind, bzw. die Directory Iteration.
Was haltet ihr davon? Ist das so machbar? Habt ihr vielleicht bessere Vorschläge, zum Beispiel ein vorhandenes System nutzen, dass die Anforderungen erfüllt?
MFG derwunner
Kommentar