27
Okt.
Abgelegt in: MIX

Deutlich früher als geplant starte ich meinen Blog zum Thema ECommerce und Suchmaschinenoptimierung. Auf die Gründe werde ich im Laufe der Zeit noch genauer eingehen.

Worum soll es hier eigentlich gehen?
ShopSEO.de richtet sich vornehmlich an Shopbetreiber oder solche, die es noch werden möchten. Hier werden technische Fragen genauso aufgenommen wie Aspekte des Marketings im Internet. Im Fokus stehen vorerst Shopsysteme wie OSCommerce und entsprechende Ableger (XT:Commerce oder Zen Cart). Es sollten zukünftig speziell für diese OpenSource – Shopsysteme technische Möglichkeiten aufgezeigt werden, die Performance im Bereich des Marketings und der Ergonomie für Endnutzer zu verbessern. Theoretische Themen werden neben technischen Erweiterungen ebenso beleuchtet.

Das Ziel: Der Text einer EMail (bei Statusänderungen) innerhalb von osCommerce soll angepasst werden.
Das Problem: osCommerce versendet EMails standardgemäß als reinen Text. Nun gibt es diverse Erweiterungen, die es uns ermöglichen, mit releativ niedrigem Aufwand auch HTML – Mails zu erstellen.

Meine genutzte osCommerce Contribution ermöglicht aber nur die Anpassung der Bestellbestätigung. Will man den Kunden per EMail über den Status der Bestellung informieren, werden wieder Text-Mails verwendet. Hier soll aber ebenfalls eine HTML – EMail mit hübschem Briefkopf versendet werden.

Wo wird die Mail erstellt?

Zuerst einmal müssen wir den Code finden, der uns die Statusmail erzeugt. Die relevante Datei ist [katalog-root]/admin/orders.php. Den Code finden wir in dieser Datei hinter:

if ( ($check_status['orders_status'] != $status) || tep_not_null($comments)) {
          tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . (int)$oID . "'");

und vor:

tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($comments)  . "')");

Mit der Suchfunktion einer guten IDE sollten wir den für uns interessanten Bereich so schnell finden.

Wo sind die Kommentare?

Nicht vorhanden :-| Nun geht es also daran, die Codezeilen genauer unter die Lupe zu nehmen, zu kommentieren und evtl. zu separieren. Wenn wir hier zusätzlich HTML – Elemente einbringen wollen, tut das der Übersicht sichtlich gut. Ein Ergebnis des formatierten Original-Codes könnte sein:

// BOF EMAIL - UPDATE ORDER
          $customer_notified = '0';
          if (isset($HTTP_POST_VARS['notify']) && ($HTTP_POST_VARS['notify'] == 'on')) {
            $notify_comments = '';
            if (isset($HTTP_POST_VARS['notify_comments']) && ($HTTP_POST_VARS['notify_comments'] == 'on')) {
              $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
            }
			// construct mail content
			// --- storename
            $email = STORE_NAME . "\n"; 
            // --- seperator
            $email .=EMAIL_SEPARATOR . "\n"; 
            // --- order-number
            $email .= EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n";
            // --- account history url
            $email .= EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n";
            // --- order date
            $email .= EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n";
            // --- comments (see code above )
            $email .= $notify_comments;
            // --- new status
            $email .= sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);
			// send mail
            tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
            $customer_notified = '1';
          }
          // EOF EMAIL - UPDATE ORDER

Jetzt haben wir eine gute Ausgangslage, um Änderungen und Ergänzungen am Code vorzunehmen. Um die Standard-Funktionen von osCommerce später wiederherzustellen, empfiehlt es sich an dieser Stelle ein Backup der Codezeilen anzulegen.

Wer bis zu diesem Punkt gelesen (und verstanden) hat, sollte ohne Probleme HTML – Elemente nach seinen Bedürfnissen einfügen können. Daher sei hier auf ein Code-Beispiel verzichtet, da es zu sehr auf die Anforderungen meiner osCommerce Installation eingeht.

