Wissen to go

SEO oder wie man das nennt – Teil 2

PageSpeed, gzip, deflate, cache und 301

Ja das alles sollte dir etwas sagen – muss es aber nicht, dafür gibt es ja diesen Beitrag und Blog.

Wenn du dich näher mit dem Thema SEO beschäftigst, stößt du zwangsläufig irgendwann auf diese Begriffe, also keine Angst – so schlimm ist es nicht.

 

Weise Worte

Beachte bitte folgende Punkte bevor du Änderungen an deiner .htaccess Datei vornimmst!

  1. Erstelle vor jeder Änderung ein Backup deiner .htaccess Datei
  2. Achte darauf, das die Zeichenkodierung der .htaccess Datei der ISO 8859-1 entspricht
  3. Wenn du unmittelbar nach einer Änderung einen Error 500 bekommst, spiele das Backup deiner .htaccess Datei ein und versuche es erneut 🙂
  4. Keine Sorge ein Error aus der 500er-Reihe heißt nicht das dein Blog, deine Website oder gar dein Server kaputt ist – auch nicht wenn die Fehlermeldung so klingt 🙂

 

gzip compression und deflate

 

Die hier gezeigten Beispielkonfigurationen sind ausschließlich für Apache-Webserver gedacht und die Verwendung erfolgt auf eigene Gefahr!

 

Dein Webserver kann Dinge, von denen du vielleicht gar nichts weist?!

Wenn gzip oder alternativ DEFLATE aktiviert ist, werden alle Inhalte (die du festgelegt hast) deiner Website komprimiert an den Browser gesendet. Das spart enorm viele Bits und Bytes ein die durch das Netz hin und her geschickt werden und reduziert somit auch die Ladezeit deiner Website. Vor allem Besucher mit mobilen Endgeräten werden es dir danken, wenn deine Inhalte komprimiert übertragen werden. Das klingt jetzt nach einer Menge Arbeit die zu tun ist, ist es aber gar nicht. Alles was du benötigst, ist Zugriff via FTP auf deine .htaccess Datei. In diese fügst du die nachfolgenden Zeilen ein und speicherst sie ab – fertig. Natürlich können/sollten ein paar Zeilen noch an die eigenen Bedürfnisse  angepasst werden.

 

# gzip Komprimierung aktivieren, wenn das Modul vorhanden ist
<IfModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js|php)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

 

In der folgenden Zeile legst du fest, welche Dateiendungen komprimiert übertragen werden sollen.

mod_gzip_item_include file \.(html?|txt|css|js|php)$

 

Mit dieser Zeile kannst Du Dateien anhand des Dateitypen über den MIME-Type festlegen die komprimiert werden sollen.

mod_gzip_item_include mime ^text/.*

 

Mit dieser Zeile kannst Du Dateien anhand des Dateitypen über den MIME-Type festlegen die nicht komprimiert werden sollen.

mod_gzip_item_exclude mime ^image/.*

 

mod_deflate

Falls gzip nicht zur Verfügung steht, kannst du alternativ auch das Modul DEFLATE verwenden. Füge dazu die folgenden Zeilen in deine .htaccess ein und speichere diese.

Hinweis: Wenn du gzip und DEFLATE benutzten möchtest, muss der DEFLATE-Block nach dem gzip-Block in der .htaccess stehen!

 

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

 

Browser-Caching aktivieren

Wie jetzt vom Server aus? Ja genau – du kannst den Browser deiner Besucher anweisen deine Website oder Teile davon zu cachen!

Und auch hier werden es dir vor allem Benutzer mobiler Endgeräte und Datenleitungen danken.

Du brauchst wieder einmal Zugriff auf deine .htaccess Datei um dort nachfolgende Zeilen einzufügen, mit denen du bestimmst, welche Dateitypen wie lange gecached werden dürfen und auch werden – beachte dies! Denn einmal gecached, bleibt diese Datei im Cache bis die Zeit abgelaufen ist, Änderungen werden erst nach Ablauf dieser Zeit für deine Besucher sichtbar. Bei Bildern, statischen Seiten die sich nur hin und wieder mal ändern sowie JavaScript- und Stylesheet-Dateien macht das Caching aber auf jeden Fall Sinn.

 

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/css "access plus 7 days"
  ExpiresByType image/ico "access plus 7 days"
  ExpiresByType text/javascript "access plus 7 days"
  ExpiresByType text/html "access plus 7 days"
  ExpiresByType application/x-javascript "access plus 7 days"
  ExpiresByType application/javascript "access plus 7 days"
  ExpiresByType image/gif "access plus 7 days"
  ExpiresByType image/jpg "access plus 7 days"
  ExpiresByType image/jpeg "access plus 7 days"
  ExpiresByType image/png "access plus 7 days"
  ExpiresByType image/x-icon "access plus 7 days"
