Matomo

Veröffentlicht: Montag, 7 August 2017
Geändert: Mittwoch, 28 Januar 2026
Autor Erik van Berkum

Geschrieben von (LinkedIn)

Processwire liebt es, wird von AWS betrieben und in sozialen Netzwerken beworben

History

acniti Online-Strategie

Das Erstellen und Verwalten einer Website ist ein Hobby. Im Laufe der Jahre wurde die Erstellung von Websites immer komplizierter und es sind mehr Technologien, Wissen und Erfahrung erforderlich. Meine erste Website habe ich 1997 erstellt. Es begann mit einer statischen Website, die mit FrontPage, einem WYSIWYG-HTML-Editor, erstellt wurde. Ein paar Jahre später war es Zeit für das erste Content Management System. Ich sah mir Joomla an, entschied mich dann aber für MediaWiki. Ich habe diese Websites 2 Jahre lang auf der MediaWiki-Plattform betrieben und bin dann auf WordPress umgestiegen. WordPress war gut, es leistete gute Arbeit, aber mit der Zeit wurde es immer komplizierter, etwas aus der Box heraus zu machen, wenn es kein Blog ist, wird es kompliziert und um eine funktionsreiche Website zu haben, braucht man eine Menge Plugins. Nach und nach machte es immer weniger Spaß und es wurde immer mühsamer, mit den verschiedenen Plugins zu jonglieren.

2014 fing ich an, mich für die PHP-Programmierung zu interessieren. Das wollte ich schon seit vielen Jahren tun, hatte aber nie genug Zeit, in den sauren Apfel zu beißen und mich durch die Grundlagen zu arbeiten. Am Ende der Kurse habe ich mir gedacht, was habe ich jetzt gelernt, wie setze ich das in die Tat um? Eine moderne Website nur mit PHP zu erstellen ist schwierig, es erfordert auch Kenntnisse in HTML, MySQL, CSS, Java-Script usw. Ich begann nach einem Framework zu suchen, experimentierte ein wenig mit CakePHP und stieß dann über einen Blogbeitrag von CMS Critic auf Processwire.

Development setup

Ich habe die Website acniti auf einem Linux Ubuntu 16 entwickelt, mit PHP 7 und MySQL als Entwicklungsserver. Als IDE verwende ich PhpStorm. Bevor ich Storm verwendet habe, habe ich einige andere IDEs wie Zend, Eclipse, Netbeans und Aptana ausprobiert, aber keine davon gefiel mir, einige hatten nur wenige Funktionen, Zend und Eclipse waren langsam und verbrauchten viel Speicher. PhpStorm ist zwar nicht kostenlos, aber definitiv die Investition wert. Ich nutze das kostenlose Git-Repository von AWS namens CodeCommit. Ich verwende immer noch GIT Cola, um die Änderungen zu übertragen, ich könnte auch PhpStorm dafür verwenden, aber ich habe mir nie die Zeit genommen, meinen Arbeitsablauf zu ändern.

Für das Projektmanagement bin ich ein großer Fan von Redmine. Redmine ist ein webbasiertes Open-Source-Projektmanagement- und Problemverfolgungstool. Ich verwende es auch für meine andere Arbeit, so dass es sich auch leicht in den Website-Bauablauf integrieren lässt. Mit Redmine kannst du ganz einfach Listen mit den Funktionen führen, die du in den einzelnen Versionen umsetzen willst, und es unterstützt ein Wiki, in dem du ganz einfach Notizen machen und deine Aktivitäten protokollieren kannst. Ich benutze es jeden Tag und es läuft auf Ruby. Für Bilder und Grafiken wechsle ich zurück zu Windows und benutze Photoshop.

Processwire

acniti AMP-Technologie

Die Website acniti läuft auf der aktuellsten stabilen Processwire-Version (3.0.62). Die Website ist in 4 Sprachen verfügbar, darunter auch eine asiatische Sprache. Die URLs der japanischen Sprache sind mit den 3 Alphabeten Kanji, Hiragana und Katakana implementiert. Einige Bilder auf der Website haben Text- und Bildsprach-Tags, die helfen, die richtige Sprache auszuwählen. Der Processwire-Blogbeitrag vom 30. Juni war hilfreich, um dies zum Laufen zu bringen.

