Rich snippets: data-vocabulary.org vs schema.org

29. März 2012 at 17:10

Im Nachgang zum gestrigen Artikel SEO: Microformats vs RDF vs Mikrodata – Microformats oder RDF oder Mikrodata verwenden? möchte ich heute auf die sich zwangsweise ergebende Frage Auszeichnung nach „data-vocabulary.org oder  schema.org?“ eingehen.

Die Antwort ist einfach, wenn bekannt ist wofür RDF steht bzw. das RDF-Schema (RDF Vocabulary Description Language).
Daher, data-vocabulary.org ist für RDF zu verwenden, schema.org eher für mikrodata.

Weitere führende Infos bei wikipedia

SEO: Microformats vs RDF vs Mikrodata – Microformats oder RDF oder Mikrodata verwenden?

28. März 2012 at 18:01

Manch einer nennt Microformats und RDFa die stille Revolution bzgl. semantic web.

Aber was ist am besten? RDFa oder microformats? Wer sich mit der Implementation des semantischen Webs beschäftigt, und z.B. die Umsetzungsempfehlungen aus den Google Webmaster Richtlinien liest, merkt schnell das es verschiedene Wege zur Umsetzung gibt. Aber was ist der besser Weg?

Die Antwort ist nicht so einfach.

Microformats

Gegründet wurde die ursprüngliche Bewegung unter dem Namen microformats.org und der zugehörigen Website im Juni 2005. Die Gründer waren Dan Cederholm und Tantex Çelik. Letzterer ist bei vielen Webentwicklern für seine teilweise hochkomplexen Internet-Explorer-Hacks bekannt, die mit den diversen Kommentarmöglichkeiten spielen. Tantek Çelik hat allerdings auch für Microsoft und Technorati gearbeitet.

Das Besondere an den Microformats von microformats.org ist, dass sie keine neuen Technologien und Standards benötigen. Sie verwenden vollständig die Funktionalität von XHTML. Während die Microformats also quasi jederzeit eingeführt werden konnten, schlug sich das eigentliche semantische Web mit komplexeren Problemen herum. Schon seit vielen Jahren gab es Bemühungen, Bedeutung in Tag-basierte Sprachen zu mischen.

Microformats (oder zu deutsch “Mikroformate”) verwenden bekannte HTML Attribute wie “class” und Hierarchien, um Auszeichnungen aus einer fest definierten Auswahl vor zu nehmen.

Vorteile

  • Einfach
  • Führt keine neuen HTML-Attribute ein, gültiges HTML4.

Nachteile

  • Nur eine fest definierte Auswahl an Formaten, nicht erweiterbar.
  • Keine definierte API zur Extraktion der Daten.
  • Keine definierte Internationalisierungs-Unterstützung.
  • Die Verwendung von “class” kann zu Konflikten mit CSS-Definitionen führen.

Microformats Beispiel

<p class="vcard">
<a class="fn email" href="mailto:mail@fly2mars-media.de">Vorname Name</a> arbeitet als
<span class="role">SEO-Berater</span> für
<span class="org">Fly2Mars-Media.de</a>.
</p>

RDF

RDFa erweitert den HTML-Standard um RDF-Daten in (X)HTML-Dokumente einzubetten.

Der vielleicht wichtigste Ansatz ist RDF, das Ressource Description Framework. Dabei handelt es sich nicht um einen Standard, sondern um eine ganze Standard- Familie. Verwaltet wird sie – wie HTML und XHTML – vom W3C. RDF bietet im Grunde eine Beschreibung von Objekten.

Ursprünglich hauptsächlich für Metadaten gedacht, wurde der Ansatz bald auf alle Arten von Daten ausgeweitet. Da RDF selbst allerdings recht umfangreich ist und nicht direkt mit Websites interagiert, hat das W3C den Microformats-Gedanken aufgegriffen und mit RDFa eine einfache RDF-Variante für die Integration in XHTML geschaffen.

Vorteile

  • Maximale Flexibilität, umfangreich erweiterbar, um eigene Vokabularien zu definieren.
  • Erlaubt Mashups verschiedener Vokabularien.
  • Prefixe erlauben kompakteren Code da URLs nicht immer voll ausgeschrieben werden müssen.
  • Erlaubt die beliebige Verkettung von Elementen.
  • RDFa Dom API