</IfModule>

 

Das klingt aber alles so gar nicht nach SEO

Tja aber da du bis hier hin gelesen hast, darfst du dich freuen, denn es ist ein sehr bedeutender Teil der Suchmaschinenoptimierung. Denn mehr denn je achten Suchmaschinen auf die Ladezeiten und die übertragenen Bits und Bytes einer Website und das meine ich vollkommen ernst. Die Ladezeit und die tatsächliche Größe (in Byte oder Kilobyte oder schlimmer in Megabyte) deiner Website spielt eine entscheidende Rolle in der Ranking-Bewertung und es gilt: weniger ist mehr.

Das Browser-Caching ist ein ebenso großer Teil und wird auch von allen Suchmaschinen im Ranking berücksichtigt.

Teste deine Website mit dem Google PageSpeed Insights Tool – kostenfrei – und du erhälst sofort ein Ergebnis, welches dir detailliert zeigt, wie Google deine Website auf Desktops und mobilen Endgeräten bewerten würde ( natürlich gilt das nur für die technische Seite 🙂 )

 

Hast du eine Sitemap?

Wenn jetzt statt „na klar“ ein „hab ich eine was?“ in deinem Kopf ist, solltest du weiterlesen 😉

Eine Sitemap ermöglicht es Suchmaschinen, sich über die Seiten deiner Website zu informieren. Ein dazu gültiger Standard wurde am 16.11.2006 von Google, Yahoo und Microsoft beschlossen und ist seit dem gültig. Seit der Standardisierung hilft eine solche Sitemap die Suchergebnisse zu verbessern – vorher gab es für jede Suchmaschine eine eigene Sitemap – Wahnsinn wer sich das angetan hat.

Sitemap-Dateien sind „gewöhnliche“ Textdateien, die sich der Extensible Markup Language (XML) bedienen und als Zeichenkodierung UTF-8 verwenden.

In einer solchen Sitemap, sind alle oder nur die vom Ersteller festgelegten Seiten aufgelistet und mit bestimmten Meta-Informationen versehen wie etwa dem letzten Änderungsdatum, einer pauschalen Angabe wie häufig sich auf dieser Seite etwas ändert und mit welcher Priorität diese Seite zu behandeln ist. All diese Meta-Angaben helfen Suchmaschinen deine Website zu indexieren und im Ranking zu platzieren. Aber nur weil du eine Sitemap hast, heißt das nicht, das die Suchmaschinen das auch wissen 🙂 zwar kannst du deine Sitemap einfach in die robots.txt eintragen, nämlich so:

 

Sitemap: sitemap_url

 

aber ob und wann der Crawler sich bequemt da mal reinzuschauen, weiß wieder mal niemand. Besser ist es, du informierst die Suchmaschinen selbst und zwar alle, wirklich alle, okay die größten, okay okay die zwei Großen 🙂

 

Bei Google mit der Google Search Console

Bei Bing mit den Bing Webmaster Tools

 

Natürlich landest du auch ohne eine solche Sitemap – irgendwann – in einer Suchmaschine.

 

Eine solche Sitemap sieht übrigens in etwa so aus:

 

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://www.develop-network.de/</loc>
        <lastmod>2016-05-10</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.develop-network.de/kontakt</loc>
        <lastmod>2016-04-22</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
    </url>
    <url>
        <loc>http://www.develop-network.de/impressum</loc>
        <lastmod>2016-11-03</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
    </url>
    <url>
        <loc>https://www.develop-network.de/impressum</loc>
        <lastmod>2016-07-18</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
    </url>
</urlset>

 

301 Weiterleitung

Eine 301 Weiterleitung ist grob gesagt die perfekte Weiterleitung für Suchmachinenoptimierung wenn doppelter Content vorhanden ist oder du mit deiner Website auf eine andere Domain umgezogen bist und deine bisherigen Einträge im Index samt Ranking nicht verlieren möchtest.

