Kategorie-Archiv: Wordpress

Warum ich WordPress keinem Anfänger empfehlen würde

Man liest immer mehr, dass WordPress für jeden geeignet ist. Fix mit FTP auf irgendeinen Billighoster geschoben oder mit einem Klick installiert, dann kann der Spaß auch schon losgehen. Am besten 10 Blogs nebeneinander auf das gleiche System. Dann braucht man nur noch ein Theme, muss ein paar Plugins zusammenklicken und am Ende hat man eine tolle Website, oder?

Würde ich so nicht sagen – für mich ist das ein großes Risiko. Jeder kann ohne Kontrolle Plugins zur Verfügung stellen. Ich kann als Entwickler in diese Plugins einbauen was ich möchte. Das muss nicht einmal bösartig sein. Viele „Entwickler“ reißen hierdurch große Sicherheitslücken in die Webseite. Das kann auch sehr großen PlugIns und (man könnte meinen) sehr erfahrenen Entwicklern passieren. Das beste Beispiel ist hier sicherlich der RevolutionSlider gewesen, welcher da draußen garantiert noch tausendfach ungepatcht im Einsatz ist. So wurde auch die Website eines Kunden komplett übernommen. Weiterlesen…

Blog auf WordPress.com mit eigener Domain hosten

Die Schwester meiner Freundin möchte nun auch mit einem eigenen Blog „durchstarten“ – oder sie möchte erstmal einen haben. Nun habe ich noch einige Inklusivdomains bei allinkl und daher habe ich ihr Ihre Wunschdomain registriert. Soweit, so gut. Nun habe ich aber keine Lust noch eine weitere WordPress-Instanz auf meinem Server liegen zu haben, die ich am Ende selbst aktualisieren muss und mich um Sicherheit kümmern. Blöd also. Administrator Rechte würde Sie dort eh nicht bekommen, da es sehr spannend werden könnte, wenn Sie erfährt wie man PlugIns installiert und ausprobiert.

Daher der Schritt zum Hosting auf WordPress.com. Hier gibt es verschiedene Tarife, in denen teilweise auch eine Domain enthalten ist. Der erste Tarif mit 99 Euro im Jahr ist für ein bisschen Spielen meiner Meinung nach etwas überzogen. Möchte man den Free-Tarif nutzen und eine eigene Domain hinzufügen, berechnet WordPress dafür 13 Euro im Jahr (also mehr als doppelt so viel, wie die Domain selbst kostet).

Nun musste ich den Nameserver auf WordPress umstellen, damit alles auch richtig ankommt. Netterweise übernehmen die Jungs von WP die aktuellen Records, sodass man beispielsweise einem MX-Record (für Mailserver) nicht erneut per Hand setzen muss. Schon sehr komfortabel! Allerdings ist das Problem, dass man eine Nameserver-Änderung bei All-Inkl nicht selbst durchführen kann. Also musste ich den Support kontaktieren, welcher aber selbst am Sonntag Nachmittag die Änderung noch in die Wege geleitet hatte.

All-Inkl-DNS

Auf dieser Instanz hat man dann ein Backend, welches ganz anders aussieht als das „normale“ WordPress-Backend. Am Ende ist nur der Name und ein klein wenig der Bedienung gleich. Viel hat der Code sicher nicht gemeinsam (hoffe ich zumindest). Außerdem bekommt man 3GB Speicherplatz zur Verfügung gestellt und die netten Menschen von WordPress sichern die Seite auch noch automatisch mit einem SSL-Zertifikat von Lets Encrypt – nett.

Natürlich ist man etwas eingeschränkt. So kann man keine eigenen Themes hochladen oder PlugIns installieren und es kann nichtmal Analytics angebunden werden. Aber gut – man bewegt sich ja auch in einem kostenlosen Angebot.

Dafür belaufen sich die Gesamtkosten im Jahr eben auch nur auf 13 Euro. Und man hat am Ende sogar eine SSL-Gesicherte Seite. Allein für das Zertifikat habe ich vor kurzem über 80 Dollar ausgegeben (auf 2 Jahre). Wenn man also wirklich nur bloggen möchte, ist das bestimmt ein guter Start um sich mal etwas an die Materie heran zu testen.

Gerade das Thema Sicherheit ist bei WordPress extrem groß, und wenn man sich nicht sicher ist wie alles geht, muss man eben Profis dafür bezahlen. Und dann ist man schon innerhalb von einem Monat weit über 13 Euro hinausgeschossen. Also erst einmal überlegen was man wirklich braucht, bevor man am falschen Ende Geld ausgibt und dann nichtmal in der Lage ist alles zu administrieren.

Und nun: Happy Blogging.

WordPress: Beiträge als PDF-Download bereitstellen

