SEO-URLs, so bekommt ihr sie „klein“



Das Open Source Content Management System webEdition bietet für das [[http://www.webedition.org/de/webedition-cms/module/db-objekt.php|Datenbank-/Objekt-Modul]] s.g. SEO-URLs an. Mit diesem Feature lassen sich die sonst sehr kryptischen URLs wie z.B. www.domain.tld/index.php?we_objectID=123 in sehr „schöne“ Suchmaschinen-freundliche bzw. „sprechende“ URLs umwandeln.

Das SEO-URL-Feature ist dabei so flexibel, dass der webEdition Anwender entscheiden kann, welche Objekt-Eigenschaften und Felder er in welcher Reihenfolge für die SEO-URL nutzt. Das können z.B. sein:
* Erstellungsdatum
* Inhalt eines Feldes (z.B. Überschrift)
* die Sprache des Dokumentes
* übergeordnete Verzeichnisse
* etc.

Gehen wir bspw. davon aus, dass ein Schulungsanbieter für die SEO-URLs den Namen der Schulung (z.B. webEdition Schulung für Entwickler) nutzt, sieht die SEO-URL z.B. so aus:
<code>
http://domain.tld/schulungen/webEdition-Schulung-fur-Entwickler
</code>

Die SEO-URL zeigt, dass bei SEO-URLs Leerzeichen durch Minuszeichen und Umlaute in entsprechende Zeichenketten (z.B. ue) kodiert werden. Gleichzeitig fällt auf, dass die Groß- und Kleinschreibung genauso übernommen wird, wie sie im Namen der Schulung enthalten ist.

Das Template, um eine Liste aller Schulungen des Schulungsanbieters mit der o.g. SEO-URL zu erzeugen, sieht in webEdition wie folgt aus:

<code:xml>
<we:listview type="object" name="trainings" order="Beginn" desc="false" classid="1" objectseourls="true">
<ul>
<we:repeat>
<li><we:field type="text" name="Name" hyperlink="true" alt="we_path" /></li>
</we:repeat>
</ul>
</we:listview>
</code>

Der dadurch erzeugte HTML-Quellcode würde dann wie folgt aussehen:
<code:xml>
<ul>
<li><a href="/schulungen/webEdition-Schulung-fuer-Entwickler">webEdition Schulung für Entwickler</a></li>
</ul>
</code>

Möchte man nun die Großschreibweise in der SEO-URL unterdrücken, muss der Template wie folgt modifiziert werden:
<code:xml>
<we:listview type="object" name="trainings" order="Beginn" desc="false" classid="1" objectseourls="true" hidedirindex="true">
<ul>
<we:repeat>
<we:field type="text" name="WE_PATH" to="global" nameto="SeoURL"/>
<?php $GLOBALS['SeoURL'] = strtolower($GLOBALS['SeoURL']); ?>
<li><a href="<we:var type="global" name="SeoURL"/>"><we:field type="text" name="Name"/></a></li>
</we:repeat>
</ul>
</we:listview>
</code>

Im Gegensatz zum ersten Template wird nicht der gesamte HTML A-Tag durch das Attribut hyperlink=true erzeugt, sondern manuell zusammengesetzt. Dazu leiten wir die SEO-URL zunächst mit den Parametern to und nameto in eine globale Variable SeoURL um, um sie anschließend mit PHP und der Funktion [[http://de2.php.net/manual/de/function.strtolower.php|strtolower]] in ausschließlich Kleinbuchstaben umzuwandeln. Danach übergeben wir die neue SEO-URL einfach mit <we:var/> dem href-Attribut des A-Tags. Das Ergebnis sieht dann wie folgt aus:
<code:xml>
<ul>
<li><a href="/schulungen/webedition-schulung-fuer-entwickler">webEdition Schulung für Entwickler</a></li>
</ul>
</code>

Ab Version 7



Ab der Version 7 gibt es in Extras => Allgemein => Einstellungen die Option, SEO-URLs beim Erzeugen klein schreiben zu lassen.
powered by webEdition CMS