Diesen Artikel habe ich bereits in ähnlicher Form im Februar 2007 in meinem Meta-Blog veröffentlicht. Durch die thematische Neuausrichtung zieht er nun auf ShopSeo.de um.

Mit dem eigenen Produktangebot auf der ersten Seite der Google Suchergebnisse gelistet werden? Die Google Produktsuche machts möglich. In diesem Artikel soll gezeigt werden, wie man eine hohe Platzierung seiner Produkte mit einfachsten (und kostenfreien) Bordmitteln bewerkstelligt.

Google Product Search aka Google Base aka Froogle

Die Google Produktsuche ist ein kostenfreier Produktsuch- und Preisvergleichsdienst, der früher unter dem Namen Froogle (mehr oder weniger) bekannt war. Dabei ist der Dienst für Händler und Kunden kostenfrei. Interessant wird die Google Produktsuche gerade, wenn es um „normale“ Google Suchergebnisse geht: Ergebnisse aus der Google Produktsuche werden, wie im folgenden Screenshot gezeigt, in die normalen Google Suchergebnisse eingebunden.

Google Produktsuche

Die ersten 3 Ergebnisse sind gekaufte AdWords Anzeigen. Schon danach folgt der Link „Produktsuchergebnisse für …“ und eine (eventuell gekürzte) Liste der passenden Produkte in der Google Datenbank. Wie man vielleicht auf dem Bild erkennen kann, werden die Produkte nach Preis sortiert. Ein günstiger Preis hilft also dabei, weit oben gelistet zu werden. Erst nach der Werbung und den Ergebnissen der Produktsuche schließen sich die normalen Suchergebnisse an. Man sieht: auf dieses Marketinginstrument für eCommerce Systeme sollte man auf keinen Fall verzichten.

Wie werden Produkte in Google Base integriert?

Hierzu müssen wir uns zunächst bei Google Base anmelden. Google bietet zum Ablauf der Registrierung und dem später notwendigen Bulk Upload eine gute Dokumentation an. Eine kurze Zusammenfassung der Schritte:

  1. Wir erstellen für unseren Shop ein Konto bei Google Base
  2. Wir formatieren unsere Produkte … besser gesagt: wir erstellen eine für Google Base angepasste Liste des Produktsortiments.
  3. Wir senden diese Produktliste an Google bzw. legen sie in unserem Google Account ab.

Punkt 2 sollte uns zu denken geben: Produktliste erstellen. Zum Glück gibt es Tools, die uns zeitraubende Handarbeit abnehmen und die Listen für Google Base automatisch bzw. auf Knopfdruck erstellen. Eine passende Contribution für osCommerce soll folgend vorgestellt werden.

Google Base / Froogle Data Feeder für osCommerce

Diese Contribution ermöglicht es, Produktlisten für Google Base aus der Adminoberfläche von osCommerce zu erstellen. Nach dem kostenlosen Download benötigt man etwa 10 Minuten Zeit, um die Contrib in den bestehenden osCommerce Shop einzubinden. Nun können wir per Knopfdruck Produktlisten für Google Base erstellen. In meiner Konfiguration wird eine Textdatei erstellt, die mittels Browser abgerufen werden kann. Weiter geht es mit dem Upload dieser Datei in unser Google Base Konto.

Natürlich können auch andere Programme zur automatischen Erstellung der Produktlisten genutzt werden. Die Beschränkung auf osCommerce erfolgt aus praktischen Gründen: diese Contribution ist zusammen mit osCommerce 2.2 produktiv getestet und funktioniert ohne Fehl und Tadel.

Bulk Upload der Produktlisten

Ich rate unbedingt dazu, noch vor dem Upload der Produktliste deren Richtigkeit zu prüfen. Google validiert jeden Upload, und das kann durchaus einige Stunden in Anspruch nehmen. Spätestens an diesem Punkt sollten wir einen Blick in die Google Base Programmrichtlinien werfen.
Der eigentliche Upload sollte ohne Probleme verlaufen, eine illustrierte Anleitung zum Bulk Upload liefert die Google Base Hilfe.

