Leerzeichen in <h1> => Underscore ("_") in TOC

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
MFromH
Posts: 20
Joined: Wed Jun 04, 2008 5:49 am

Leerzeichen in <h1> => Underscore ("_") in TOC

Post by MFromH » Wed Jun 04, 2008 6:01 am

Hallo Forum,

wenn man in den Tags <h1> ... <h3> Leerzeichen verwendet, generiert CMSimple daraus Links für das Inhaltsverzeichnis, bei denen die Leerzeichen durch Underscores ("_") ersetzt sind. Z.B. wird "<h1>Tipps Tricks Links</h1>" zu "<a href=".../index.php?Tipps_Tricks_Links"...>Tipps Tricks Links</a>".

Problem dabei: für Google und Co. ist der Underscore kein Trenner ("Separator"), sondern ein Zeichen wie jedes andere. "Tipps_Tricks_Links" ist als etwa gleichbedeutend mit "TippsXTricksXLinks". Eine (von vielen anderen) SEO-Optimierungsmöglichkeiten entfällt damit.

Kennt jemand eine Möglichkeit, CMSimple dazu zu veranlassen, "-" statt "_" zu verwenden?
Bye for now
MFromH

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by Holger » Wed Jun 04, 2008 6:22 am

Eventuell hilft Dir dieser Wiki-Artikel schon weiter:
http://cmsimplewiki.com/doku.php/tips_a ... /clean_url
Dort ist auch ein Link zu einem Thread im alten Forum enthalten.

Vielleicht kannst Du diese Methode für Deine Bedürfnisse erweitern.

Holger

MFromH
Posts: 20
Joined: Wed Jun 04, 2008 5:49 am

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by MFromH » Wed Jun 04, 2008 6:43 am

Hallo Holger,

Danke für Deine Antwort und für Deinen Tipp.

Für mich ist die zentrale Aussage des Artikels: "... this is not so easy." ;)

Man hat da doch an mehreren Stellen (PHP-Code, .htaccess) eine ganze Menge zu coden und zu beachten (und beim nächsten Update wieder ...), und das widerspricht IMHO dem Sinn eines CMS im allgemeinen und CMSimple im speziellen, denn normalerweise zielt man ja auf die Einfachheit, wenn man CMSimple verwendet und nicht Typo3 & Co aufsetzt. Und einfach ist das beschriebene Verfahren sicher nicht.

Dann würde ich schon lieber nach alter Väter Sitte PHP, CSS usw. coden. Dann kann man wenigstens alles beeinflussen.
Bye for now
MFromH

Till
Posts: 337
Joined: Tue May 20, 2008 7:20 am
Location: Germany: Bremen
Contact:

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by Till » Wed Jun 04, 2008 7:54 am

MFromH wrote:Kennt jemand eine Möglichkeit, CMSimple dazu zu veranlassen, "-" statt "_" zu verwenden?
Öffne die Datei cms.php. Suche nach "function uenc($s)". Dort steht:

Code: Select all

function uenc($s) {
	global $tx;
	if (isset($tx['urichar']['org']) && isset($tx['urichar']['new']))$s = str_replace(explode(",", $tx['urichar']['org']), explode(",", $tx['urichar']['new']), $s);
	return str_replace('+', '_', urlencode($s));
}
Ändere: return str_replace('+', '_', urlencode($s));
zu: return str_replace('+', '-', urlencode($s));

Und schon hast Du Dein Problem gelöst.

Till

EDIT:
Dennoch sollte bei Google der Unterstrich kein Problem sein. Such dort mal mit dem Wort "protopic". Es kommt an erster Stelle die Website eines Medizinmannes und zeigt auf die Seite mit der Überschrift "Elidel/Protopic". Obwohl Google das als einen einzigen Schriftzug interpretiert, wird es ausgewertet und bekommt sogar einen ersten Platz.

MFromH
Posts: 20
Joined: Wed Jun 04, 2008 5:49 am

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by MFromH » Wed Jun 04, 2008 9:24 am

Hallo Till,

Danke für Deinen Tipp. Sobald ich ein bisschen Zeit habe, werde ich ihn sofort testen.
Till wrote:Dennoch sollte bei Google der Unterstrich kein Problem sein. Such dort mal mit dem Wort "protopic". Es kommt an erster Stelle die Website eines Medizinmannes und zeigt auf die Seite mit der Überschrift "Elidel/Protopic". Obwohl Google das als einen einzigen Schriftzug interpretiert, wird es ausgewertet und bekommt sogar einen ersten Platz.
Da steht ja auch in der URL "?Informatives:Elidel%2FProtopic" und nicht "?Informatives_Elidel_Protopic" ;)

Die Frage, was warum bei Google auf Platz 1 steht, ist überaus komplex, und eine ganze Menge Menschen leben davon, dass Sie sich damit auskennen.

Wenn Du nach "hier" googlest, erscheint auf Platz 1 die Downlad-Seite für den Adobe Reader. Da kommt das Wort hier überhaupt nicht vor. Nicht im Text, nicht im Title, nicht in der Description. Aber auf 355.778 Seiten steht (sinngemäß) "Um dieses Dokument lesen zu können, benötigen Sie den Adobe Reader, den Sie [hier] kostenlos herunterladen können" ;) .