Nachteile

  • Hohe Komplexität.
  • Auf XML und XHTML ausgerichtet, wenn auch mittlerweile in HTML5 einbettbar.
  • Führt 8 neue HTML-Attribute ein.

RDF Beispiel

<p xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person">
<a href="mailto:mail@fly2mars-media.de" rel="v:url" property="v:name">Vorname Name</a> arbeitet als
<span property="v:role">SEO-Berater</span> für
<span property="v:affiliation">Fly2Mars-Media</span>.
</p>

Microdata

Microdata ist eine Erweiterung für HTML5, um semantische Annotationen einzubetten.

Vorteile

Nachteile

  • Erlaubt keine mehrfachen Eigenschaften für Elemente, wie z.B. Email und Name in einem einzigen Link-Element.
  • Führt 5 neue HTML-Attribute ein.

Mikrodata Beispiel

<p itemscope itemtype="http://schema.org/Person">
<a itemprop="email" href="mailto:mail@fly2mars-media.de">
<span itemprop="name">Vorname Name</span>
</a> arbeitet als <span itemprop="jobTitle">SEO-Berater</span> für <span>fly2mars-media.de</a>.
</p>

Fazit

RDF wird gut von Google erkannt, bietet mehr Möglichkeiten als Microformats. Validiert werden können die Seiten mit dem Rich Snippets Testing Tool von Google. Google empfiehlt Mikrodata, wohl auch weil mehr HTML5.

Deshalb verwende ich jetzt RDF und Mikrodata.

Google unterstützt Rich Snippets in der Anzeige der Suchergebnisse (SERPs). Neben Microformats und RDFa wird auch Microdata unterstützt, letzteres ist dabei das bevorzugtes Format und von Google empfohlen. Auf  Schema.org befindet sich eine gute Dokumentation, diese sollte befolgt werden.

Eure Erfahrungen & Ergänzungen?

Her damit, aktuell spannendes Thema, neben Bewertungen, Autoren-Infos, Kontaktdaten, etc. lässt sich vieles damit so auszeichnen das die Daten richtig von den Suchmaschinen (oder anderen Maschinen lesbaren Geräten) richtig erkannt und verarbeitet werden können. Web 3.0 kann kommen! 🙂

php mail bzw. sendmail temporär umleiten zu dev/null – email versand unterbinden von php / sendmail

26. März 2012 at 17:59

Ihr möchtet den Versand von E-Mails durch php bzw. sendmail unterbinden?

Dafür gibt es verschiedene Möglichkeiten, z.B. könnt ihr ein alias einrichten, einfach in der Datei

/etc/aliases

ein bestimmten user eintragen sowie das Ziel, also:

bestimmteruser:         /dev/null

Alternativ in php den sendmail_path zu /dev/null umbiegen und auch den Port „umbiegen“.
Tragt hierzu am Anfang eures Scriptes (z.B. index.php) folgende Zeilen ein:

<?php
ini_set("sendmail_path", "/dev/null");
ini_set("smtp_port","26");
?>

Rich Snippet erfolgreich implementieren am Beispiel der Bewertungen

26. März 2012 at 17:22

An dem folgenden Beispiel wird die Implementation der Sterne-Bewertung in Rich Snippet gezeigt.
Mit Hilfe dieser werden die Bewertungen in Form von Sternen in den Google SERPS angezeigt, wie im folgenden Bild gezeigt:

rich snipped beispiel in den google serps

Die Funktionen sind frei erfunden, anhand des Namen ist zu erkennen welcher Wert an dieser Stelle dynamisch generiert werden sollte bzw. dem Kommentar dahinter als Bsp.! 😉

<!-- begin rating rich snippet -->
<span style="visibility:hidden;" xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review-aggregate">
<span rel="v:rating">
<span property="v:value"><?php echo $this->getDerProzentualeBewertungsWert(); //z.B. 90%  ?></span>
</span>
<span property="v:best">5.00</span>
<span property="v:votes"><?php echo $this->getAnzahlDerBewertungen(); //z.B. 9  ?></span>
</span>
<!-- end rating rich snippet -->

