SEO-URLs, so bekommt ihr sie „klein“

Das Open Source Content Management System webEdition bietet für das Datenbank-/Objekt-Modul sogenannte SEO-URLs an.

Mit dem Feature SEO-URLs lassen sich die sonst sehr kryptischen URLs wie zum Beispiel 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 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:
https://domain.tld/schulungen/webEdition-Schulung-fur-Entwickler

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:

<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>



Der dadurch erzeugte HTML-Quellcode würde dann wie folgt aussehen:

<ul>
<li><a href="/schulungen/webEdition-Schulung-fuer-Entwickler">webEdition Schulung für Entwickler</a></li>
</ul>



Möchte man nun die Großschreibweise in der SEO-URL unterdrücken, muss der Template wie folgt modifiziert werden:

<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>



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 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:

<ul>
<li><a href="/schulungen/webedition-schulung-fuer-entwickler">webEdition Schulung für Entwickler</a></li>
</ul>

Seit Version 7

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

powered by webEdition CMS