Magnolia und SEO

Dieser Blogpost hat zum Ziel, dem Leser nicht nur einen Überblick über die standardmässig verfügbaren SEO-Features von Magnolia CMS zu bieten, sondern auch zusätzliche Tipps und Tricks zur Erweiterung und Verfeinerung der SEO-Features zu verraten und konkrete best practice Beispiele aufzuzeigen. Die hier behandelte Liste ist nicht abschliessend und kann in Follow-Ups auch erweitert werden.

Es geht nicht darum, das Thema „Search Engine Optimization (SEO)“ grundsätzlich zu erklären, begründen oder vertiefen. Dazu gibt es ausreichend alternative Quellen, zum Beispiel der Search Engine Optimization Starter Guide von Google sowie unzählige Blogs, die sich eingehend mit dem Thema beschäftigen. Es gibt übrigens auch andere Namics-Quellen zum Thema: Namics SEO Fachartikel, Namics Blog.

Anregungen, Hinweise, Fragen und dergleichen sind explizit erwünscht und dürfen gerne als Kommentar hinterlassen werden: We like dialog! 🙂

Sprechende URLs

Suchmaschinenfreundliche URLs, heute eher als sprechende URLs bezeichnet, waren in den Anfängen von SEO ein grosses Thema, heute sind sie eigentlich Standard. Alle grossen CMS haben sie als Grundfunktionalität integriert, so auch Magnolia. Das Magnolia CMS arbeitet sogar ausschliesslich mit optimierten, sprechenden URLs:
Jede Seite verfügt über eine URL, die sich aus verschiedenen Strukturelementen zusammensetzt: Mandant (wo vorhanden), Sprache (wo vorhanden), Seitenhierarchie und Seitenname. Für jedes dieser Strukturelemente wird ein eigenes URL-Fragment definiert. Bei einer Seite (Page) nennt sich das „Page Name“:

"Page Name" im Magnolia Backend

Beispiel: Eine deutsche Seite vom Mandant „Mandant A“, welche in der Kategorie „Beispiel-Kategorie“ liegt, ergibt folgende URL: example.com/mandant-a/de/beispiel-kategorie/beispiel-seite.html

Inhaltsstruktur im Contenttree

Aus dieser Contenttree-Struktur ergibt sich dann…

Sprechende URLs

… diese kurze und aussagekräftige sprechende URL.

Best practice:

  • Bereits bei der inhaltlichen Konzeption einer Website sollte eine möglichst flache Hierarchie angestrebt werden. Mandanten, Kategorien und Seiten werden mit kurzen, aussagekräftigen Namen versehen, dadurch werden auch die URLs keywordhaltig, kurz und prägnant.
  • Wird die Mandantenfunktion nicht gebraucht, wird die Mandantenbezeichnung in der URL via URI2RepositoryMapping weggemapt. Eine Konfiguration um den Inhalt direkt aus /mandant-a/ zu erhalten sieht folgendermassen aus:

Mapping via URI to repository mapping

 

Duplicate content

Ist eine Seite über mehr als eine URL erreichbar besteht die Gefahr, dass sie wegen duplicate content an Relevanz in Suchresultaten einbüsst. Es gibt aber Fälle, wo es durchaus Sinn macht, dass eine Seite über mehrere URLs erreichbar ist: www.example.com/, example.com/.