Nun sind wir alle nicht Adobe. Und uns Normal-Seiten-Bauern hilft die Erkenntnis schon weiter, dass Google es nett findet, wenn sich das Keyword, nach dem gesucht wird, in der URI, im <title>-Tag und im Text Deiner Seite wiederfindet. Und dass ein "_" in der URI wie ein Buchstaben behandelt wird, kannst du z.B. unter http://www.abakus-internet-marketing.de ... -3324.html nachlesen.
Bye for now
MFromH

Till
Posts: 337
Joined: Tue May 20, 2008 7:20 am
Location: Germany: Bremen
Contact:

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by Till » Wed Jun 04, 2008 9:55 am

MFromH wrote:Da steht ja auch in der URL "?Informatives:Elidel%2FProtopic" und nicht "?Informatives_Elidel_Protopic"
OK, dann auf ein Neues ;-). Such mal bei Google nach "orgelkonzert eichler". Schon wieder an erster Stelle findest Du die URL: http://www.allgemeinarzt-dr-eichler.de/?Mehr_Infos:Programm_Orgelkonzert_2006, wobei "Orgelkonzert" hervorgehoben ist - trotz der Unterstriche davor und danach.
Und weiter siehst Du in der Unterrubrik die URL: http://www.allgemeinarzt-dr-eichler.de/?Informatives:Orgelmusik.
Da ist in dem Wort "Orgelmusik" die Silbe "Orgel" hervorgehoben. Das zeigt eigentlich, dass die Suchmaschinen schon recht clever sind.

Till

MFromH
Posts: 20
Joined: Wed Jun 04, 2008 5:49 am

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by MFromH » Wed Jun 04, 2008 10:14 am

Dass Google etwas findet, was mit "_" in der URI steht, beweist ja nicht, dass er die Informationen aus der URI hat. Schließlich steht dasselbe ja auch noch als <h2>-Tag auf der Seite selber (und anzunehmenderweise auch im Text).

Dass Google in der SERP etwas hervorhebt, beweist das übrigens genausowenig. Da spuckt er einfach nur aus, was ihm die Index-Abfrage geliefert hat, und markiert dann das, wonach Du gesucht hast.

Ich bin (leider) kein Google-Entwickler, und ebendiese sagen mir auch nicht Bescheid, wenn sie etwas ändern. Vielleicht ist es ja mittlerweile so, dass "_" und "-" gleich behandelt werden. Und vielleicht ist das Ganze sowieso nur ein "Zünglein an der Waage". Wenn es um die vordersten Plätze geht, könnte es aber vielleicht schon nützlich sein.
Bye for now
MFromH

MFromH
Posts: 20
Joined: Wed Jun 04, 2008 5:49 am

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by MFromH » Tue Jun 10, 2008 11:44 am

Till wrote:Ändere: return str_replace('+', '_', urlencode($s));
zu: return str_replace('+', '-', urlencode($s));

Und schon hast Du Dein Problem gelöst.
Genialer Tipp!! Hat funktioniert!!

Danke :D
Bye for now
MFromH

meltemi
Posts: 177
Joined: Sat Feb 22, 2014 10:11 pm
Location: Franken (Deutschland)
Contact:

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by meltemi » Sat Feb 22, 2014 11:10 pm

Hallo,

Dank an Till :D

Genau nach dieser Möglichkeit habe ich auch gesucht: die (verbindenden) Unterstriche durch (trennende) Minuszeichen (alias Bindestriche) ersetzen.

Die Funktion ist jetzt (Version 1.6.1) aber nicht mehr in der /cmsimple/cms.php, sondern in der /cmsimple/functions.php, Zeile 1101ff.

Gruß, meltemi


P.S.:
Darf ich als Neuling schon einen Wunsch äußern? In den "Einstellungen / CMS" sollte es eine Wahlmöglichkeit geben, ob in den Adressen die Leerzeichen durch Unterstriche oder Minuszeichen (Bindestriche) ersetzt werden. Die Unterstriche könnten (weil wohl meist verwendet) der Standardwert bleiben.

Aber Minuszeichen-Anhänger müßten nicht nach jedem Update die /cmsimple/functions.php von Hand ändern.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Leerzeichen in <h1> => Underscore ("_") in TOC

Post by cmb » Sun Feb 23, 2014 12:25 am

meltemi wrote:Darf ich als Neuling schon einen Wunsch äußern? In den "Einstellungen / CMS" sollte es eine Wahlmöglichkeit geben, ob in den Adressen die Leerzeichen durch Unterstriche oder Minuszeichen (Bindestriche) ersetzt werden. Die Unterstriche könnten (weil wohl meist verwendet) der Standardwert bleiben.
Ich würde den Wunsch gerne erweitert umgesetzt sehen, so dass es möglich ist, so genannte clean URLs zu haben. Also nicht nur Minus (-) statt Unterstrich(_), sondern auch konsequent klein geschrieben (sehr praktisch für Mobiles), und auch das Fragezeichen sollte weg. Also statt http://example.com/?CMSimple_XH eben http://example.com/cmsimple-xh. Siehe dazu auch das Clean URL FAQ. Wie man dem Thread entnehmen kann, ist das alles nicht so einfach, aber ich hoffe dennoch, dass wir das in nicht allzu weiter Zukunft für CMSimple_XH anbieten können. Daher habe ich das auch schon vorgeschlagen. :)
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply