Das Putzlowitsch Test- und SEO-Blog

SEO-Tipps und SEO-Tricks und überhaupt

Nach längerer Zeit will ich mal wieder beim Webmaster-Freitag mitmachen, das Thema der Woche lautet „Sollte man SEO-Tipps sharen?„.

Die Sicht der Dinge

Man muß bei diesem Thema mehrere Aspekte unterscheiden. Einerseits die Perspektive, also sieht man es aus der Sicht des SEOs, der als Sender die Tipps veröffentlicht oder aus Sicht eines Webseitenbetreibers bzw. SEO-Konkurrenten, der als Empfänger von den Tipps profitiert.

Aus meiner Perspektive als Webseitenbetreiber kann ich es nur begrüßen, wenn SEOs ihr Wissen mit dem gemeinen Volk teilen. Andererseits ist natürlich für einen gewerbsmäßigen SEO sein Wissen auch Betriebskapital und da kann ich es schon nachvollziehen, wenn er nur wenig oder gar nichts davon preisgibt.

Andererseits ist auch zwischen Tipps und Tricks zu unterscheiden, obwohl hier die Trennlinie nicht ganz klar gezogen werden kann und die Übergänge in der Betrachtunsgweise des Herangehens gleitend sind.

SEO-Tipps

Im Duden findet man zum Stichwort „Tipp“ folgendes:

nützlicher Hinweis, guter Rat, der jemandem bei etwas hilft

Genau das ist ein Tipp, ein nützlicher Hinweis, nicht mehr und nicht weniger. Meist kann man diese Tipps unter SEO-Basiswissen einsortieren. Wenn nun jemand sagt, das ist ja alles nichts Neues und man kann das überall finden dann sage ich, bestimmte Sachen kann man einfach nicht oft genug wiederholen. Bezogen z.B. auf Bilder im Web kann ich folgendes empfehlen, auch wenn das schon alles ein alter Hut ist :-)
Alter Hut

  • Datei dem Bildinhalt entsprechend benennen
  • Sinnvolle Alt- und Titeltexte verwenden
  • Geeignete Bildgrößen verwenden
  • Passendes Formate nach Bildtyp auswählen

Das sind aber alles Sachen, die vordergründig gar nichts mit SEO zu tun haben, sondern mit Benutzerfreundlichkeit und Web-Standards bzw. damit, wie man seine Daten organisiert und sich dadurch das Leben leichter macht.

Die Bilddatei mit dem alten Hut nenne ich einfach deshalb alter-hut.jpg, damit ich bei den vielen Bildern selbst den Überblick behalte. Denn bei Dateinamen wie DSCF2783.JPG oder IMG_1966.JPG müßte ich erst jedesmal alle Bilder durchsehen, um das Gesuchte zu finden.

Wenn nun zufälligerweise auch die Suchmaschinen die oben genannten Punkte gut bewerten, ist das zwar schön, hat aber nichts mit SEO zu tun. Wer aber so grundlegende Dinge nicht berücksichtigt und z.B. die Bilder der 12 Megapixelkamera in höchster Auflösung mit mehreren Megabyte Dateigröße in seine Webseite einbindet, wird halt nicht nur die Leser vergraulen, sondern auch die Suchmaschinen vercrawlen.

SEO-Tricks

Auch zum „Trick“ hält der Duden eine schöne Kurzbeschreibung bereit:

listig ausgedachtes, geschicktes Vorgehen; Kunstgriff; Kniff; List

Das trifft es ganz gut, denn Kniff, List und vielleicht sogar Täuschung passen aus meiner Sicht wie die Faust aufs Auge, es muß aber nicht unbedingt so negativ gesehen werde. Ein SEO-Trick ist also alles, was über die oben beispielhaft für Bilder genannten Tipps hinausgeht und nicht wirklich der Benutzerfreundlichkeit, sondern vielmehr fast nur der Suchmaschine dient.

Besonders bei SEO-Wettbewerben wird gerne mal in die Trickkiste gegriffen. Deshalb sind diese Wettbewerbe auch gut geeignet, solche manchmal ganz billigen Tricks kennenzulernen. Eine Sache war mir damals (2005) bei der „Hommingberger Gepardenforelle“ aufgefallen. Da dieser Wettbewerb eine relative größe Popularität erlangte, haben da auch viele kleine Webseiten einfach nur aus Spaß an der Freude mitgemacht.

