Ende 2014, Start der guten Vorsätze: wir beginnen eine neue Reihe und bieten ein wenig Hintergrundwissen und Lesestoff für Technik-Interessierte zur Wartung und Pflege der Website fs05.de
Bisher erschienene Artikel
Auch zuvor waren wir nicht ganz untätig in dem Feld, bisher sind folgende Beiträge auf fs05.de zum Thema Technik / Hintergrundwissen zu fs05.de veröffentlicht worden:
- Auswertung von Google Analytics vom 26.10.2013 »
- fs05.de im Wandel der Zeit seit dem Umzug WordPress vom 05.03.2014 »
- Motivation und Umsetzung eines https-Zertifikats für https://wiki.fs05.de vom 24.08.2014 »
27.12.2014 Redis-Cache für mehr Geschwindigkeit
Wir sind seit Anfang 2014 bei dem Hoster uberspace, wofür es mehr als nur einen Grund gibt. Das Zahlungs-Modell (Prepaid-Verfahren ohne Vertrag und daher für die Fachschaft ohne rechtliche Selbständigkeit perfekt) und die technische Freiheit sind einfach top, die persönlichen Ansichten des Hosters (v. a. zum Thema Sicherheit) und Service runden das Angebot ab.
Leider haben wir aber auf deren Server triangulum.uberspace.de mit Performance-Problemen zu kämpfen: Lange Erstaufruf-Zeiten und eine durchschnittliche Crawling-Zeit von über 1.550 ms sind mehr als das Doppelte, als eigentlich sein sollte.
Also weg von W3 Total Cache und hin zu neuen Caching-Möglichkeiten: Memcached. Wie im Namen bereits angedeutet, werden die Daten im Memory, also im Arbeitsspeicher vorgehalten. Der Arbeitsspeicher ist volatil – speichert die Daten also nur so lange, wie Strom vorhanden ist. Server neustarten oder Stromausfall: Daten weg. Der Vorteil aber ist die deutlich höhere Geschwindigkeit beim Auslesen: für einen Cache, der Daten ja nur temporär vorhalten soll, also perfekt.
Um das Ganze noch weiter aufzubohren (und wir auf uberspace so viele Möglichkeiten haben), gibt es noch den Redis Cache oben drauf. Damit GZIP wieder aktiviert ist (diese Aufgabe wurde zuvor von W3 Total Cache übernommen), musste die .htaccess angepasst werden. Erweitert wurde die Datei um folgende Zeilen:
# Deflate Compression by FileType <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-shockwave-flash </IfModule>
# ExpiresHeader: verhindert bedingte GET-Anfragen <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 35 days" </IfModule>
Ob und wie viel diese Änderung bringt, wird sich erst in einigen Tagen sagen lassen. Update erfolgt dann hier in dem Beitrag!
29.12.2014 Referral und Botnet-Spam aussperren
Nicht nur Besucher schauen auf unsere fs05.de, auch Crawler kommen täglich vorbei. Dies tun sie grundsätzlich unbemerkt, da klassische Crawler nicht in Google Analytics erscheinen. Der Google-Bot ist wohl der prominenteste (und zugleich beliebteste) Vertreter dieser Art. Er schaut auf der Seite nach, ob und welchen neuen Inhalt es gibt und kann so seine Suchbibliotheken füllen.
Es gibt jedoch auch (für uns) unnütze Bots (z. B. solche zur Datenerhebung für Suchmaschinenoptimierung-Tools) und – noch einen Ticken ärgerlicher – Spam-Bots: sie führen – im Gegensatz zu normalen Crawler-Bots – auch JavaScript-Code aus und erscheinen daher auch in der Auswertung bei Google Analytics (ga.js). Dieser Mist sieht dann so aus:
Verkürzt man die Ansicht in Google Analytics auf die letzten zwei Wochen (also vom 15. bis 28.12.2014), so wird die aktuelle Spamwelle deutlich sichtbar: das ist kein temporäres Problem, das wieder verschwindet – sondern bleibt wohl vorerst:
Warum die Seiten das so machen? So generieren sie Besucher und Aufmerksamkeit von Google Analytics Nutzern: denn die Seitenbetreiber wollen ja wissen, wer einen da besucht. So können dann semalt und Konsorten ihre eigenen geilen und supertollen Dienstleistungen direkt bewerben. Ausführlichere Infos zu der Angelegenheit gibt es von Justus Blümer.
Dass es sich bei diesem Verfahren aber einfach um Spam handelt, wird schnell ersichtlich, wenn eine kurze Google-Suche zu den Vereinen angeworfen wird:
Auch sonst ist das Web inzwischen voll mit Anleitungen, wie der Spam von der eigenen Website getilgt werden kann: ohow.co (englisch) schwört auf das direkte Ausschließen via .htaccess, da ein Opt-Out bei den betreffenden Webseiten wohl nur eher wenige Monate statt dauerhaft hilft.
Und so haben auch wir unsere .htaccess ein wenig angepasst:
# Referral und Botnet Spam unterbinden <IfModule mod_rewrite.c> RewriteCond %{HTTP_REFERER} ^http://.*backgroundpictures\.net/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*embedle\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*extener\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*fbfreegifts\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*feedouble\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*feedouble\.net/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*joinandplay\.me/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*joingames\.org/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*kambasoft\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*musicprojectfoundation\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*myprintscreen\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*openfrost\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*openmediasoft\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*savetubevideo\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*semalt\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*softomix\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*softomix\.net/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*softomix\.ru/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*soundfrost\.org/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*srecorder\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*vapmedia\.org/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*videofrost\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*videofrost\.net/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*youtubedownload\.org/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*zazagames\.org/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*buttons\-for\-website\.com [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*darodar\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*7makemoneyonline\.com/ [NC] RewriteRule ^(.*)$ – [F,L] </IfModule>
Update vom 31.12.2014: das Aussperren via .htaccess funktioniert!
Und weil es grad so viel Spaß macht, unnötige Ressourcen-Fresser zu kicken, wurde auch unsere robots.txt ein wenig erweitert: den Crawlern backlink-check.de, BacklinkCrawler, ExtractorPro, Fasterfox, LinkextractorPro, LinkWalker, MJ12bot, Openbot, rogerbot , searchpreview, SEODAT, SEOENGBot, SEOkicks-Robot, sistrix, True_Robot, URL Control, URL_Spider_Pro, und xovi wird nun mitgeteilt, dass sie hier nicht erwünscht ist (wichtig: die robots.txt. ist lediglich eine Empfehlung – ob sie sich daran halten, steht auf einem anderem Blatt).
Wie viel diese Pflege nun hinsichtlich der Performance und Auswertung (bereinigtes Google Analytics Dashboard) bringt, wird sich die nächsten Tage zeigen. Wir berichten spätestens im neuen Jahr.