Onpage-Siteklinik #1: Die gröbsten Fehler

6. März 2010  |     |  16 Kommentare
Ein Beitrag von Julian Dziki

Die Siteklinik hat Takatomo.de gewonnen und da gibt es einiges zu tun. Marcus betreibt seinen Shop seit etwa 6 Jahren, also schon eine ganze Weile. Früher hatte er Schmuck über einen Strato-Shop verkauft, dann den ersten Oscommerce -Shop aufgesetzt und  danach ist er komplett auf Kinder- und Wohnprodukte sowie XTCommerce umgestiegen. Takatomo ist übrigens ein japanischer Vorname. Es wäre ja langweilig, wenn es kaum SEO-Fehler gäbe, weswegen ich einen kleinen Härtefall herausgesucht habe.  Dann fangen wir mal an! Heute kommen zuerst die richtig groben Sachen. Bevor man an irgendwas wie Keywords denkt, muss man erst den Shop Google-freundlich machen. Die Punkte  zeigen den Wichtigkeitsgrad an. 5 Punkte sind unerlässlich für ein einigermaßen gutes Ranking, 4-3 Punkte sollte man unbedingt machen, erst ab 2 oder einem Punkt könnte man sich überlegen ob je nachdem der Aufwand nicht zu groß ist.

Interner DC und Seiten im Index ooooo

Als Erstes fällt mir auf, dass die Startseite unglaublich oft erreichbar ist. Zunächst ganz einfach unter http://www.takatomo.de, aber dann noch zusätzlich unter unzähligen Adressen. So beispielsweise die Variante mit https://, dann nur http://takatomo.de und https://www.takatomo.de/webshop/ sowie https://www.takatomo.de/webshop/de . Alle Möglichkeiten zusammen ergeben 2 x 2 x 2 x 2= 16 Mal die Startseite im Index. Ein bisschen zu viel Duplicate Content, oder? Zur Info: Takatomo.de hat 1.000 Produkte, aber 22.900 Seiten im Index! Idealerweise sollte man nur ein wenig mehr Seiten als Produkte haben. Ein bisschen DC lässt sich niemals vermeiden, aber in diesem Umfang ist es eindeutig zu viel. Die Grafik von Sistrix (Seiten im Index) sieht aus, wie eine Achterbahnfahrt. Als Faustregel kann immer gelten: Je mehr unnötige oder doppelte Seiten im Index, desto schlechter das Ranking, zumindest wenn es in diesen Ausmaßen geschieht. Hier bestätigt sich die Theorie.

Meta-Weiterleitungen? ooooo

Mir fällt keine logische Erklärung für so etwas ein. Besucht man etwa http://www.takatomo.de/Darfur/ , so kommt man auf eine Seite ohne CSS und Produkte, nur mit der jeweiligen Produktbeschreibung. Von dieser wird man dann durch den Befehl

<meta http-equiv="refresh" content="0; >

auf die eigentliche Seite weitergeleitet. Warum? Lässt man den Meta-Refresh weg, so sieht man unten noch Links auf bestimmte Kategorien. Sollte das der Versuch einer besseren internen Verlinkung sein, dann ist dieser gründlich fehlgeschlagen. Die Meta-Refreshs müssen also weg. Durch sie sind alle Seiten auch doppelt (bzw. mehrfach) im Index, zusätzlich zu den oben bereits genannten Problemen. Hier haben wir z.b. 4x Duplicate Content.

  • http://www.takatomo.de/Scratch/
  • https://www.takatomo.de/webshop/de/SCRATCH
  • https://www.takatomo.de/de/SCRATCH
  • und Exoten wie https://www.takatomo.de/webshop/index.php?language=de&cat=12285&page=1
  • und (siehe oben) die Versionen ohne www, die ich jetzt mal nicht mitzähle

Jeder Inhalt darf nur einmal erreichbar sein. Ich würde mich für die kleinste Lösung mit www, also http://www.takatomo.de/Scratch/ entscheiden. Die Ordnerstruktur sollte so flach wie möglich ausfallen. Seiten wie https://www.takatomo.de/webshop/products/de/SCRATCH/Loeffel-aus-Melamin-mit-Storchenmotiv-von-Scratch.html sind in unnötigen Ordnern versteckt.