Nicht lange ließen damals Linktauschangebote auf sich warten, auch ich hatte einige E-Mails bekommen. Der gemeine Websitebetreiber hatte bestimmt schon davon gehört, das viele Links nicht nur gut für Besucher sonder auch für die Platzierung bei den Suchmaschinen sind (und darauf kam es beim Wettbewerb ja an). Das Motto war einfach „Verlinkt uns und wir verlinken euch“. Nur ist ein Link, wie ihn der Besucher auf der Seite sieht, nicht unbedingt auch etwas für die Suchmaschine wert, z.B. wenn er per Javascript eingebunden ist und der Suchmaschinen-Bot den Link überhaupt nicht sieht. Die Bots sind, auch heute noch, weitestgehend Javascript-blind.

Mit Tricks sollte man also eher vorsichtig sein, sowohl beim Veröffentlichen als auch bei der Nutzung. Oft basieren Tricks nur auf Unzulänglichkeiten, Schwachstellen oder Fehlern und können durchaus auch mal nach hinten losgehen. Genau dann, wenn eben jene Unzulänglichkeiten, Schwachstellen oder Fehler beseitigt werden.

Mein SEO-Tipp für heute

Zum Schluß kann ich mir einen kleinen SEO-Tipp nicht verkneifen. Es ist eine Buchempfehlung für ein Buch, das ich zwar selber gar nicht besitze oder kenne, das aber bestimmt eine feine Sache ist, zumindest wenn man sich für SEO interessiert: „SEO“ von Christoph Tannert

Und nein, ich habe das Buch nicht entdeckt, weil ich bei Amazon nach SEO gesucht habe. Es steht hier bei mir im kleinen Buchladen um die Ecke im Schaufenster.

Weitere Artikel mit Bezug zu diesem:
5 Kommentare »

WordPress für statische Seiten optimieren

WordPress und Permalinks

In WordPress kann man für schönere URLs die Permalinks aktivieren. Diese werden nur für die Struktur der Artikel-URL festgelegt, zusätzlich kann ein Präfix für Kategorien und Tags vorgegeben werden, für Seiten jedoch gibt es keine extra Einstellmöglichkeit.

Für Artikle steht eine Vielzahl von von Platzhaltern (Variablen) zur Verfügung, die bei Zusammensetzen der URL durch die jeweiligen Daten des konkreten Artikels ersetzt werden.

Auch wenn man Permalinks nur für die Artikle wirklich konfigurieren kann, wirken sich die dort gewählten Optionen auch auf die Seiten und andere URLs in WordPress aus. Einen sichtbaren Effekt hat die Entscheidung, ob man die Permalinks mit einem Schrägstrich abschließt oder nicht. Entsprechend erhalten auch alle anderen von WordPress generierten URLs diesen Schrägstrich oder nicht. Das gilt übrigens nur für den Schrägstrich (Slash), alle anderen Endungen wie z.B. .html werden dabei nicht übernommen.

WordPress und Rewrite-Rules

Damit WordPress die Permalinks wieder in konkrete Artikel- und Seiten-IDs auflösen kann, wird eine Liste von Regeln (RewriteRules) erstellt, die sequentiell abgearbeitet wird. Mit dem ersten passenden Treffer wird dann die Datenbankabfrage für einen Artikel oder eine Seite, für eine Kategorie- oder Tagübersicht oder einen Feed usw. erstellt.

Wie diese interne Liste aussieht hängt unter anderem auch davon ab, welche Struktur für die Artikel bei der Permalinkkonfiguration gewählt wird. WordPress muß Artikel von Seiten eindeutig unterscheiden können und das funktioniert nur, wenn die Permalinks als ersten Platzhalter keinen variablen Wert wie Postname (%postnam%), Kategorie (%category%), Tag (%tag%) oder Autor (%author%) enthalten. Andernfalls werden für jede statische Seite jeweils 11 Einträge in der Liste der RewriteRules erstellt, die so aussehen:

[seite-1/attachment/([^/]+)/?$] => index.php?attachment=$matches[1]
[seite-1/attachment/([^/]+)/trackback/?$] => index.php?attachment=$matches[1]&tb=1
[seite-1/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?attachment=$matches[1]&feed=$matches[2]
[seite-1/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$] => index.php?attachment=$matches[1]&feed=$matches[2]
[seite-1/attachment/([^/]+)/comment-page-([0-9]{1,})/?$] => index.php?attachment=$matches[1]&cpage=$matches[2]
[(seite-1)/trackback/?$] => index.php?pagename=$matches[1]&tb=1
[(seite-1)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?pagename=$matches[1]&feed=$matches[2]
[(seite-1)/(feed|rdf|rss|rss2|atom)/?$] => index.php?pagename=$matches[1]&feed=$matches[2]
[(seite-1)/page/?([0-9]{1,})/?$] => index.php?pagename=$matches[1]&paged=$matches[2]
[(seite-1)/comment-page-([0-9]{1,})/?$] => index.php?pagename=$matches[1]&cpage=$matches[2]
[(seite-1)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]

Das mag bei wenigen Seiten zwar kaum ins Gewicht fallen, bei hunderten oder gar tausenden Seiten aber schon. Einerseits belegen diese vielen Regeln Speicher, andererseits müssen sie jedesmal abgearbeitet werden, bei z.B. 300 Seiten mehr als 3300 Listeneinträge. Probleme kann es auch beim Anlegen und Ändern von Seiten geben, denn die Liste muß dann jedesmal neu erstellt werden.

Permalinks für statische Seiten optimieren

Wenn man viele statische Seiten verwendet oder vielleicht gar keine Artikel (WordPress als CMS), sollte man als ersten Platzhalter (Strukturtag) in den Permalinks einen numerischen Wert wie Datum (year,monthnum,day), Zeit (hour,minute,second) oder die ID (post_id) verwenden. Die von WordPress zur Auswahl angebotenen Möglichkeiten erfüllen diese Bedingungen:

Tag und Name: /%year%/%monthnum%/%day%/%postname%/
Monat und Name: /%year%/%monthnum%/%postname%/
Numerisch: /archives/%post_id%

Für Benutzerdefinierte Einstellungen wären z.B. /%post_id%-%postname%/ geeignet. Es darf auch ein fester Text vor dem ersten numerischen Wert stehen, also z.B. /news/%post_id%-%postname%/.

Mit diesen Permalinkeinstellungen werden keine extra Rules je Seite erzeugt, das spart zumindest bei WordPressinstallationen mit sehr vielen statischen Seiten Speicherplatz und Abarbeitungszeit.

Weitere Artikel mit Bezug zu diesem:
7 Kommentare »

WordPress beim 1&1 Webhosting (1&1 Homepage)

In den aktuellen 1&1 Webhosting-Paketen „1&1 Homepage Perfect“, „1&1 Homepage Business“ und „1&1 Homepage Business Pro“ hat man neben der Nutzung eines 1&1-Fertigblogs auch die Möglichkeit, ein eigenes WordPress zu installieren. Mindestens eine MySQL-Datenbank und PHP können in diesen Hostingpaketen genutzt werden.

Damit das selbstinstallierten WordPress auch ordentlich funktioniert, sind einige Dinge zu beachten, die ich nachfolgend erkläre. In vielen Fällen verweise ich auf die 1&1-FAQ, da dort einzelne Schritte gut beschrieben sind.

Vorbereitung der Installation – Datenbank

Zunächst muß, falls nicht schon geschehen, eine neue MySQL 5 Datenbank angelegt werden. Wichtig sind hier die Daten, welche später in die Datei wp-config.php eingetragen werden müssen (Beispiele):

define('DB_NAME', 'db123456789');
define('DB_USER', 'dbo123456789')
define('DB_PASSWORD', 'rh473256');
define('DB_HOST', 'db1234.1und1.de');

Auf den ersten Blick sehen DB_NAME und DB_USER gleich aus, sind sie aber nicht. Beim User steht zwischen ‚db‘ und der Zahl ein kleines o (für Owner?). Zudem ist der Datenbank-Host eben nicht ‚localhost‘, sondern der nach dem Anlegen der Datenbank in der Übersicht angezeigte dbxxxx.1und1.de.

Vorbereitung der Installation – WordPress-Installationspaket

Die aktuelle deutsche WordPress-Version kann man sich hier herunterladen. In der Installationsanleitung werden als nächste Schritte das Entpacken der ZIP-Datei, Editieren der wp-config.php und das Hochladen aller Dateien per FTP genannt. Für 1&1 empfehle ich eine leicht veränderten, weil schnelleren Weg, der ohne zusätzliches FTP-Programm auskommt.

Mit dem 1&1-WebspaceExplorer wird die wordpress.zip-Datei, so wie sie ist, hochgeladen. Anschließend wird sie direkt auf dem Server entpackt. Beim Entpacken entsteht ein Verzeichnis wordpress, welches man nach eigenen Wünschen umbenennen kann.

Nun holt man sich per Download aus diesem Verzeichnis die wp-config-sample.php auf den Rechner, bennent sie in wp-config.php um, trägt die Konfigurationsdaten ein und lädt sie mit dem WebspaceExplorer in das WordPress-Verzeichnis auf dem Server.

Umstellung auf PHP 5

(nicht erforderlich bei den neuen Paketen SmartWeb L und Dual-Hosting!)
An erster Stelle ist die Umstellung auf PHP5 zu nennen. Mit PHP4 gibt es besonders im WordPress-Backend Probleme, beispielsweise beim Hochladen von Bildern über die Medienverwaltung. Wie man bei 1&1 erreichen kann, daß alle PHP-Skripte mit PHP 5 ausgeführt werden, ist auch in den 1&1-FAQ beschrieben. Man erstellt eine Datei .htaccess oder ergänzt eine bereits vorhandene Datei mit folgenden Zeilen:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Diese Datei kopiert man per FTP oder mit dem 1&1-WebspaceExplorer in das Wurzelverzeichnis der Webpräsenz

WordPress installieren

Nun kann man die WordPress-Installation wie in der Dokumentation beschrieben starten:

http://wp-example.net/wp-admin/install.php

Maximal nutzbarer PHP-Speicher (memory_limit) 32M

Auch wenn für den PHP-Speicher bei 1und1 40M angezeigt werden, so sind doch nur effektiv 32M nutzbar. Deshalb kann durchaus folgende Fehlermeldung auftreten:

Fatal error: Out of memory (allocated 33030144)
(tried to allocate 4600 bytes) in …

Das ist etwas anderes als:

Fatal error: Allowed memory size of 33554432 bytes exhausted
(tried to allocate 4650 bytes) in …

Der Fehler kann z.B. beim automatischen Update von WordPress vorkommen, obwohl WP intern das Speicherlimit auf 256M hochsetzt und das auch so angezeigt wird. Aber egal wie hoch man den Parameter memory_limit konfiguriert, es gibt bei 1&1 derzeit die Grenze bei 32 MB. Hier hilft nur, während des Updates den Speicherverbrauch zu reduzieren, indem man beispielsweise alle Plugins vorher deaktiviert und danach wieder aktiviert.

Auf eine Supportanfrage bei 1&1 bezüglich der 32M-Speichergrenze bekam ich folgende Antwort:

Effektiv liegt das von Ihnen nutzbare Speicherlimit bei 32 MB, da ein Teil der Ressourcen für die Ausführung von PHP selbst benötigt wird.

Nun ja, wirklich glauben kann ich das nicht.

Nachtrag:
Es gibt jetzt eine 1&1-Hilfe-Seite, die die Skript-Limits für die einzelnen alten und aktuellen Hostingpakete auflistet.
Bei den neuen 1&1-Dual-Tarife ist PHP5 standardmäßig aktiv und es gelten folgende Limits:

Memory Limit Scriptlaufzeit Anzahl Prozesse
Smart Web L 32 MB 10 Sec. 5
Dual Basic 60 MB 20 Sec. 10
Dual Perfect 60 MB 30 Sec. 15
Dual Advanced 80 MB 40 Sec. 15
Dual Unlimited 80 MB 60 Sec. 20

Bei den 1&1-Tarifen (ab Oktober 2013) gelten folgende Limits:

Memory Limit Scriptlaufzeit Anzahl Prozesse
Starter 30 MB 20 Sec. 10
Basic 60 MB 20 Sec. 10
Unlimited 80 MB 40 Sec. 15
Unlimited Plus 128 MB 60 Sec. 16
Unlimited Plus (4GB) 256 MB 60 Sec. 16

Bei den neuen 1&1-Tarifen (ab 2015) gelten folgende Limits:

Memory Limit Scriptlaufzeit Anzahl Prozesse
Starter 30 MB 20 Sec. 10
Unlimited 60 MB 20 Sec. 10
Unlimited Plus 80 MB 40 Sec. 15
Unlimited Pro 128 MB 60 Sec. 16

Hinweis: Das Speicher-Limit gilt für einen gestarteten Prozess. Es steht deshalb als PHP-Speicher weniger zur Verfügung, als hier in der Tabelle steht. Von den 60M im Paket Basic sind effektiv ca 55M als PHP-Speicher nutzbar.

PHP-Speichertest-Skript: Memory-Test PHP-Skript

28 Kommentare »

Geschwindigkeit ist keine Hexerei

Googlebot Ladezeit

Daß das Strato-Shared-Webhosting und WordPress derzeit nicht gut zusammenpassen und warum das so ist, hatte ich vor einiger Zeit geschrieben. Auf Grund der schlechten PHP-Performance dauert das Laden einer WordPress-Seite mindestens 3,5 bis 4 Sekunden, auch wenn keine umfangreichen Plugins oder fette Themes installiert sind.

In den Google-Webmastertools kann man sich die Ladezeiten in einem Diagramm für die letzten drei Monate ansehen. Die Grafik oben zeigt den Verlauf für meine Seite schnurpsel.de. Bis Mitte Juli hatte ich alles bei Strato in meinem Webhostingpaket liegen. Allerdings nutzte ich bereits zu dieser Zeit eine externe Datenbank (bei Host-Europe), da es zeitweise bei Strato auch erhebliche Probleme mit dem Datenbankserver gab.

Im Juli bin ich dann schließlich mit der WordPressinstalltion zu All-Inkl umgezogen, hatte aber weiterhin die externe Datenbank bei HE im Zugriff. Der Umzug verlief bis auf die 410-Gone-Panne auch ganz gut. Die Geschwindigkeit hatte sich schon deutlich verbessert. Einen kleinen Performance-Schub gab es dann nochmal Anfang/Mitte September, da hatte ich dann auch die Datenbank zum Webhoster mit der WordPressinstallation geholt.

Die Geschwindigkeit liegt nun bei 1 bis 1,5 Sekunden für den Seitenabruf. Das ist zwar kein Spitzenwert, aber durchaus akzeptabel. Gut, WordPress ist keine ganz kleine Webapplikation und erfordert schon einiges an Ressourcen vom Webserver, aber trotzdem ist es auch auf mittleren Shared-Webhostingpaketen vernünftig einsetzbar. Dazu muß allerdings der Webserver ordentlich konfiguriert sein. Ich weiß ehrlich gesagt nicht, was da bei Strato die PHP-Performance so ausbremst, normal ist das aber nicht. Selbst auf einem vergleichbaren 1&1-Paket ist WP schneller, und 1&1 gilt allgemein auch nicht grad als Gschwindigkeits-Überflieger.

Man kann nur hoffen, daß sich da bei Strato mal etwas tut, vielleicht ja unter der Regie eines möglichen, neuen Besitzers.

Keine Kommentare »

Kleinere Brötchen backen

BrötchenKleinere Brötchen backen heißt soviel wie zurückstecken, in seinen Forderungen zurückgehen, Abstriche machen, sich mäßigen, bescheidener werden. Dabei sind Brötchen schon recht klein, denn es sind wörtlich genommen kleine Brote.

Man kann und muß natürlich nicht immer alles wörtlich nehmen, denn eigentlich ist das hier ja mein „WordPress bei Strato Testblog“ (siehe oben unter dem Titel). Brötchen haben zugegebenermaßen wenig mit WordPress oder Strato zu tun, aber ein Test ist das hier allemal, nämlich ein Brötchentest.

Keine Kommentare »