Am Ende sollten alle Shopartikel in unserem Google Base Konto erscheinen und somit bei der Produktsuche gefunden werden. Ein wichtiger Hinweis: bei der hier aufgezeigten Methode laufen die Artikel nach 30 Tagen ab. Danach muß die Prozedur wiederholt werden. Die Möglichkeit der Verwendung eines RSS-Feeds wurde noch nicht geprüft und wird eventuell zu einem späteren Zeitpunkt vorgestellt.

Diesen Artikel habe ich bereits in ähnlicher Form im Juni 2007 in meinem Meta-Blog veröffentlicht. Durch die thematische Neuausrichtung zieht er nun auf ShopSeo.de um.
12
Aug.

osCommerce 2.2 bietet von Hause aus leider keine Möglichkeiten, Inhalte außerhalb der Produktseiten komfortabel zu verwalten. Gerade teste ich eine Contribution, die Elemente eines Content Management Systems in OSCommerce integriert. Hier wird auf diese Contribution verwiesen und ein kleiner Workaround zur einfachen Erstellung und Verwaltung von Kategoriebeschreibungen vorgestellt.

Motivation zur Nutzung eines CMS

Hier beschränke ich mich auf den konkreten Anwendungsfall. Ein „nackter“ OSCommerce-Webshop bietet auf der Seite der Kategorie nur eines: eine Auflistung der Produkte eben dieser Kategorie nebst Bildvorschau und Preis. Für Suchmaschinen sind sicherlich die Produktnamen interessant, optimal wäre an dieser Stelle ein einführender Text, der unsere Keywords für die Produktgruppe aufnehmen kann.

OSCommerce ist hier „nicht besonders“ sauber strukturiert, wird doch die Produktübersicht mitten in der index.php generiert. Ohne zu viel am System zu verändern, müsste die Kategorie hier jeweils abgefragt und der entsprechende Text in den Quelltext eingepflegt werden. Meine Lösung benötigt nach der Installtion der CMS Contribution ca. 5 Codezeilen.

osCMS v0.1.1

Eben diese Contribution müssen wir installieren. Zu finden ist sie unter den Contributions auf oscommerce.com. Aus der Beschreibung des Autors:

This contribution is the very simple but powerful osCommerce Content Management System. It allows to define and modify text on osCommerce shop pages to end-user .
For the first time it can do very simple content management but a lot of userfull features can be added in the next versions.

Gefühlte 10 Minuten sollte man für die Installation übrig haben. Wer es auf Adminseite deutsch mag, muss noch etwas an den Sprachdateien basteln, sollte aber kein Problem darstellen.
Also Vorgehen wie üblich: Backup, Installationshinweise lesen, loslegen, [ Backup einspielen, optional ;) ].
Hat alles geklappt, haben wir in der Admin-Oberfläche nunmehr einen Unterpunkt, wo wir Textbausteine anlegen und benennen können.

Textbausteinen anlegen und ausgeben

Der Menupunkt „Content management“ ist wie die Artikelverwaltung von OSCommerce aufgebaut. Das Benutzen sollte somit kein Problem darstellen. Wir legen einen neuen Textbaustein mit „Einfügen“ an, benennen diesen (z.B. „CMSTest1“) und fügen Inhalte ein (z.B. „Ein kurzer Test zur Nutzung von osCMS v0.1.1 in OSC!“). HTML Elemente sind möglich, einen Editor bleibt der Autor schuldig, wer mag kann die Contribution natürlich entsprechend erweitern.

Wie geben wir nun diesen Datensatz aus?
Folgende Codezeile in die entsprechenden PHP-Datei einfügen, und schon wird der eben angelegte Text ausgegeben:

<?php 
   echo tep_get_cms_content('CMSTest1');     
?>

Mehr brauchen wir in diesem Kontext nicht zu wissen. Nun geht es daran, die Shop-Kategorien zu beschreiben.

Kategoriebeschreibung mit 5 Zeilen

Schauen wir uns die index.php genauer an. Nach folgendem Code Ausschau halten:

   <php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?>