Technisch gesehen – ich hole mal ein wenig aus – ist der 301 ein Status, um genau zu sein ein HTTP Statuscode. Von diesen gibt es eine Menge und dir ist bestimmt auch schon mal ein 404 oder 500 begegnet. Ein solcher HTTP Statuscode teilt dem Browser mit, ob eine Anfrage an den Server erfolgreich war und wie diese zu handhaben ist. Im Fehlerfall nämlich, kann es sein das die Informationen zwar verfügbar sind aber unter einer anderen Adresse oder gar hinter einem Login geschützt liegen. Im Fall des Vorhandenseins der Information aber nicht unter der angeforderten Adresse, ist es sinnvoll dem Browser zu sagen, wo er denn nun die Informationen findet die er so händeringend sucht, statt ihm einen 404 Not Found zu präsentieren. Dieser 404 und auch doppelter Content – also derselbe Inhalt unter verschiedenen Adressen – kann zum Ausschluss aus dem Index führen und ist auf jeden Fall tödlich für dein Ranking!

Du brauchst natürlich mal wieder Zugriff auf die .htaccess Datei – es gibt aber auch PlugIns für WordPress, mit dessen Hilfe du solche Weiterleitungen sehr komfortabel einrichten kannst.

Aber auch das PlugIn macht nichts anderes, als die Dinge für dich in die .htaccess schreiben.

 

Und das sieht so aus:

RewriteEngine On
Redirect 301 /toller-beitrag.html http://www.neue-domain.de/toller-beitrag.html

 

Natürlich muss eine 301 Weiterleitung bei einem Umzug auf eine neue Domain, auf der alten Domain geschaltet werden – wenigstens eine Zeit lang – die Suchmaschine muss diese Änderung ja auch erstmal bemerken. Bei einem 301 der von einem Crawler entdeckt wird, passiert folgendes:

  1. die Suchmaschine entfernt zuerst alle alten Einträge aus dem Index die weitergeleitet wurden
  2. die neuen, umgeleiteten Seiten werden in den Index aufgenommen und bewertet
  3. die Linkpower wird vollständig an die neue Website weitergegeben

 

Gab es nicht mal sowas wie Canonical-Tags?

Richtig, die gab es und gibt es immer noch – zum Glück!

Der Sinn eines solchen kanonischen Links – nein es geht nicht um Kanonen 🙂 – ist es auf den Ursprung, die Quelle des Inhalts zu verweisen. Manchmal ist es eben nicht möglich doppelten Inhalten zu vermeiden und auch überhaupt nicht sinnvoll. Angenommen du betreibst einen eigenen Shop und verkaufst Tassen. Du hast also eine Angebotsseite der Tasse unter der Adresse (URL) meine-domain.de/tasse. Jetzt gibt es eben diese eine Tasse aber in 3 Farben, der Rest ist aber gleich, die Beschreibung, der Preis, etc. Es wäre also sinnlos jetzt für jede Farbe die Seite neu anzulegen. Die Adresse meine-domain.de/tasse?farbe=gelb zeigt also denselben Inhalt an, wie meine-domain.de/tasse – nur das Bild und vielleicht der Titel ist ein anderer. Da ein gewisser Prozentsatz deines Inhalts aber identisch ist, werten Suchmaschinen dies als doppelten Inhalt (duplicate content).

Jetzt kommen die kanonischen Links auf den „doppelten“ Seiten zum Einsatz. Diese teilen der Suchmaschine nämlich mit „hömma, dat is zwar derselbe Inhalt, aber ich brauch dat so, hier is der original Inhalt her„, und das passiert im Header der Website und zwar so:

 

<link rel="canonical" href="https://www.meine-domain.ade/tasse" />

 

Es passiert allerdings noch mehr! Der Suchmaschine wird nicht nur mitgeteilt, das dieser doppelte Inhalt seine Richtigkeit hat, sondern auch welche der doppelten Seiten in den Index aufgenommen werden soll und das ist kein geringerer als der kanonische Link 🙂

Natürlich gibt es für WordPress auch PlugIns mit dessen Hilfe kanonische Links erzeugt werden können.

SEO oder wie man das nennt – Teil 2
© 2017 Gino Dola
PHP & Web Developer

Schreibe einen Kommentar