SEO optimierte 404-Fehler-Seiten in Magento – 404 error page in magento

21. März 2012 at 17:47

Bei der Migration / Relaunch eines bestehenden Webshops zu Magento oder bei Änderungen der Link-Struktur, Kategorien, CMS, etc. innerhalb Magentos, kann es beim Aufruf alter ungültiger Links zu einer 404-Fehlerseite kommen. Das ist weder für die Besucher, noch aus SEO-Gesichtspunkten optimal. Jeglicher Link-Juice würde so abhanden kommen, mögliche Käufer verschreckt, die Conversion sinkt unnötig.

Standardgemäß wird in Magento die unter Admin-Backend unter „System > Konfiguration > Web > Standardseiten > CMS keine Route Seite“  definierte Seite aufgerufen, allerdings wird dann bei einem Aufruf einer ungültigen Seite/URL der Header Statuscode 404 ausgeliefert. Hierdurch geht der Link-Juice auf diese Seite verloren was sich negativ auf das Google-Rankings auswirkt.

Eleganter ist es meiner Meinung nach, alle nicht mehr vorhandenen Seiten direkt per 301-Redirect, entweder auf die ermittelte (Unter-)Kategorie-Übersichtsseite, notfalls auf die Startseite weiter zu leiten.

Aus diesem Grund ist es notwendig den Magento eigenen NoRoute-Controller durch ein eigenes Modul zu überschreiben.

Die Magento noRouteAction befindet sich in der Klasse /app/code/core/Mage/Cms/controllers/IndexController.php .
Diese Klasse erweitern wir durch ein eigenes Module unter app/code/local/Fly2marsmedia/Redirect

Im Ordner „Redirect“ wird das Verzeichnis „etc“ und „controllers“ angelegt. Im Ordner „etc“ legt ihr die Datei config.xml an mit dem folgenden Inhalt:

<?xml version="1.0"?>
<config>
<modules>
<Fly2marsmedia_Cms>
<version>0.0.1</version>
</Fly2marsmedia_Cms>
</modules>
<frontend>
<routers>
<fly2marsmedia_cms>
<use>standard</use>
<args>
<module>Fly2marsmedia_Cms</module>
<frontName>redirect</frontName>
</args>
</fly2marsmedia_cms>
<cms>
<args>
<modules>
<Fly2marsmedia_Cms before="Mage_Cms">Fly2marsmedia_Cms</Fly2marsmedia_Cms>
</modules>
</args>
</cms>
</routers>
</frontend>
</config>

Anschließend legt ihr im Ordner /controllers die Datei IndexController.php mit folgendem Inhalt ab:

class Fly2marsmedia_Cms_IndexController extends Mage_Cms_IndexController
{
public function noRouteAction($coreRoute = null)
{
  $path = '/';
  $targetUrl = Mage::getUrl($path);
  if($targetUrl != '') {
  Mage::app()->getFrontController()
  ->getResponse()
  ->setRedirect($targetUrl, 301)
  ->sendResponse();
  exit();
}
return $this;
}
}

Final muss das Module noch aktiviert werden. Dazu im Ordner /app/etc/modules eine Datei Namens Fly2marsmedia_Redirect.xml mit folgendem Inhalt ablegen:

<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Fly2marsmedia_Template>
<active>true</active>
<codePool>local</codePool>
</Fly2marsmedia_Template>
</modules>
</config>

Libreoffice 3.5 ist da – Was ist neu in Libreoffice 3.5? – Office Suite

14. März 2012 at 12:53

libroffice-3-4Die Document Foundation hat Libreoffice 3.5 veröffentlicht. Alle Komponenten der Office-Software sollen Verbessert worden sein, die jeweiligen Programme sollen sich jetzt besser bedienen lassen.

LibreOffice ist eine gute kostenlose OpenSource-Alternative zur teuren proprietären Microsoft Office.

Libreoffice 3.5 steht für Windows, Linux und Mac OS als 32- und 64-Bit-Version zum Herunterladen bereit.