Dieser gibt die Produktliste der Kategorie aus. Davor wollen wir unsere Kategoriebeschreibungen platzieren. Also einen entsprechenden Container schaffen (bei mir ist es einfach eine Tabellenzeile nebst TD, die ich nach dem Heading der Seite eingefügt habe) und folgendes PHP-Snipet darin einbetten:

 <?php
            /*
            Category Description
            */
            if (isset($cPath))
	   {
                 // start of the cms container
                 echo '<div class="cat_desc">';
                 // now build the caption for the CMS textblock
                 $strCatDescCMSCaption = 'CMSCatDesc' . $cPath;
                 // echo the cms cat block
                 echo tep_get_cms_content($strCatDescCMSCaption);
                 // close container
                 echo '</div>';
            }
            ?>

Was macht das Snipet nun? Es baut aus der numerischen $cPath Variablen der Kategorie einen Namen für den CMS-Block zusammen und gibt diesen schließlich aus.

Wir benötigen jetzt natürlich noch die entsprechenden Textblöcke. Diese wie weiter oben beschrieben anlegen und entsprechen benennen: als Präfix habe ich „CMSCatDesc“ gewählt … ein korrekter Name für eine Kategorie mir dem cPath 44 wäre also „CMSCatDesc44“. Hier die Beschreibung der Kategorie vornehmen, und schon sollte alles wie gewünscht angezeigt werden.

Existiert kein entsprechend benannter Textbaustein im CMS, wird nichts ausgegeben. Den cPath der Kategorie kann man bspw. der Adresszeile des Browsers entnehmen.

Einschränkungen

  • Mehrsprachigkeit ist nicht eingebaut
  • Unterkategorien nicht beachtet Update: Verschachtelung von Kategorien ist kein Problem. Hier wird, zumindest bei meiner OSCommerce Installation, der cPath in der Form „56_57“ erzeugt. Diese Zeichenkette wieder an „CMSCatDesc“ anhängen, und auch eine Unterkategorie kann beschrieben werden.
Diesen Artikel habe ich bereits in ähnlicher Form im Juli 2007 in meinem Meta-Blog veröffentlicht. Durch die thematische Neuausrichtung zieht er nun auf ShopSeo.de um. Einige Textpassagen wurden angepasst.

Inspiriert durch die Tipps zu Preisvergleichsdiensten werden hier einige wichtige Punkte zu Produktbeschreibungen in Onlineshops. SEO – Aspekte spielen hierbei eine untergeordnete Rolle, hier geht es zur Abwechslung vorrangig um Tipps für kundennahe Inhalte. Wir wollen mit einer guten Produktbeschreibung einen Mehrwert für den Kunden schaffen.

1. Einleitende Beschreibung
Zu Beginn sollte immer eine aussagekräftige Beschreibung des Produkts angeboten werden. Das können ruhig Werbetexte der Hersteller sein. Dazu einfach auf Herstellerseiten nach Produktbeschreibungen suchen. Übertreiben muß man hier nicht: 5-10 Sätze stellen ein gutes Maximum dar. Natürlich ist hier auch auf die Keyword – Dichte des Textes zu achten, der Inhalt sollte aber auch für menschliche Nutzer leicht zugänglich und wohlklingend sein. Also auch ruhig Synonyme verwenden.

2. Wichtige Punkte in Listenform
Besonderen Highlights kann man in Form von Listen angeben. Der Nutzer hat so einen schnellen Überblick über die Besonderheiten und Vorzüge des Produktes. Hier sollte man sich auf die wichtigsten Punkte beschränken. Auch Wiederholungen aus der einleitenden Beschreibung sind denkbar: sie geben Fakten aus Sätzen nochmal kurz wieder und steigern evtl. die Keyworddichte auf der Artikelseite.

3. Artikelattribute und technische Details
Alle bekannten Eigenschaften eines Artikels sollten auch genannt und ggf. wie unter Punkt 2 in Listenform wiedergegeben werden. Unter einem Abschnitt „technische Details“ können beispielsweise die Maße oder das Artikelgewicht auftauchen. Letzteres ist wichtig, wenn nach Gewicht versandt wird.

