Shoppingportal

Die ersten “Einnahmen”

Als ich mich heute in den Adminbereich des aktuellen Scriptes eingelogt habe, sah ich das der aktuelle Kontostand die ersten 0,10€ anzeigte. Das ist mein erstes im Internet verdientes Geld. Diese Einnahmen sind laut Monatsauswertung am 31.5.09 entstanden. Das ist doch ein Grund mehr den Aufbau des neuen Shoppingportals wesentlich schneller voranzutreiben. :-)

Update: 17.6.2009

Mittlerweile sind aus den 0,10€ stolze 0,80€ geworden. :-)
Bisher stammen die Einnahmen ausschließlich von E-Bay.

Aber immerhin scheint es langsam die Tendenz anzunehmen das sich der Domainname bereits für diesen Monat bezahlt machen könnte. Alles in allem kostet mich dieser Webauftritt monatlich knapp 4€. Da ich mittlerweile auch der Ansicht bin das Google wohl Monate braucht um die Seite einmal zu indizieren habe ich aber noch die Hoffnung das  sich das ganze Projekt früher oder später finanziell selbst tragen wird.

Tags: , , ,

No Comments

Google und Duplicate Content

Mittlerweile habe ich etliche GoogleBot-Besuche im Log entdeckt, die schlimmes ahnen lassen.

Dublicate Content!

Nachdem ich mir mal die Treffer zur Suchanfrage site:www.preiskuenstler.de etwas genauer angesehen habe mußte ich feststellen das fast alle Links zu nicht vorhandenen Artikeln oder anderen “toten” Seiten führten. Danach wollte ich wissen was es neues zu meinem Blog gibt und habe mit site:blog.preiskuenstler.de den Status aufgerufen. Es wurden alle vorhandenen Seiten in den Index aufgenommen. Der momentan gravierendste Unterschied is die Art des Content. Bei dem Shoppingportal teile ich mir die Produktdaten mit zig anderen Shops. Da meine Domain noch neu und ein PageRank nicht vorhanden ist, sind die doppelten Produktdaten für Google nicht relevant und landen somit nicht im Index. Aber immerhin wird bei beiden Seiten PageRank 0/10 statt “keine Infos” angezeigt.

Die einzige wirkliche Abhilfe ist es Unique Content auf möglicht vielen Seiten zu platzieren. Diese Inhalte sollten das jeweilige Produkt möglichst gut umschreiben. Auf die Schnelle kann man sich entweder hinsetzen und alles selber schreiben und/oder sich Unique Content kaufen. Ich werde mich wohl hinsetzen und etliche Stunden mit Textbastelein zubringen müssen. Aber wie ich mich kenne, fällt mir wärend dieser Tortur bestimmt eine Lösung ein wie man sowas automatisieren könnt. Ist ja nur eine Frage um was für Daten es sich handelt und wie man sie am sinnvollsten miteinander verknüpft.

Tags: , , , ,

No Comments

Die Arbeit mit den Kategorien

Am Beispiel der Nested Sets habe ich mir eine Tabelle “kategorien”mit folgenden Datenfeldern erstellt: idMainKat, nameMainKat, idParentKat, AnzahlSubKat, idSubKat1, nameSubKat1,idSubKat2, nameSubKat2, …

iDMainKat — Primärschlüssel
nameMainKat — Name der Kategorie
idParentKat — Übergeordnete Kategorie
AnzahlSubKat — Anzahl der Unterkategorien
idSubKat1 — idMainKat Adresse der Unterkategorie
nameSubKat — Name der Unterkategorie

Der Sinn des Ganzen ist es das ich nur eine Zeile, dessen id bekannt ist, aus der Datenbank abrufen muß und gleich sämtliche Subkategorien und deren id’s habe.

Eine reine Datenbankabfrage mit Subkategorien demonstriere ich hier.
Wobei ich bei Vergabe der Verzeichnissbezeichnungen nicht sonderlich kreativ war. :)

Für die Produktdaten habe ich die Shopdatenbank nur um eine Spalte “idVerzeichniss”, mit der das Produkt einem Verzeichniss zuordnet wurde, erweitert.

Das Script das noch zusätzlich ein paar Produkte in der jeweiligen Kategorie anzeigt findet ihr hier. Über die Bilder gelangt ihr zur Shopseite des Produktanbieters. In diesem Fall Quelle. Da dieses kleine Beispiel nur zeigen soll das es funktioniert, habe ich  auf weiter Detailfelder wie z.B. die Produktbeschreibung verzichtet

Dieses Codeschnipsel ist dafür zuständig das beim Aufrufen der index.php ohne ?Kat1… die Produkte des Wurzelverzeichnisses angezeigt werden.