Bei Google findet man die Druckversionen im Index, außerdem sind die “besseren Preis gefunden”-Seiten mit knapp 5.000 Seiten auch bei Google vertreten: http://www.google.de/search?hl=de&q=site%3Ahttps%3A%2F%2Fwww.takatomo.de%2Fwebshop%2Fprice_inquiry.php%3Finfo%3D12229&sourceid=navclient-ff&rlz=1B3GGGL_deDE298DE298&ie=UTF-8 .

Die “products_new.php” erzeugt mindestens genausoviel duplicate Content. Auch hier gibt es wieder DC: https://www.takatomo.de/webshop/?cat=11561&sort=&XTCsid=5ff0464405781fbe1f65d3efcfcf58cb&filter_id=13, sogar mit Fehlermeldung.

Zunächst einmal sperren wir alle URLs mit einem Fragezeichen, da diese alle dynamisch erzeugt werden ohne sprechende URLs. Damit haben wir die meisten erwischt, was ziemlich praktisch ist! Es fehlt nun noch der duplicate Content, der durch die verschiedenen Verzeichnisse bzw. www oder https: gemacht wird. Diesen müssen wir in der .htaccess weiterleiten (kommt im nächsten Beitrag). Die Session ID’s müssen raus – das kann man bei XTCommerce direkt einstellen.

Lösung: Alles per robots.txt sperren, was nicht hier hin gehört.

