SEO: Mit PHP heraus finden ob Besucher Googlebot/Spider?

8. Dezember 2010 at 15:28

Mit der folgenden Funktion könnt ihr heraus finden ob es sich beim dem Besucher um ein Googlebot oder -Spider handelt:

public function isSpider()
 {
    if (strpos($_SERVER['HTTP_USER_AGENT'],"Googlebot"))
      return true;
    else
      return false;
 }

SEO: Google entwertet Links aus Blogkommentaren um Blogspam zu minimieren

6. Dezember 2010 at 12:21

Google-logo-wikipedia

Google geht weiter gegen SPAM und manipulativen Linkaufbau vor. Der neue Algorithums der Suchmaschine Google wertet ab sofort nur noch Links aus Blogkommentaren ab einer Länge von 250 Zeichen. Bei kürzeren Kommentaren sowie wenn die Kommentaren keine inhaltliche Übereinstimmung mit dem Blogbeitrag aufweisen, werden die enthaltenen oder mit dem Nutzernamen verlinkte URLs nicht länger für das Ranking als Backlinks gewertet.

Google selbst schreibt dazu:

If you’re a blogger, you’re painfully familiar with people who try to raise their own websites search engine rankings by submitting linked blog comments like “Wow, thanks for that great article”. From now on, those links won’t get any credit when the comment is shorter than 250 characters or not includes relevant keywords on topic of the blogpost. It’s just a way to make sure that spammers get no benefit from abusing public areas like blog comments, trackbacks, and referrer lists.

Ob die Änderung auch für die Wertung von Links aus alten Blogkommentaren gelten ist nicht bekannt. Die Änderung wird viele Blog-Betreiber eine erfreuliche Nachricht sein, hat der Blog-Kommentar-SPAM in den vergangen Monaten doch arg zugenommen.

SEO: Finde dein IP-Nachbarn – Server IP-Nachbarn auswerten

3. Dezember 2010 at 10:18

Mit diesem kostenlosen dem Reverse IP Lookup Tool ist es einfach möglich seine IP-Nachbarn zu finden um diese auszuwerten: www.yougetsignal.com/tools/web-sites-on-web-server

Wozu die IP Suche nach den Webnachbarn?

Google arbeitet auch auf IP-Basis, ein Bad-Neighbour  auf dem gleichen Server (gleiche IP, aber über ein anderen Domain-Name  zu erreichen, bei shared-hoster üblich) kann das Ranking sehr negativ beeinflussen. Bad-Neighbour sind z.B. Webseiten mit Pornografischen- oder SPAM-Inhalten (Linkfarm, etc.).

Ein weiterer Mehrwert ist heraus zu finden ob der IP Nachbar vielleicht sehr viel Traffic verursacht und damit den Server und somit auch meine eigene Seite gebremst wird (Performancerecherche).

Gerne könnt ihr weitere Webseiten in den Kommentaren veröffentlichen welche ähnlichen Service kostenlos anbieten. Ich werde diese dann mit in die Liste aufnehmen.

SSL Zertifikate selber erstellen – SSL Zertifikat unter Windows erstellen

2. Dezember 2010 at 17:09

Ihr möchtet unter Windows Euer eigenes SSL Zertifikat erstellen? Zum Beispiel um die Verbindung seines FTP oder Webservers zu verschlüsseln.

Mit der Hilfe von FileZilla FTP Server ist dies mit wenigen klicks unter Windows möglich.

Nach der Installation zuerst die FileZilla Server.exe starten. Danach die FileZilla Server Interface.exe, klickt dort in dem kleinen Fenster auf ok, ohne weitere Werte einzugeben und ihr landet im Hauptfenster der Serverkonfiguration. Jetzt ein Klick auf Edit, dann auf Settings.

Unter SSL/TLS Settings verbirgt sich der Generate new certificate Button.
Das Zertifikat läßt sich zum Beispiel auch für den ZendServer oder Xampp (Apache-Webserver für Windows) verwenden.

Kopiert die erzeugte crt-datei in das apache ssl.crt-Verzeichnis, z.B.:
C:\programme\apache\conf\ssl.crt\server.crt

Dass selbe mit dem server.key, z.B.:
C:\programme\apache\conf\ssl.key\server.key, dort muß der Inhalt der eigenen .pvk Datei reinkopiert werden.

Ein Server.key könnt ihr auch mit dem folgenden Befehl erstellen (setzt installierten openssl voraus) :
openssl.exe genrsa -des3 -out server.key 1024

http://filezilla.sourceforge.net/

strtolower with utf8 and special characters / strtolower mit utf8 und Umlauten

29. November 2010 at 18:19

You want convert words that are formatted with utf8 format and possibly with strtolower ucfirst?
Here the solution:

Ihr möchtet Wörter welche mit utf8 formatiert sind mit strtolower und ggf. ucfirst formatieren?
Hier die Lösung:

 

function strToLowerUtf8($value)
{
 $value = utf8_decode($value);
 $value = ucfirst(strtolower($value));
 $value = utf8_encode($value);
 return $value;
}

Alterantive Lösung per mod_rewrite

SEO – AJAX Links für Google optimieren – AJAX crawlen

24. November 2010 at 00:01

