Willkommen bei ShopSEO.de - In diesem Weblog werden aktuelle Entwicklungen im Bereich Onlinemarketing und Suchmaschinenoptimierung aufgriffen und nebst gesammelten Erfahrungen des Autors möglichst praxisnah wiedergeben.

Die Bereiche Search Engine Optimization [ SEO ], Search Engine Marketing [ SEM ] und Social Media Optimization [ SMO ] sollen hier vorrangig unter den Gesichtspunkten von Onlineshops / E-Shops kleiner sowie mittelständischer Unternehmen und deren Anforderungen (sowie Schwierigkeiten) betrachtet werden.

Gästebuch für xt:Commerce und PHP5

Für einen xtCommerce Onlineshop musste ein Gästebuch integriert werden. Die Shopsoftware bietet von Hause aus keine solche Funktionalität an. Im Fundus von xtc-load.de fand ich die (scheinbar) optimale Lösung: Smart Guestbook für xt:Commerce 3.04 SP 2.1

Ein gut dokumentiertes Modul, welches in gefühlten 15 Minuten installiert ist. Danach fingen jedoch die Probleme an :)
Im Nachhinein steht fest: das Gästebuch hat so seine Probleme mit einer PHP5 Installation. Im erwähnten Onlineshop war nach der Installation kein Eintrag in das Gästebuch möglich. Jeder Eintrag wurde mit dem Hinweis zurückgewiesen, die Textangaben seinen nicht valide:

Das Kommentar Feld muss mindestens 25 Zeichen enthalten.
Ihr Name muss mindestens 4 Zeichen enthalten.
Bitte geben Sie eine gültige eMail-Adresse ein.

Die genannten Zeichen stimmten jedoch. Zusätzlich gab es eine PHP-Warnung in der Ansicht der Gästebucheinträge.
Nachfolgend einige Hinweise zur Korrektur der Fehlermeldung undder Fehlfunktion des Gästebuches.

Warning ‘Call-time pass-by-reference’ im Gästebuch

Wer PHP-Warnings im xt:Commerce nicht komplett abgestellt hat, wird auf der neune Gästebuchseite folgende Meldung sehen:

Warning: Call-time pass-by-reference has been deprecated - argument passed by value

Die Lösung: in der media/content/guestbook.php folgenden Codeblock ausfindig machen:

while ($guestbook = xtc_db_fetch_array(&$guestbook_query,true)) {
 $rows++;
 $module_content[]=array(
 'GUESTBOOK_AUTHOR' => $guestbook['visitors_name'],

Der Funktionsaufruf xtc_db_fetch_array(&$guestbook_query,true) ist in PHP5 als veralted gekennzeichnet und ruf die Warnung hervor. Eine Änderungen in xtc_db_fetch_array($guestbook_query,true) schafft Abhilfe. Mehr zum Hintergrund der Warnung.

Kein Eintrag ins Gästebuch möglich - $HTTP_POST_VAR

Nachdem die Warnung als Fehlerquelle ausgeschlossen werden konnte habe ich näher in den Code der guestbook.php debuged. Relativ schnell war die eigentlich Fehlerquelle ausgemacht: die Variable $HTTP_POST_VAR.

Die in diesem Array abgelegten Werte (in unserem Fall eben der Gästebuch-Eintrag, der Besuchername und die EMail-Adresse) stehen in PHP 5 nicht mehr zur Verfügung.

Die Lösung: in der guestbook.php müssen alle Vorkommen von $HTTP_POST_VAR durch $_POST ersetzt werden. Mehr zum Hintergrund gibt es bspw. hier. Selbiges sollte auch mit $HTTP_GET_VAR passieren. Alle Vorkommen sind mit $_GET zu erstetzen.

Update: Hape hat eine aktualisierte Version des Gästebuch-Scripts veröffentlicht. Mit dabei neben Captchas zum Schutz vor Spam ebenfalls die in diesem Beitrag vorgeschlagenen Bugfixes.

Update II: Wie im Kommentar zu lesen, hat Xantiva eine Sicherheitslücke im Guestbook gefunden. Den Code bitte entsprechend abändern.

xt:Commerce SQL-Fehler 1104 in advanced_search_result.php

Dieser Fehler in den Suchresultaten einer xt:Commerce 3.04 SP 2.1 Installation hat mich jetzt einige Nerven geskostet. Auf der Suchergebnisseite prangt in etwa folgende SQL-Fehlermeldung:

1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay

SELECT distinct p.products_id, p.products_price, p.products_model, p.products_quantity, p.products_shippingtime, […]

xt:Commerce Update von 2.0 RC 1.2 auf 3.04 SP 2.1

Der mühseelige Updatevorgang von XT:Commerce 2.0 RC 1.2 auf Version 3.04 SP 2.1 wird aufgezeigt. Mit Downloadmöglichkeiten der Updates und dem XT:Commerce 3.04 SP 2.1 Komplettpaket.

Best of E-Commerce

Beim stöbern durch del.icio.us bin vor einigen Tagen auf eine interessante Sammlung von Oberflächen und Bedienelementen von Onlineshops gestossen: ecommr.com

Hier kann sich der geneigte Designer und/oder Shopbetreiber inspirieren lassen: es werden diverse Elemente (mehr oder weniger) bekannter Onlineshops aus dem englischsprachigen Bereich vorgestellt. Landing-Pages, Produktlisten, Artikeldetails, Navigationselemente, Add-to-Cart Buttons - quasi aus allen Bereichen einens […]

Joomla 1.0.x SQL- und Datensicherung

Im letzen Post der Kategorie habe ich bereits darauf verwiesen, dass ich für einen Kunden an einer älteren Version von Joomla arbeite. Hierfür sollte nun einen Möglichkeite gefunden werden, Dateien und SQL-Tabellen komfortabel zu sichern. Üblicherweise bieten diverse Webhoster schon Verwaltungstools für automatisierte Backups an, nicht so 1und1.
Also muss eine Joomla Erweiterung in die Bresche […]