Magnolia bietet für solche Fälle Abhilfe, indem Weiterleitungen über den HTTP-Code 301 „Permanently moved“ eingesetzt werden. Dies wird via Virtual URI Mapping erreicht. Das hat zur Folge, dass die Crawler die weiterleitenden URLs nicht ins Listing aufnehmen sondern nur die Zielseite bewerten. Auch die gesamte link popularity wird auf die Zielseite übernommen.
[Mehr Infos zu Virtual URI Mapping: http://finnotype.blogspot.ch/2010/10/vanity-urls-with-magnolia-cms.htm]

Ein alternativer approach für Weiterleitungen ist das Redirect-Template. Für die oben beschriebene Problemstellung kann es aber nicht eingesetzt werden (ändernder Hostname). Ausserdem raten wir ganz generell von einem Einsatz des STK Redirect Templates ab, da Magnolia für Suchmaschinen ungeeignete 302 Redirects einsetzt.

Eine weitere Option, „duplicate content“ sauber zu deklarieren, stellt der Einsatz des canonical tag dar. Dieses Meta-Tag zeigt den Spidern den Verweis auf die Originalseite an. Beispiel der Seite www.example.com: <link rel=“canonical“ href=“http://example.com“>. Auch hier wird die link popularity auf die Zielseite vererbt. Um in Magnolia mit diesem Tag zu arbeiten, braucht es allerdings eine Erweiterung des Systems.

Best practice:

  • Konsequenter Einsatz von Weiterleitungen via Virtual URI Mapping

 

Sitemap

Von Magnolia werden out of the box keine Sitemaps für HTML oder XML zur Verfügung gestellt. Allerdings unterstützt das 3rd party Modul Google Sitemap bei der Konfigurierung und Generierung von XML und HTML Sitemaps.

Google Sitemap Tool

So sieht das Konfigurations-Interface des Moduls aus.

Best practice:

  • Errorseiten und ähnliches manuell aus der Sitemap ausschliessen, da irrelevant und Listing nicht erwünscht
  • robots.txt mit URL zur Sitemap versehen:
    User-agent: *
    Allow: /
    Sitemap: https://www.example.com/google-sitemap.xml
    ?

Nicht vergessen: Sitemap bei den grossen Suchmaschinen registrieren:

 

Link Konsistenz

Viele defekte, unbelegte Links beeinflussen die Suchmaschinen-Beurteilung einer Seite ins Negative. Abgesehen davon sind sie auch für Besucher nicht sehr angenehm. Um solchen fehlerhaften Links vorzubeugen setzt Magnolia ein internes Verlinkungssystem ein, welches nicht auf URLs basiert, sondern auf Seiten-IDs. Wird also eine Seite, ein Dokument oder ein Bild im Text einer anderen Seite verlinkt, wird nicht die URL sondern die ID der Zielseite gespeichert. Dadurch wird beim rendern der Seite die URL der verlinkten Seite neu ermittelt und, falls diese in der Zwischenzeit geändert hat, gleich korrekt übernommen.

Verwaiste Seiten wird es in Magnolia nicht geben, da jede Seite und jeder Node im Content-Tree mindestens mit dem Parent-Node verknüpft ist.

Best practice:

  • Um zu verhindern, dass externe Websites auf nicht mehr gültige URLs unserer Seite verlinken, empfehlen wir die Inhaltsstruktur der Website möglichst nicht zu verändern.
  • Falls aber eine Änderung unabdingbar ist, sollte für die betroffenen URLs via „Virtual URI mapping“ eine 301 Weiterleitung auf die neue Seite eingerichtet werden.

 

Arbeiten mit W3C-konformem Code

Das Magnolia Standard Templating Kit (STK) orientiert sich stark am W3C Standard. Wer also ausschliesslich mit dem STK arbeitet, braucht „nur“ darauf zu achten, bei Anpassungen den Standard nicht zu verletzen.

Bei Erweiterungen des STK sowie bei zusätzlichen Komponenten zahlt es sich auf jeden Fall aus, das Augenmerk regelmässig auf Validität und semantische Korrektheit des Quellcodes zu richten.

Best practice:

  • Fortlaufendes Überprüfen des Quellcodes mittels dem allseits bekannten und beliebten W3C-Validator: http://validator.w3.org

 

Crawlbare Navigationen

Das Magnolia Standart Templating Kit (STK) ist bereits optimal für Crawler ausgelegt. Die Links der horizontalen (1) sowie der vertikalen (2) Navigation werden vom STK als HTML-Textlinks ausgegeben, ebenso die Breadcrumbs (3), die genau die Inhaltsstruktur einer Seite widerspiegeln.
Auch die Meta-Navigation (4) besteht aus HTML-Textlinks, welche den Direktzugang zu wichtigen allgemeinen Informationen ermöglicht.

Crawlbare Navigationen im Standard Templating Kit

Best practice:

  • Bei Eigen- oder Weiterentwicklungen werden die erwähnten Elemente als HTML-Textlinks belassen, um die Durchsuchbarkeit durch Crawler zu gewährleisten.

 

Bilder optimieren

Über die Bildersuche kann viel Traffic für eine Website generiert werden. Bilder sind aber binärer Content, das heisst, sie können von Suchmaschinen nicht „angeschaut“ werden. Daher sind Google & Co. auf Meta-Informationen angewiesen, die ein Bild im HTML-Code umgeben: Bildname und -pfad, Alternativ-Text und Description-Attribute (nicht mehr bei HTML5).

Mit Magnolia können viele Direktiven eines Bildes definiert werden:

Bild im DAM erfassen

Allerdings werden nicht alle dieser Direktiven dann auch tatsächlich bis in den Quelltext übernommen. Beim Einfügen eines Bildes in eine Seite, kann man mittels Dialog den Alternativ-Text („Image Caption“) und die Beschreibung („Image Description“) übergeben.

Einfügen eines Assets aus der Assetdatenbank

Im STK wird mit der standardmässigen Text-Image Komponente der ursprüngliche Dateiname und -pfad mit Magnolia-speziefischen Angaben angereichert (1), was deren Aussagekraft etwas verwässert. Alternativ-Text ist im Image-Tag vorhanden (2) und wird auch in der Image-Caption unter dem Bild ausgegeben. Ein allfälliges Copyright wird unter der Caption ausgegeben. In einem via CSS versteckten Bereich gibt Magnolia die „longdesc“, also eine ausführlichere Beschreibung des Bildes aus (3).

Rendering eines Bildes im Quelltext

Best practice:

  • Klare Richtlinien für Autoren, welche die Assetdatenbank mit Bildern befüllen sowie für Autoren, welche die Bilder in den Inhalt einbinden. Wir empfehlen die Festlegung von auszufüllenden Feldern, sowie Hilfestellungen zu den Inhalten der Felder in den Autoren-Guidelines.
  • Falls nicht das STK eingesetzt wird: Unbedingt die wichtigsten Metainformationen im Quellcode berücksichtigen.

Weiter Infos zum Magnolia Assetmanagement: http://documentation.magnolia-cms.com/display/DOCS/Managing+assets#Managingassets-Dublincoremetadata

 

Fazit

Aus einer übergeordneten Perspektive betrachtet ist das jeweils eingesetzte CMS nur ein kleiner Bauteil eines gesamten SEO-Gebäudes, wichtiger sind immer die Inhalte und deren Relevanz.

Doch das Magnolia CMS bietet einiges in Sachen SEO und füllt seine Rolle als SEO-Bauteil sehr gut aus. Es sorgt dafür, dass relevante und gut gepflegte Inhalte, bei entsprechend optimaler CMS-Konfiguration, hervorragend gefunden werden können.

Wachstumsbereiche sind aus unserer Sicht auszumachen bei der fehlenden XML-/HTML-Sitemap (Funktionalität via Modul aber trotzdem verfügbar), den 302 Redirects beim STK Redirect-Template, sowie bei der Möglichkeit zum Einsatz von Canonical Tags. Auch Bildnamen und -pfade könnten aus SEO-Sicht optimaler gestaltet werden.

Falls wir Sie in irgendeiner Weise unterstützen können sind Sie herzlich eingeladen, Kontakt mit uns aufzunehmen.

——

Blogeintrag verfasst von Marc Bechtiger und Simon Guldener.

Ein Gedanke zu “Magnolia und SEO

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>