Meine Freundin hat mich schon sehr oft nach einer Lösung gefragt, mit welcher man die Rezepte auf Ihrem Blog elegant-kochen.de als PDF herunterladen könnte. Das können ja schließlich alle Rezept-Seiten im Netz, nicht wahr? Heute bin ich durch puren Zufall auf den Dienst printfriendly gestoßen. Den Nutzen habe ich für mich noch nicht so richtig entdeckt. Fühlt sich ein wenig so an, als ob man dort die URL zu Seiten einfügen kann, welche nicht in der Lage sind eine print.css auszuliefern.

Hier wird also versucht, mit etwas Magie die gedruckten Informationen auf das Wesentliche zu beschränken. Das funktionierte bei einem Test mit den Links von Nadines Blog nur so mittelgut. Die Seite hat zwar erkannt, wo der Content anfängt, aber nicht genau wo er endet. Also wurden die Related-Posts mit angehängt. Sah nicht so schön aus.

Aber, wie es der Zufall will, gibt es ein WordPress-PlugIn für PrintFriendly. Damit kann man automatisch unter jeden Beitrag einen Button rendern lassen, welcher die Seite öffnet. Und dann funktioniert es lustigerweise auch mit der Erkennung des Beitragsendes perfekt. Wie der Button aussehen soll kann man frei gestalten, und sogar ein eigenes Logo hochladen.

Das beste ist aber eigentlich, dass man einstellen kann, dass sich alles in einer Lightbox öffnet! Das heißt, dass es sich für den Benutzer nichtmal so anfühlt, als würde er die Seite verlassen. Das ist natürlich top! Hier mal ein Screenshot vom Ergebnis:

PrintFriendly-Lightbox

Welche Buttons oben zur Verfügung stehen kann man frei entscheiden. Aber warum sollte man den User hier irgendwie bremsen. Egal was passiert, das Teilen kann ja nur positiv sein.

Nachteil: In der kostenfreien Variante wird unten ein Support-Button eingeblendet und wenn man ein PDF druckt, wird automatisch Werbung eingeblendet. Das ist natürlich extrem hässlich! Die Pro-Version kostet $6 im Monat oder $60 im Jahr. Das möchte ich aber nicht zahlen, bevor ich nicht weiß ob die Funktion bei den Besuchern gut ankommt. Aber natürlich möchte ich auch keine Affiliate-Werbung für andere hosten.

Also: Erstmal wird getestet, und wenn es gut ankommt, muss ich Geld ausgeben oder mich nach einer Alternative umschauen. Die Lösung gefällt mir an sich jedenfalls schon echt gut!

Das inoffizielle WordPress-Handbuch

Ein Beitrag den ich schon lange Mal schreiben wollte. Eigentlich aber nur, um meinem Frust gegenüber der Entwicklung unter WordPress mal ein wenig Luft zu machen. Die Ironie: Das Blog hier läuft ja ebenfalls unter WordPress (wie viele andere Seiten auch). Nur habe ich sehr wenig selbst entwickelt und das meiste einfach eingekauft und zusammengebaut.

Der Source ist eine Katastrophe. Eigentlich müsste man alles von null anfangen, als eine Art Enterprise-Edition für „Nicht-Bastler“.

global

Keine Funktion ohne global. Das muss so sein! Ansonsten kann man ja nicht entwickeln. Falls etwas fehlt, einfach per global ziehen. Das macht den Code schließlich sehr leserlich und man weiß immer ob und mit was die Variable gefüllt ist. Geniale Idee! Zudem kommen noch tausende globale Funktionen, welche man einfach kreuz und quer nutzen kann.

Eigentlich ganz praktisch. So muss man sich wenigstens Gedanken über Prefixes machen! Ansonsten wäre das Leben ja langweilig und man könnte gar keinen spannenden Seiteneffekte generieren, die niemals jemand nachvollziehen kann.

Man kann alles als Post abbilden

Ein Tabellenplugin? Das ist ein Post! Caching? Einfach als Post! Was strukturiert sein muss, kommt einfach als serialisierter String in die Datenbank, damit man bloß nichts richtig suchen kann. Somit wird UPDATE als SQL-Befehl überflüssig. Vorteil: Man muss nicht so viele Tabellen anlegen. Tabellen sind schlecht. Alles ist ein Post / Post-Type. So kann man die ganze Welt erklären.

Updates, Updates und Updates

Wer eine Extension auf dem Markt anbietet, hat diese binnen einer Woche mindestens zwei Mal zu aktualisieren. Ansonsten gilt diese als inaktiv! Bedeutet: Wenn man zwei Wochen im Urlaub ist, ist die Instanz entweder gehackt, oder man muss 32948 Updates nachholen. Einfach mal alles ein Jahr liegen lassen und nichts tun? Unmöglich.

Aber keine Sorge, in ein paar Tagen kommt schon die neue WordPress-Core-Version raus. Dann wieder 1-2 Zero-Day-Exploits und automatische Patches, aber dann ist alles wieder in Ordnung. Lieber ein Update mehr, als direkt anständigen Source abliefern.

Mehr PlugIns für mehr Sicherheit