User-agent: *
Disallow: /*?
Allow: /

Die 301er kommen dann wie gesagt nächstes Mal.

Text im Footer ooooo

Die Links ganz unten, die auf Kategorien zeigen sind ebenfalls sehr grenzwertig. Man kann sie kaum vom Hintergrund unterscheiden und für den User sind diese Links sicher nicht gedacht. Also einfach raus damit.

Im Footer wird zusätzlich Text zu bestimmten Produkten und Kategorien angezeigt. Lädt man die Seite neu, so taucht dort ein anderer Text auf, weil er automatisch und zufällig generiert wird. Problem: Der Googlebot sieht immer nur einen Text und wertet auch nur 1x die Links. Kommt er ein anderes Mal auf die Seite, so sieht er anderen Text und andere Links. Die Folge: Es gibt ein SERP-Roulette und Unterseiten schwanken stark hin und her, je nachdem ob sie gerade mal auf der Startseite waren als der Bot da war oder nicht. Übrigens wird ein solcher “Werbetext” nicht nur auf der Startseite, sondern auch auf jeder Produktseite und den Kategorieseiten dynamisch generiert – das ist aus SEO Sicht einfach nicht gut.

© 2009 TakaTomo.de ooo

Hier gibt es einen guten Kniff, namens “Aktuelle Seite”. Hier kann man den Title von XTCommerce noch einmal automatisch ausgeben lassen und so schlägt man zwei Fliegen mit einer Klappe. Zum Einen hat man immer den Title nochmal auf der Seite wiederholt, zum Anderen wiederholt man ihn am Ende der Seite, was rankingtechnisch auch einen kleinen Vorteil bringt. Für die Seite https://www.takatomo.de/webshop/products/de/Restposten/Handtasche-von-ReBagz-orange.html könnte es also “© 2009-10 TakaTomo.de – Aktuelle Seite: Handtasche von ReBagz (orange)” heissen. So habe ich es etwa hier bei Seokratie im Footer und viele andere machen das auch. Es ist ja auch eine Zusatzinfo für die Leser! ;-)

Bevor allerdings nicht die richtigen Title gemacht wurden, sollte man das als “gemerkt” abspeichern und erst später umsetzen.

Interne Verlinkung Startseite oooo

Ich finde 151 interne Links auf der Startseite. Das ist für diese Webseitengröße viel zu viel. Auch für den Benutzer ist das schlecht: Wo soll er hinklicken? Ich persönlich würde die 2×6 Artikel unten komplett weglassen (bzw. max insgesamt 2 ausgewählte Artikel) und die Seite nach einem kurzen Text recht schnell unten abschließen lassen. Niemand scrollt gerne übermäßig lange – die Seite sollte so kompakt wie möglich sein. Über die Startseite wird sowieso noch einiges geschrieben.

Ich hoffe, dass euch der Artikel gefallen hat. Wenn ihr Ergänzungen oder Kritik zu den obigen Sachen habt, dann nur her damit. Das war auch nur der Anfang, also bitte schreibt nichts über andere Onpage-Maßnahmen, da diese in den nächsten Artikeln besprochen werden. Ich habe mir da einiges aufgehalst und werde bestimmt auch einiges übersehen. Momentan muss man erst mal den groben Schmutz entfernen, dann geht es an die Feinheiten. :-)

Beitrag teilen:

Über den Autor

Julian Dziki ist SEO, Online Marketer und Affiliate seit 2007. Suchmaschinenoptimierung München

16 Kommentare

  • Servus Julian,

    super Beitrag! Endlich liest man mal anhand nem konkreten Projekt was an einer Seite aus Sicht eines Seos verbesserungswürdig ist. Gefällt mir!

    Viele Grüße

    Robbie

  • Tom

    Alle URL’s mit Fragezeichen würde ich nicht sperren. Dann sperrst du bei xt-commerce auch die Hersteller Seiten unter index.php?manufacturers_id=XXX auch aus. Wenn man die ein wenig geschickt gestaltet, kann man mit der Seite bei den Markennamen gut ranken.
    Prinzipiell muss man aber sagen, das die Meta-Tags Erzeugung bei xt-commerce grottenschlecht ist. Da kann man vieles besser machen und gut automatisieren.

  • Seokai

    Netter Beitrag :)
    immer fein ein konkretes Beispiel zu sehen.
    XTC ist aber auch fies zu bändigen aus SEO-Sicht!

  • Ich schließe mich dem ersten Kommentar an. Sowas zu lesen hat mal richtig Hand und Fuß und ist nicht nur abstraktes SEO Gerede.

    Schönes Ding!

    P.S.: Mir fällt grad auf, dass sowas ein ganz schon allgemeiner Text für ein Kommentar ist und wie ein Spamkommentar klingt. Habs aber wirklich gelesen und mein Kommentar ist auch 100% so gemeint :)

  • Tom

    Noch ein kleiner Nachtrag zu groß und Kleinschreibung in den Links. Das “Problem” haben auch sehr viele große Sites. Das kriegt man auch nicht wirklich in den Griff.

    Die Frage müsste deshalb lauten: Ist das wirklich ein Problem? Eigentlich müsste Google dieses Problem doch kennen und selbst lösen können.

    Alternative wäre:
    # httpd.conf
    RewriteMap tolower int:tolower

    # .htaccess
    RewriteRule ^([^A-Z]*)([A-Z]+)([^A-Z]*) /$1${tolower:$2}$3 [R=301]

    Klappt aber bei bei den meisten Hosting Angeboten wohl nicht, da die Funktion tolower nicht aktiv ist.

  • Ich glaube, diese Seiten “http://www.takatomo.de/Darfur/” etc. sind mißglückte Doorway-Pages. Da hat sich mal jemand dran versucht. Ganz unten findet man einige schwach zu lesende Links. Mit “Refresh = 0″ bringt das natürlich null, nix, nada.

    Richtig, Sonderangebote unten und “Neuheiten” unten ganz raus, bzw. auf je 2 reduzieren.

    Die “Wir führen Artikel folgender Marken” gibt Links zu allen einzelnen Marken aus. Ich würde das komplette Bild einfach mit dem Link zu “alle Marken” verbinden. Denn, die einzelnen Marken sind ja schon unter Kategorien einzeln angelinkt.

    Kannst Du den Trick: “Hier gibt es einen guten Kniff, namens “Aktuelle Seite”. Hier kann man den Title von XTCommerce noch einmal automatisch ausgeben lassen”
    mal näher erläutern? Wie setzt man das technisch für xt:commerce um?

    Ansonsten: Sehr spannend, und ich freue mich schon auf Teil 2.

    Gruß,
    Manuel

  • Julia

    Kann mich Manuel nur anschließen:
    Kannst Du den Trick: “Hier gibt es einen guten Kniff, namens “Aktuelle Seite”. Hier kann man den Title von XTCommerce noch einmal automatisch ausgeben lassen”
    mal näher erläutern? Wie setzt man das technisch für xt:commerce um?

    Ansonsten ein super Artikel. Merci!!

  • Julian

    Aktuelle Seite:

    < ?php

    if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {

    if ($product->isProduct()) {
    ?>

    < ?php echo $product->data['products_name'].' | '.$product->data['products_meta_title'].' '.$product->data['products_model']; ?>

    < ?php

    } else {
    ?>

    DEIN STARTSEITENTITEL
    < ?php

    }

    } else {
    if ($_GET['cPath']) {
    if (strpos($_GET['cPath'], '_') == '1') {
    $arr = explode('_', xtc_input_validation($_GET['cPath'], 'cPath', ''));
    $_cPath = $arr[1];
    } else {
    //$_cPath=(int)$_GET['cPath'];
    if (isset ($_GET['cat'])) {
    $site = explode('_', $_GET['cat']);
    $cID = $site[0];
    $_cPath = str_replace('c', '', $cID);
    }
    }
    $categories_meta_query = xtDBquery("SELECT categories_meta_keywords,
    categories_meta_description,
    categories_meta_title,
    categories_name
    FROM " . TABLE_CATEGORIES_DESCRIPTION . "
    WHERE categories_id='" . $_cPath . "' and
    language_id='" . $_SESSION['languages_id'] . "'");
    $categories_meta = xtc_db_fetch_array($categories_meta_query, true);
    if ($categories_meta['categories_meta_keywords'] == '') {
    $categories_meta['categories_meta_keywords'] = META_KEYWORDS;
    }
    if ($categories_meta['categories_meta_description'] == '') {
    $categories_meta['categories_meta_description'] = META_DESCRIPTION;
    }
    if ($categories_meta['categories_meta_title'] == '') {
    $categories_meta['categories_meta_title'] = $categories_meta['categories_name'];
    }
    ?>

    < ?php echo $categories_meta['categories_meta_title']; ?>
    < ?php

    } else {
    if ($_GET['coID']) {
    $contents_meta_query = xtDBquery("SELECT content_heading
    FROM " . TABLE_CONTENT_MANAGER . "
    WHERE content_group='" . $_GET['coID'] . "' and
    languages_id='" . $_SESSION['languages_id'] . "'");
    $contents_meta = xtc_db_fetch_array($contents_meta_query, true);

    ?>

    < ?php echo TITLE.' - '.$contents_meta['content_heading']; ?>
    < ?php

    } else {
    ?>

    DEIN STARTSEITENTITEL
    < ?php

    }
    }
    }
    ?>

  • Julian

    Ich hoffe, das ist so richtig. Wenn man das in den Footer kopiert, sollte es funktionieren. Das “DEIN STARTSEITENTITEL” durch den Title der Startseite ersetzen.

  • shan_dark

    Danke, ein sehr guter Beitrag – einiges gelernt. Warte gespannt auf Fortsetzung.

  • Hab mir die Tipps mal ausgedruckt. Vielen Dank!

  • Hallo allerseits,

    unser Blog blog.fotoquip.de – Fotografie ist unsere Leidenschaft existiert seit Anfang Februar und ist bislang noch als unranked klassifiziert.

    Seit einer Woche ist er auch für spezielle Blog Suche angemeldet, die Beiträge und Artikel selbst tauchen gegenwärtige allerdings noch nicht in der Blogsuche selbst auf.

    Nun meine Frage an Euch: Wie lange dauert es erfahrungsgemäß bis ein Blog mit seinen Artikeln einerseits in der speziellen google Blogsuche erscheint und wie lange dauert es bis ein entsprechender Pagerank vergeben wird? Ich habe gelesen, dass dies durchauch 6-8 Wochen dauern kann – ist dem tatsächlich so?

    Vielen Dank für eure hilfreichen Infos!

    Viele Grüsse
    fotoquip

  • lauer

    @Julian,
    leider funktioniert das obige script nicht richtig, es kommt ein undefinied token { Fehler.
    Was mache ich falsch?

  • Beim Siteklinkbeitrag konnte ich wieder etwas dazu lernen. Danke & Grüße Steffen

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>