Die kommerziellen Module ProCache und Formbuilder werden installiert. Das ProCache-Modul ist wirklich erstaunlich und macht die Website blitzschnell. Neben den kommerziellen Modulen werden etwa elf Open-Source-Module verwendet: Database Backups, Tracy Debugger, Wire Mail SMTP, Protected Mode, Batcher, Upgrades, PublishAsHidden, URL (Multi-language), Twitter Feed Markup, Email Obfuscation (EMO), Login History, Selector test.

Während der Entwicklung ist das Processwire-Forum sehr hilfreich und wird oft besucht. Das Forum ist aus zwei Gründen gut: Die meisten Fragen, die ich während der Entwicklung der Seite hatte, sind bereits auf der Seite zu finden. Zweitens wurden die nur 6 Fragen, die ich in den letzten 2 Jahren gestellt habe, schnell und präzise beantwortet. Der Nachteil ist, dass ich kein sehr aktives Mitglied im Forum geworden bin, aber das sehe ich als Kompliment.

Ein offenes Problem auf der Seite acniti ist das AMP-Kontaktformular mit Formbuilder. Die eingeschränkte Verwendung von Java-Script für die AMP-Spezifikation erfordert eine eingehendere Untersuchung.

Hosting setup

For the hosting services the acniti site uses Amazon EC2, I use AWS already many years to manage my cloud office so it was easy to decide to use it for the web hosting as well. The site is running on a micro instance of EC2 and with the ProCache module CloudFront is serving webpages worldwide fast. Updates from the development server are sent to CodeCommit and from there to the production server. From a site management point of view, it would be nice to use AWS RDS to manage the MySQL databases, but from a cost perspective I decide not to do that for now. Via a cron I have set up automatic MySQL backups and these are via another cron job uploaded to AWS S3. To make sure the server is safe, a cron job runs daily snapshots of the server, this is getting initiated via AWS Lambda. Lambda also removes older snapshots because during creation a delete tag is attached for seven days after their creation. It's important to make a separate MySQL backup as with snapshots the database often gets corrupted and its easier to restore a database backup than to fix a corrupted database. Another nice feature to use AWS Lambda for is a simple HTTP service health checker, which reports to you by email or sms when the website is down.

Making use of all these Amazon services cost me probably somewhere between 10 - 15 $ a month, I have to estimate a little since I am running a lot more things on AWS than only the website.

The site is running on a Comodo SSL certificate but next year I will change to the free LetsEncrypt, as it is easier to add and will automatically renew after 90 days. The Comodo certificate requires manually copy pasting and editing the certificates in place.

Writing Content

The content for the site I write in the Redmine wiki, most of the content I write requires research and it takes about two weeks before I publish the content to the Processwire site. For writing content, I use the google spell checker with the grammar checker, After the Deadline. To ensure catchy headlines they are optimized with the Headline Analyzer from CoSchedule

Social Media

Now the site is running, it needs promotion. The robots.txt files shows the search engines the way as does the sitemap.xml both of these I have made in a template file. Most of the blog articles I promote are republished on social networks like, LinkedIn, Tumblr, Google+, Twitter, and some branch specific networks as the Waternetwork and Environmental XPRT. To check, the search engines index the site well, Google webmaster and Bing webmaster check for any problems with the site. For statics on the same server there is an instance installed of Matomo. Matomo is a leading open alternative to Google Analytics that gives full control over data. The Matomo setup works very well and gives a good overview of the site usage both on the desktop via the site or via a mobile app. As a part of a test I have installed the open-source SEO-panel on the same server to manage keywords and to further improve the scores in the search engine, a nice feature is that you can also track your competitors. I am still new to SEO panel and have to learn more how to use the tool effectively.

Image source

Smartphone und Tablet auf schwarzem Hintergrund: Entworfen von Freepik