Team Technik: hinter der Website (1)

0
1288

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:

27.12.2014 Redis-Cache für mehr Geschwindigkeit

badge-white-fs05Wir 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.

RedisUm 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:

Sinnfreie Besuche von semalt.semalt.com und buttons-for-website.com: Spam erster Güte
Sinnfreie Besuche von semalt.semalt.com und buttons-for-website.com: Spam erster Güte

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:

Besucher und "Besucher" vom 15. bis 28.12.2014: der Spam hält an
Besucher und „Besucher“ vom 15. bis 28.12.2014: der Spam hält an

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:

Semalt auf Google+ Statt per Unsubscribe vom Newsletter austragen (in Deutschland z. B. vorgeschrieben), soll ein Mitarbeiter via Skype kontaktiert werden: seriös sieht anders aus...
Semalt auf Google+
Statt per Unsubscribe vom Newsletter austragen (in Deutschland z. B. vorgeschrieben), soll ein Mitarbeiter via Skype kontaktiert werden: seriös sieht anders aus…

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!

Besucherquellen laut Google Analytics für den gesamten Dezember 2014: semalt.com und Co. mit 00:00 min Aufenthalt verhageln die Statistik
Besucherquellen laut Google Analytics für den gesamten Dezember 2014: semalt.com und Co. mit 00:00 min Aufenthalt verhageln die Statistik
Besucherquellen laut Google Analytics für den 29. bis 31.12.2014: weniger Mist, mehr richtige Daten
Besucherquellen laut Google Analytics für den 29. bis 31.12.2014: weniger Mist, mehr richtige Daten

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.