Posted
on 23. August 2010, 16:08,
by Tobias Redmann,
under
PHP.
So können Sie mit PHP ungewünschte Zeichen aus Zeichenketten entfernen.
Wenn man die Qualität der darzustellenden Daten nicht selber unter Kontrolle hat, kann es schonmal vorkommen, dass man nachträglich noch “Hand anlegen” muss. Ich habe mir eine kleine Funktion geschrieben, die einige unschöne Zeichen entfernt.
function removeUglyChars($phrase) {
// characters to remove
$remove = array('*', '+', '!', ',', '#', '@', '♦', '►', '◄', '•');
// remove to ugly chars
$phrase = str_replace($remove, " ", $phrase);
// remove all double white-spaces
while (strpos($phrase, " ") !== false) $phrase = str_replace(" ", " ", $phrase);
return trim($phrase);
}
Im Array $remove werden dazu alle “hässlichen” Zeichen definiert, die entfernt werden sollen. Mit str_replace werden diese durch ein Leerzeichen ersetzt. Anschließend werden mit Hilfe der While-Schleife alle doppelten Leerzeichen entfernt und das Ergebnis ohne Leerzeichen am Anfang und Ende zurückgegeben.
Sehr wirkungsvoll das Ganze, dann so sehen die eBay-Suchergebnisse bei Handy Preis nicht mehr ganz so schlimm aus - zu sehen z.B. beim Samsung Galaxy i9000.
Wie kann man eigentlich IP-basiertes Geotargeting testen?
Bei einem unserer Projekte setzen wir auf Geotargeting. Abhängig davon, aus welchem Land ein Besucher kommt, werden ihm unterschiedliche Informationen angezeigt - auch die Sprache der Website ändert sich entsprechend.
Für einen Entwickler besteht nun in aller Regel die Herausforderung darin, die Ermittlung des korrekten Landes anhand entsprechender IP-Adressen live an der Website zu ermitteln. Ich nutze dazu freie Proxies die es in unterschiedlichen Ländern gibt. Eine Liste mit entsprechenden Servern gibt es z.B. auf xroxy.com. Einfach im Firefox in den Einstellungen eintragen und schon glauben die meisten IP-basierten Geotargeting-Dienste, dass man in dem entsprechenden Land sitzt.
Einfach und effektiv um das Targeting anhand der IP-Adressen zu testen.
Was ist bei der Suchmaschinen-Optimierung für das webEdition CMS zu beachten?
Grundsätzlich muss man sagen, dass webEdition mehr ein Content-Management-Framework ist. Es gibt weder Themes noch fertige Layouts, d.h. der Entwickler muss sich um alles selber kümmern. Genau aus diesem Grund kann man mit webEdition sehr gut optimierte Websites umsetzen - das A und O ist dabei natürlich das technische Verständnis von HTML, PHP, webEdition und Suchmaschinen-Optimierung.
Aus meiner langjährigen Erfahrung mit dem Content-Management-System kann ich folgende Hinweise bei der Umsetzung geben:
- Nutzen Sie die Eigenschaften (Titel, Description und Keywords) bei jedem Dokument und implementieren Sie diese auch im Template. Dadurch bekommt jedes Dokument einen eindeutigen Titel, eine Description und ggf. Meta-Keywords. Sollten diese Felder nicht gesetzt sein (ifEmpty), können Sie anhand des Seitentitels eine Description generieren.
- Pflegen Sie Dokumente strukturiert in Ordnern ein, d.h. ein Artikel zum Thema Automobil sollte nicht /auto.html, sondern /auto/index.html heissen. Dadurch haben Sie die Möglichkeit bei der Ausgabe, dass unnötige index.html zu entfernen und die URL schön kurz darzustellen, nämlich als /auto/.
- Entfernen Sie in Listviews unnötige Dateinamen wie index.html (s.o.). Das können Sie dadurch erreichen, dass sie sich den Pfad des aktuellen Dokuments im Listview holen und dann einfach die ungewünschte Zeichenkette entfernen. Eine weitere Möglichkeit, ist das Auslesen der ParentID des Dokuments.
- Wenn Sie das Navigations-Tool von webEdition nutzen, können Sie ebenfalls unnötige Dateinamen entfernen. Im Artikel Suchmaschinenfreundliche URLs mit der webEdition Navigation erfahren Sie, wie das geht.
- Ähnlich wie mit dem Navigations-Tool können Sie auch Links im Eingabefeldern bearbeiten. Einfach die Ausgabe des Angabefeldes puffern und dann von internen Links die ungewünschten Dateinamen abschneiden.
- Die wohl größte Herausforderung ist die Nutzung von Objekten. Je nachdem wie Ihr System aufgebaut ist, gibt es verschiedenen Möglichkeiten diese URLs besser zu gestalten. Ein Weg ist z.B. mit Hilfe von URL-Rewritung die Objekte-ID zu übergeben und dann noch einen für das System “unnützen” String, z.B. /events/4565/webedition-schulung-august-2010/. Viele andere Muster sind dabei denkbar.
Einen Weg den ich üblicherweise eingeschlage, ist die Nutzung eines Textfeldes im Objekt das im System eindeutig sein sollte. Diese Textfeld nutze ich dann, um das Objekt aus dem System auszulesen, wie z.B. bei http://handy-preis.net/samsung-galaxy-s-i9000/. Anstatt ein eigenes Textfeld zu nutzen, kann man auch den Objektnamen nehmen. Meine Erfahrung sagt jedoch, dass der Objektname und der Inhalt des Objektes manchmal recht stark variieren.
Mit diesen kleinen Tricks können Sie eine webEdition Seite recht gut optimieren. Sollten Sie weitere Fragen haben oder eine ausführliche Beratung wünschen, können einen Kommentar schreiben oder mich jederzeit kontaktieren.