$sql = “SELECT * FROM produkte_version_1 WHERE idVerzeichniss=1 LIMIT 3″;
$ergebniss = mysql_query( $sql );
echo ‘<table border=”1″>’;
echo “<tr>”;
echo “<td></td>”;
echo “<td> Verzeichniss 1 </td>”;
echo “<td></td>”;
echo “</tr>”;
while($zeile = mysql_fetch_assoc( $ergebniss )){
echo “<tr>”;
echo “<td>”.$zeile['Title'].”</td>”;
echo “<td> <a href=\”".$zeile['Deeplink1'].”\”><img src=\”".$zeile['img120_url'].”\”</td>”;
echo “<td>”.$zeile['DisplayPrice'].”</td>”;}
echo “</tr>”;
echo “</table>”;

Somit ist es mir immerhin schonmal möglich Daten in eine Datenbank zu bekommen und diese auch wieder auszugeben. Als nächstes will ich das Frontend für die Benutzer soweit hinbekommen das diese sich die angebotene Auswahl an Produkten anschauen können und auf die Seite des Shops weitergeleitet werden.

Bei all der Programmiererei ist mir aufgefallen das man 2 Dinge besonders beachten sollte. Den Code unbedingt sauber halten und Code-Abschnitte entsprechend kommentieren! Sonst kann es passieren das man seinen eigenen Code nicht mehr kapiert. :-D

Tags: , , , ,

No Comments

Das PHP-Script um CSV-Daten in MySQL zu speichern

<?php
/*
Die Datenbank und Tabelle mit den jeweiligen Spalten muß bei diesem Script bereits existieren.
*/

$db_Hostname   = “localhost”; //Die Adresse des Datenbankservers
$db_UserName   = “Name”; //Der Benutzername am Server
$db_Password   = “Password”; //Das Passwort am Server
$db_Database   = “Datenbank”; //Die zu öffnende Datenbank
$db_Terminated = “;”; //Trennt die einzelnen Datenfelder in der CSV-Datei
//Die Datenfelder sind zusätzlich in ” eingeschlossen
$db_File             = “CSV-Dateiname”; //Der Pfad und Dateiname zur CSV-Datei
$db_Table   = “table”; //je nachdem wie die Tabelle in die die Daten sollen heißen soll

// Connect zur Datenbank
mysql_connect($db_Hostname, $db_UserName, $db_Password) || die(“Can’t Connect to Database: “.mysql_error());
mysql_select_db($db_Database);

// Bisherige Daten aus der Datenbank löschen
$del = “DELETE FROM “.$db_Table;
mysql_query ($del);

// CSV-Datei in die Datenbank übertragen
$sql = “LOAD DATA INFILE ‘$db_File’ REPLACE INTO TABLE “.$db_Table.” FIELDS TERMINATED BY ‘$db_Terminated’ OPTIONALLY ENCLOSED BY ‘\”‘ IGNORE 1 LINES”;
mysql_query ($sql);

?>

Tags: , , ,

1 Comment

Die Entstehung eines Shoppingportals

Seit ca. einem Monat beschäftige ich mit Preissuchmaschinen, Produktsuchmaschinen und Shoppingportalen.

Die erste Frage die sich mir dabei stellte war “Gibts das auch fertig?”. Ich bin dabei auf viele verschiedene PHP-Scripte gestoßen, die zwar alle mehr oder weniger funktionierten, aber nichts für mich waren. (Aktuell läuft eines dieser Scripte unter www.preiskuenstler.de) Da mir keine der Versionen auch nur annähernd das boten was ich benötige habe ich mich entschlossen das Shoppingportal von Grund auf aufzubauen. Das Grundprinzip und die Funktionen eines Shoppingportals sind klar, weswegen ich mich nur noch um die “Feinarbeit” kümmern muß.  Kurzfristig will ich mit einem Büchershop eine kleine aber funktioniernende Steite aufbauen. Das soll aber nicht heißen das es in ein paar Tagen erledigt ist. ;-)

Als ich mit dem Projekt begonnen  habe, hatte ich weder Ahnung von PHP noch wie ich anfangen sollte. ^^

Woher kommen meine Produktdaten und was mache ich damit?

Ich beziehe meine Produktdaten von Affili.net. Anfangs reichen mir die Daten von buecher.de im CSV-Format mit allen von Affili.net angebotenen Produktdaten. Die Daten lade ich mit einem PHP-Script in eine vorbereitete MySQL-Datenbank. Das gute an einer eigenen Datenbank sind:

- Sie kann auf einem seperaten Server laufen und ist nahezu beliebig skalierbar.

- Sie unterstützt viele verschiedene Arten von Suchanfragen.

Wie geht es nun mit den Daten in der Datenbank weiter? Ich will sie erstmal mit einer index.php die verfügbaren Kategorien angezeigt bekommen. Wenn das soweit funktioniert, will 5 Produkte in den jeweiligen Kategorie angezeigen lassen.

Da sich anscheinend Nestet Sets zur Arbeit mit Kategoriebäumen eignen sollen, werde ich mich erstmal in das Thema einarbeiten. Das nächste Update gibts, sobald ich mich durch den Kategoriebaum klicken kann.

Bis dahin wünsche ich allen einen fröhlichen Männertag. ;-)

Tags: , , , , , , , , ,

No Comments