WordPress mit vielen PlugIns zu betreiben ist von Haus aus nicht so schlau, da jeder Kobold da draußen denkt, er sei Entwickler. Also gibt es im Netz tausend Beiträge, wie man seine WordPress-Installation sicherer bekommt. Als erstes bitte dies, und dann das PlugIn installieren. Dann noch hier eine .htaccess, hier ein paar Verzeichnis-Berechtigungen umbiegen und am Ende hat man: Sicherheit! Yeah.

Klassenverbot!

Wer eine Klasse unter WordPress definiert, wird wohl gesteinigt (oder so). Im Core sind davon ja nicht so viele zu finden. Statt dessen findet man auch hier nur globale Funktions-Sammlungen. Das wär ja gar nicht so schlimm, wenn man nicht vorher eine ausführen müsste, um eine andere ausführen zu können. Passt auch super zum global-Konzept.

Debugging ist übrigens verboten – oder wird es automatisch. Setzt man einen Breakpoint, bekommt man im aktuellen Kontext so viele Variablen, dass die IDE am liebsten direkt kotzen möchte.

The Loop

Wer sich den Kram ausgedacht hat, der sollte wirklich den Beruf wechseln. Das hat mit Softwaredesign nicht mehr viel zu tun.

Exit Intent Popup: Einfach in WordPress integriert

Das Kochblog meiner Freundin unterstütze ich wo ich kann. Sei es beim Hosting, beim erstellen von Videos oder anderen technischen Fragen. Nur Inhalte liefern muss sie noch selbst. Da sie seit längerem auch einen Newsletter schreibt, hatte ich die Idee, das Thema „Exit Intent Popup“ auch einmal bei ihr auszuprobieren. Momenten ist das ja der letzte Schrei im Netz und jeder integriert die Teile. Einen Versuch ist es wert!

Falls nun jemand nicht weiß, wovon ich spreche: Damit sind keine richtigen Popups gemeint (in neuen Fenstern), sondern vielmehr der Versuch, den Besucher vor dem Verlassen der Seite noch zu einer Aktion zu bringen – zum Beispiel sich in den Newsletter einzutragen. Das entsprechende JavaScript bemerkt, wenn die Maus den sichtbaren Bereich der Seite verlässt und blendet dann eine Entsprechende Info ein, wenn man gerade gehen möchte. Bilder sagen mehr als tausend Worte. So sieht das Ganze dann in Ihrem Fall aus: Weiterlesen…

WordPress-Beiträge als JSON bereitstellen

Für ein aktuelles Projekt brauche ich sämtliche WordPress-Beiträge im JSON-Format. Eigentlich hatte ich PHPStorm schon gestartet und wollte anfangen, das Ganze zu Programmieren. Da ich nicht sonderlich gerne für WP entwickle, war die Motivation entsprechend gering. Also doch noch einmal kurz eine Google-Suche angestoßen.

Nach kurzer Zeit hatte ich dann auch schon das PlugIn JSON API gefunden. Hier bekommt man nicht nur die letzten Posts, sondern auch jede Menge andere Informationen zur Verfügung gestellt. So könnte man auch die gespeicherten Seiten auslesen, Posts von bestimmten Autoren und so weiter. Die Liste der zur Verfügung gestellten Funktionen ist lang: Weiterlesen…

WordPress: PO-Dateien mit Google Translate übersetzen

Wenn man mal wieder eine riesige PO-Datei übersetzen muss, kriegt man nach dem Start von POEdit wahrscheinlich schon zu viel, wenn dort mehr als 50 Einträge zu übersetzen sind. Abhilfe schafft hier das Google Translator Toolkit – hier kann man seine Dateien vollautomatisch übersetzen lassen.

Dafür geht man als erstes auf diese Seite von Google. Nun kann man mit einem Klick auf „Hochladen“ die zu übersetzende PO-Datei übermitteln.

Google Translator Toolkit

Ist dies getan, wählt man noch aus, in welche Sprachen man die Datei übersetzen möchte. Wie gut die Qualität der Übersetzungen für die einzelnen Sprachen ist, kann ich an dieser Stelle nicht sagen. Es ist sicher hilfreich, wenn ein Native-Speaker am Ende noch einmal über alles drüber liest. Sonst könnte man sich schon blamieren.

Nach einem Klick auf weiter werden alle Dienstleister angeboten, welche die entsprechende Übersetzung vornehmen sollen. Ich habe aber festgestellt, dass dieser Schritt optional ist. Hier muss man also kein Geld ausgeben und man klickt einfach auf „Nein, danke“.

Nun dauert es (je nach Größe) eine ganz Weile, bis die einzelnen Einträge übersetzt werden. Am besten man lässt Google erst einmal in Ruhe werkeln und holt sich einen Kaffee. Das kann schon eine Zeit dauern.

Nachdem die Übersetzung komplett ist, klickt man auf „Abschließen“ und lädt die Datei herunter. Danach öffnet man POEdit und kontrolliert die Übersetzungen. Die Fleißarbeit sollte dann schon getan sein.