4. Abbildungen
Aus Kundenperspektive extrem wichtig, für Shopbetreiber sicherlich ein aufwendiger Aspekt. Man sollte im Shopsystem unbedingt eine leistungsfähige Bilderverwaltung integrieren, die auch mehrere Abbildungen für ein Produkt zuläßt. Hier unbedingt den Ladevorgang beim Endkunden bedenken: Vorschaubilder sind bei einer hohen Anzahl von Produktbildern Pflicht. Bei der Verwendung von Herstellerbildern auch die Dateigröße überprüfen. Lassen sich Bilder evtl. noch weiter komprimieren?

5. Links zu Zubehör
Verweise auf passendes Zubehör sollte man in die Beschreibung aufnehmen. Existieren zu viele Zubehörartikel, sollte man zumindest einen Link auf die entsprechende Kategorie setzen.

6. Links zum Hersteller
Viele Hersteller bieten umfassende Informationen zu einzelnen Produkten oder Produktlinien an. Ein Link zum Hersteller hilft dem Kunden bei der Entscheidung. Hier sollte man auch etwas Zeit investieren und vorarbeiten: falls vorhanden, direkt auf die Seite verlinken, wo das entsprechende Produkt beschrieben wird.

7. Ähnliche Artikel
Man kennt es aus „großen“ eCommerce Plattformen: „Kunden die diesen Produkt gekauft haben, haben auch folgendes gekauft …“. Auch freihe Shopsysteme wie osCommerce bieten solche Funktionen an, diese sollte man auch rege nutzen.

8. Dokumente anbieten
Einige Hersteller bieten Dokumente zu Produkten zum Download an. Hier kann es sich beispielsweise um Anleitungen oder Prospekte handeln. Diese direkt verlinken oder nach Absprache auf dem eigenen Server hinterlegen.

9. Bewertungen und Testberichte
Andere Kundenmeinungen können integriert werden. Hierdurch kann sich der Kunde ein unabhängigen Überblick über bisherige Erfahrungen verschaffen. Shopsystem wie osCommerce integrieren bereits umfangreiche Bewertungssysteme, aber auch unabhängige Plattformen wie Ciao.de oder Testberichte.de gilt es zu durchsuchen. Hier sollte man eine konsequente Linie verfolgen: Kunden werden evtl. mißtrauisch, wenn nicht zu jeden Produkt ein Testbericht vorhanden ist. In diesem Fall mit einem kurzem Text darauf hinweisen, dass noch kein Test zu diesem Produkt vorhanden ist. Von Zensur ist abzuraten: wenn ein Produkt durchweg negativ bewertet wurde, liegt die Frage nahe, ob man es denn überhaupt anbieten sollte.

10. Copyright beachten!
Bei der Verwendung von Inhalten Dritter (in unserem Falle meist der Hersteller) ist unbedingt Rücksprache mit dem Rechteinhaber zu halten. Eine gut formulierte und persönliche Email an den Herstellersupport mit Link auf die eigene Shopseite schreiben und um die Erlaubnis zur Verwendung von Bildern und Texten bitten. Auch beim Anbieten fremder Dokumente nachfragen, ob man den Inhalt auf den eigenen Seiten ablegen oder evtl. Prospekte scannen und anbieten darf. Wird die Verwendung untersagt, heißt es eigene Inhalte zu schaffen.

Alle Punkte sind natürlich auch aus der Sicht des Webdesigners zu betrachten. Realisieren wir alle oben genannten Punkte, haben wir üblicherweise eine Menge Inhalt, der irgendwie auf eine Seite gebündelt werden muß. Hier kann man sich ruhig ein Beispiel an etablierten eCommerce Plattformen nehmen und sich von deren Seitenaufbau inspirieren lassen.

Diesen Artikel habe ich in ähnlicher Form bereits im Mai 2007 in meinem Meta-Blog veröffentlicht. Durch die thematische Neuausrichtung zieht er nun auf ShopSeo.de um.