Zu den aktuellen Internet-Technologien gehört selbstverständlich der Einsatz von AJAX. Die Inhalte werden schnell, effizient und live nach geladen ohne das ein kompletter Reload der Web-Seite notwendig ist. Damit steigt die Benutzerbarkeit (usability) der Webseite wesentlich.

Doch werden diese Webseiten sauber von Google oder anderen Suchmaschinen gecrawlt?

Um das zu erreichen sind folgende zwei Herangehensweisen sind möglich:

  1. Inhalte für Suchmaschinen werden auch mit einer statischen URL angeboten
  2. Inhalte für alle Besucher werden mit einer „AJAX-URL“ angeboten.

Die AJAX-URL basiert dabei auf das sogenannte „Hashbang“ (Kombination aus Raute-Symbol und Ausrufezeichen: !#). Durch das Hashbang wird Google signalisiert dass es sich um eine AJAX-URL handelt. Diese wird dann von der Suchmaschine wie folgt ausgelesen: Alles was nach dem Hashbang kommt wird in einem URL-Parameter umgewandelt: aus www.fly2mars-media.de/#!parameter/value wird www.fly2mars-media.de/?_escaped_fragment=parameter/value . Zeigen beide URLs den selben Inhalt, so ist für die Suchmaschine alles in Ordnung (kein duplicate content). Die Seiten mit dem Parameter „_escaped_fragment“ können ggf. mit dem Statuscode 301 auf sprechende URLs umgeleitet werden, z.B. www.fly2mars-media.de/parameter/value.

Magento / Import in MySQL 5.0 – USING BTREE Error

19. November 2010 at 17:22

Wenn ihr ein MySQL-Datenbank-Dump in eine MySQL 5.0 importieren möchtet welche mit mysqldump auf einer 5.1 erzeugt wurde, dann bekommt ihr höchstwahrscheinlich eine Fehlermeldung wie die folgende:

Der Grund ist dass die key syntax von 5.0 auf 5.1 wie folgt geändert wurde:
mysql50
UNIQUE KEY IDX_BASE( entity_type_id, entity_id, attribute_id, store_id ) USING BTREE,
mysql51
UNIQUE KEY IDX_BASE USING BTREE ( entity_type_id, entity_id, attribute_id, store_id ),

Leider gibt es kein aktuellen Kompatabilitäts-Modus like –comptability=mysql50 in mysqldump.
Es kann zwar mysqldump –comptability=mysql40 benutzt werden, allerdings auf eigene Gefahr 😉

Mit dem folgenden Befehl könnt ihr in der Bash den dump vor dem Import bereinigen (benutzt das consolen-programm „sed“):

sed -i -r 's/\(([^)]+)\) USING BTREE/USING BTREE (\1)/g' magento.sql

Magento: Create shipment from order

18. November 2010 at 15:35

You want to create a shipment from an order?
here is the solution in php (example with invoice-data) :

$order = Mage::getModel('sales/order')->loadByIncrementId($invoice->getOrder()->getIncrementId());
if($order->canShip())
{
 $_itemQty                 = $order->getItemsCollection()->count();
 $_shipment             = Mage::getModel('sales/service_order', $order);
 $_shipment             = new Mage_Sales_Model_Order_Shipment_Api();
 $_shipmentId         = $_shipment->create($order->getIncrementId());
}

in phpMyAdmin Session timeout verlängern / verändern

10. November 2010 at 12:34

Gerade bei der lokalen Entwicklung kann das ständige session-timeout echt nerven. Um die Session-Time zu verlängern ergänzt die config.inc.php von phpMyAdmin mit der folgenden Zeile:

$cfg['LoginCookieValidity'] = 3600 * 9; // 9 hours

Magento & SEO – h1 Tag auf der Startseite richtig setzen

5. November 2010 at 09:59

magento ecommerce logo

Im Standard Theme von Magento findet man folgendes:

<h1 class="logo"><strong>Magento Commerce</strong><a href="http://demo.magentocommerce.com/" title="Magento Commerce" class="logo" rel="nofollow"><img src="http://demo3.magentocommerce.com/skin/frontend/default/default/images/logo.gif" alt="Magento Commerce" /></a></h1>

Dadurch wird das ggf. fehlende h1-Tag mit dem Alt-Attribute des Shop-Logo-Bildes gesetzt (kann im Admin-Backend konfiguriert werden). Die Idee dahinter ist gut, so ist auf jeder Seite ein h1 vorhanden. Die Umsetzung allerdings fraglich. Durch die folgende CSS Formatierung auf dem Strong-Element wird das h1 für die Human-Visitors versteckt:

strong {
font-size:0;
height:0;
left:-999em;
line-height:0;
overflow:hidden;
position:absolute;
text-indent:-999em;
top:-999em;
width:0;
}

Google mag solch Tricks gar nicht, straft ggf. die Seite so gar ab.

Hier die bessere Lösung:

<h1><a href="http://demo.magentocommerce.com/" title="Magento Commerce"><img src="http://demo3.magentocommerce.com/skin/frontend/default/default/images/logo.gif" alt="Magento Commerce" /></a></h1>

In diesem Fall wird der Alt-Title des Bildes als h1 verwendet, ohne irgend welch Visibility-Tricks welche zur Abmahnung führen könnten.