Zu laden unter: http://www.libreoffice.org/download/

Ein paar Statements von den Entwickler von LibreOffice:

„Wir haben 15 Jahre alten Code geerbt, in dem bestimmte neue Funktionen einfach nicht eingebaut und zahlreiche Bugs schlichtweg nicht behoben wurden – aus Angst, dadurch neue Probleme zu schaffen. Das, zusammen mit dem Zeitfaktor, war ein entscheidender Grund für einen gewissen Rückstand“, sagt Caolán McNamara, ein erfahrener Entwickler von Red Hat, und zugleich einer der Gründer und Mitglied im Board of Directors der Document Foundation.

„Wir hatten zwei Möglichkeiten: Eine sehr konservative Strategie, die die Anwender zwar schnell, aber nur kurzfristig zufrieden stellt, und unsere eher rapide Entwicklungsgeschwindigkeit samt umfassender Aufräumarbeit am Code, was anfangs zwar zu einigen Stabilitätsproblemen geführt hat, aber mehr und mehr in eine neue und grundlegend überarbeitete Version mündet“, meint McNamara.

„In nur 16 Monaten haben wir unglaubliche Ergebnisse erzielt – mit nahezu 300 neuen Entwicklern im Projekt, die sich vor allem von der Copyleft-Lizenz, dem Fehlen eines Copyright Assignments und unserem offenen und ehrlichen Entwicklungsmodell angesprochen fühlen. Neben den sichtbaren Veränderungen haben wir gemeinsam zehntausende deutsche Kommentare im Quelltext übersetzt, tausende unbenutzter Funktionen und Methoden entfernt – darunter komplette Bibliotheken – und weitere automatische Tests aufgesetzt. Auch, wenn wir noch viel vor uns haben, profitieren Anwender von einem schnelleren, stabileren, schlankeren und erweiterten LibreOffice 3.5. Auch gerade solche Anwender, die sich manchmal über die Stabilität der Software beklagt haben, werden die Verbesserung bemerken“, meint Michael Meeks, ein namhafter Entwickler bei Suse, der ebenfalls einer der Gründer und Mitglied im Board of Directors der Document Foundation ist.

Quelle: golem.de / libreoffice.org

Magento Coding Tipps: Filter kombinieren mit addAttributeToFilter-Funktion

6. März 2012 at 16:34

Beim Aufruf der Collection in Magento sollen 2 Attribute kombiniert werden?

In diesem Beispiel zeige ich euch wie ihr das ein Filter auf OR „is null“ and „eq“ => array() kombinieren könnt.

Im Detail erfolgt eine OR-Verknüpfung der folgenden 2 Abfragen:
$collection->addAttributeToFilter(‚attributename‘, array(‚is‘ => null));
$collection->addAttributeToFilter(‚attributename‘, array(110,111));

So dass sich die folgende ergibt:

$collection->addAttributeToFilter(
 array(
   array(
     'attribute' => 'name_of_attribute_1',
     'null' => 'this_value_doesnt_matter'
     ),
   array(
     'attribute' => 'name_of_attribute_2',
     'in' => array(110, 111)
   )
 )
);

subversion: Wie einen falschen svn commit rückgängig machen? – How to revert a bad commit

29. Februar 2012 at 14:07

Im SVN wurde ein falscher Commit getätigt? Und der soll nun wieder rückgängig gemacht werden? Wie ein SVN Commit reverten? Ganz einfach mit folgendem Befehl von der aktuellen Version zur vorherigen mergen:

svn merge -r [current_version]:[previous_version] [repository_url]

Danach die Änderungen mit dem folgenden Befehl in SVN übertragen:

svn commit

Fertig! 😉

 

Stop Acta – Stoppt diesen ACTA-Wahn!!!

24. Februar 2012 at 15:20

anti acta bild

Alle lokalen Änderungen per svn revert zurück setzen

17. Februar 2012 at 12:28

Mit dem folgenden Command könnt ihr alle lokal geänderten Dateien inkl. Unterordner reverten (leider fehlt dem SVN-Command dafür eine Option):

svn st -q | awk '{print $2;}' | xargs svn revert