Twilo: URL codieren

Hallo,

welche Funktion ist eigentlich vorzuziehen?

urlencode oder rawurlencode

was finden Suchmachinen besser?

wenn eine Datei so heisst "test%20test.htm" oder so heisst "test+test.htm"
oder ist das den Suchmachinen egal?

mfg
Twilo

  1. Hi,

    wenn eine Datei so heisst "test%20test.htm" oder so heisst "test+test.htm"

    Das sind verschiedene Dateinamen.

    oder ist das den Suchmachinen egal?

    Wenn die Seite auffindbar ist, macht es keinen Unterschied. Und das Manual sagt uns, das rawurlencode() gedacht ist, um Querystrings zu encoden.

    Da du nicht sagst, was du eigentlich erreichen wilst, kann ich dir nichts genaueres sagen.
    IMO sollte man sowieso Leerzeichen in URLs vermeiden, da ältere Browser damit probleme kriegen können, wenn der Server das encoding nicht passend liefert. Hatte das Problem mal mit Netscape 4

    MfG
    Manuel

    1. Hallo,

      wenn eine Datei so heisst "test%20test.htm" oder so heisst "test+test.htm"

      Das sind verschiedene Dateinamen.

      stimmt hab ich eben getestet
      asche auf mein Haupt ;)

      oder ist das den Suchmachinen egal?

      Wenn die Seite auffindbar ist, macht es keinen Unterschied. Und das Manual sagt uns, das rawurlencode() gedacht ist, um Querystrings zu encoden.

      Da du nicht sagst, was du eigentlich erreichen wilst, kann ich dir nichts genaueres sagen.
      IMO sollte man sowieso Leerzeichen in URLs vermeiden, da ältere Browser damit probleme kriegen können, wenn der Server das encoding nicht passend liefert. Hatte das Problem mal mit Netscape 4

      ich hab folgende Verzeichnisstruktur
      /verzeichnis/#id#/hier soll etwas willkürlisches stehen.htm

      zur Zeit sieht mein Template so aus

      <a href="/{#$array._art#}/{#$array._id#}/{#$array._url#}.htm">{#$datensatz._vorname#} {#$array._nachname#}</a>

      zur Zeit ist $array._url nicht escaped
      ich habe nun bei php.net geschaut und diese beiden Funktionen entdeckt

      {#$array._url#}.htm existiert eh nicht auf den Server, die URL wird per Mod-Rewrite umgeschrieben
      welche Variante wäre hier vorzuziehen?

      mfg
      Twilo

      1. Hi,

        nimm urlencode().
        Google wertet ein + ncht als Trenner und somit hast du ein schlechteres Ranking, da Google die URL nicht in Schlüsselwörter aufsplitten kann. Da ist ein %20 viel besser, weil es eben auch wirklich ein Trenner zwischen wörtern ist.

        MfG
        Manuel

        1. Hallo Manuel,

          Google wertet ein + ncht als Trenner und somit hast du ein schlechteres Ranking, da Google die URL nicht in Schlüsselwörter aufsplitten kann. Da ist ein %20 viel besser, weil es eben auch wirklich ein Trenner zwischen wörtern ist.

          Passend zum Thema:

          http://www.bloggingpro.com/archives/2004/05/29/goose-rankings-dashes-or-underscores/

          Ob das stimmt, kann ich nicht nachvollziehen.

          Grüße
          Roland

          1. Hallo Manuel,

            Passend zum Thema:

            http://www.bloggingpro.com/archives/2004/05/29/goose-rankings-dashes-or-underscores/

            diesen Effekt scheit die Suche nach irgentetwas bei google nicht zu bestätigen. Vielleicht ist das ein bereits von google abgelegtes Verhalten.

            Hinsichtlich Deiner Frage, so erscheinen mir Unterstriche für das menschliche Auge (und darum sollte es immer zu allererst gehen), erheblich leiter zu erfassen, da diese in Verweisen vom üblichem Unterstrich überdeckt werden.

            Gruß aus Berlin!
            eddi