Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Ist diese URL noch sauber?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Ist diese URL noch sauber?

    Hallo und vielen Dank für den tolen Support überhaupt hier im Forum.

    Ich möchte gerne den nächsten Abschnitt meiner Arbeit reflektieren. Wie der Titel schon vermuten lässt geht es hier um 'saubere' URLs.

    Bevor ich meinen Ansatz vorstelle möchte ich gerne wissen, ob sich dafür mittlerweile auch ein richtiger Name etabliert hat. Also neben 'saubere url' oder 'lesbare url'. Das würde mir sicher helfen einfach noch mal genauer nachzulesen.

    Mein Konzept der URLs weicht vom Klassischen Aufbau ab.

    Oft gesehen habe ich Ansätze wie: domain.de/Key/Value/Key/Value/Key/Value.html

    Ich verfolge jedoch etwas in dieser Art: domain.de/Key-Value/Key-Value/Key-Value.html

    Ich denke zwar, dass diese Art des Aufbaus den meisten Leuten egal ist, aber trotzdem ist es schon etwas schwerer lesbar als die klassische Variante.

    Wie auch immer. Der Grund ist, dass meine Anwendung die URL in ein Array mit Keys und Values zerlegt. Wichtig an dieser Stelle ist mir, dass auch Keys existieren können, die keine Value besitzen. Die URL sieht dann so aus: domain.de/Key/Key/Key-Value/Key-Value/Key.html

    Es würde also ohne Rewrite genau diesem Muster entsprechen: domain.de?key=&key=&key=value&key=

    Ich kann bei dieser Methode also unterscheiden, ob es sich bei den Daten in der URL um Keys oder Values handelt.

    Nun bin ich in einem Teil der Verwaltung meines Systems in der Lage bestimmte Keys an konkrete Funktionen() des Systems zu binden.

    Daher würde zum Beispiel domain.de/page-willkommen/forum-13/thread-74.html nicht nur ein Array erzeugen sondern gleichzeitig Funktionen ausführen, die per Verwaltung an 'page', 'forum' und 'thread' gebunden sind. Und trotzdem wären die Daten och als Array für andere oder die selben Funktionen verfügbar.

    Das System merkt also anhand der URL und den hinterlegten Funktionen, was es zutun hat.

    Bis hierher würde auch alles mit dem klassischen Style domain.de/key/value/key/value.html funktionieren.

    Jetzt möchte ich aber das `page-` vor willkommen loswerden.

    Daher möchte ich, dass die Funktion, welche meine Seiten lädt auch ohne 'page-' und nur durch 'willkommen' ausgelöst wird. Das erreiche ich, indem mein System zu jedem Key, der in der URL gefunden wird und aber keine Value aufweist automatisch eine zugehörige Funktion sucht. Wird diese Funktion nicht gefunden oder wurde dieser Key nicht als Action registriert, wird automatisch eine Standardfunktion aufgerufen. Dieser wird die unbekannte Aktion 'Willkommen' als Parameter übergeben. Diese Standardfunktion kann von Extensions überschrieben werden. In diesem Fall von meiner Seitenverwaltung. Nun wird also ‚willkommen’ meiner Seitenverwaltung übergeben. Diese lädt die Seite willkommen oder wahlweise auch eine 404 Seite. Die Standardaction lädt übrigens immer eine 404 Seite.

    Beispiele:
    Code:
    domain.de/Willkommen.html -> lädt die Seite Willommen (Obwohl willkommen keine Action ist)
    
    domain.de/page-willkommen.html -> lädt die Seite Willkommen
    
    domain.de/Willkommen/Forum-13.html -> lädt die Seite Willkommen und fügt das Forum mit der id 13 (oder auch einem Namen) zum Inhalt der Seite hinzu
    
    domain.de/Forum-13/Willkommen.html -> lädt die Seite Willkommen und fügt das Forum mit der id 13 (oder auch einem Namen) zum Inhalt der Seite hinzu (erzeugt das Gleiche wie das Beispiel vorher)
    
    domain.de/sitemap.html -> lädt eine Sitemap für Suchmaschinen mit einer Funktion, die an sitemap gebunden ist
    
    domain.de/robots.txt -> Führt eine Funktion im System aus, die eine robots.txt erzeugt
    
    domain.de/printarticle-15.html -> erzeugt eine Druckansicht für den Artikel mit der id 15
    Der Grund, warum ich alles so dynamisch gestalte und nicht gleich in der Rewrite-Regel festlege ist, das ich das System für viele verschiedene Projekte einsetze. Nicht jedes Projekt braucht Seiten bzw. hat an dieser Stelle evtl. was anderes eingebaut.

  • #2
    Hi,

    was genau ist jetzt deine Frage? Ich sehe jetzt ehrlich gesagt auch nicht so ganz den Zusammenhang zum Softwaredesign. Du hast einen Front-Controller, der über URL-Parameter gesteuert wird. Ob und wie du nun die URLs umschreibst, ist doch vollkommen deine Entscheidung. Mache es so, wie es dir gefällt, wie du meinst, dass es optimal lesbar ist. Suchmaschinen ist es vollkommen egal, wie du die URLs umschreibst, zumindest Google ist es sogar egal, ob du sie überhaupt umschreibst. Wichtig ist bloß, dass du Duplicate Content vermeidest und nicht aus Versehen unter zwei URLs denselben Content anbietest. example.com/index.php?key1=foo&key2=bar ist was anderes als exmaple.com/index.php?ke1=foo. Auch angehängte Ampersands solltest du vermeiden. Mit etwas Pech wird example.com/index.php?key=value als etwas anderes angesehen als example.com/index.php?key=value&
    Bei umgeschriebenen URLs ist das genau dasselbe. example.com/key/value ist etwas anderes als example.com/key-value ist etwas anderes als example.com/key1/value1/key2/value2. Auch mit nachfolgenden Slashs wäre ich vorsichtig. Ich leite in aller Regel umgeschriebene Verzeichnisnamen auf die Variante mit Slash um. Also example.com/page1 wird weitergeleitet zu example.com/page1/. example.com/foobar.html wird natürlich ohne Slash belassen, auch wenn es eigentlich auch ein umgeschriebener URL ist, der z.B. eigentlich auf example.com/index.php?url=/foobar.html verweist oder so.

    Fazit: wie du umschreibst und ob du umschreibst ist mistegal. Du musst nur konsequent bleiben und auf duplicate Content achten.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      Das eine Prinzip ist generisch, das andere konventions-gesteuert, dafür aber individueller. Ich bin da bei Manko:
      Mache es so, wie es dir gefällt
      [COLOR="#F5F5FF"]--[/COLOR]
      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
      [COLOR="#F5F5FF"]
      --[/COLOR]

      Kommentar


      • #4
        Danke! Evtl. hab ich den BegrifF Design auch zu weit gefasst. Trotzdem ist es hilfreich auch einfach mal was abgesegnet zu bekommen

        @Manko10: Danke, dass du mich nochmal an den Duplicate Content erinnert hast. Da hätte ich jetzt nicht daran gedacht.

        Kommentar


        • #5
          Zitat von Geryon Beitrag anzeigen
          @Manko10: Danke, dass du mich nochmal an den Duplicate Content erinnert hast. Da hätte ich jetzt nicht daran gedacht.
          Dann erinnere ich gleich auch noch an rel="canonical", bevor das auch vergessen wird
          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

          Kommentar


          • #6
            vergessen is gut^^ das hab ich garnet gewusst^^

            Kommentar


            • #7
              Sorry aber ich steig da jetzt nicht durch, wen stört denn duplicate content und warum? Ich hab mehr im Intranet zu tun, deshalb hab ich mit Google & co. nichts am Hut, interessieren würde es mich aber trotzdem.

              Kommentar


              • #8
                Zitat von cycap Beitrag anzeigen
                Sorry aber ich steig da jetzt nicht durch, wen stört denn duplicate content und warum?
                das sagt google dazu

                kurzfassung: google kann es dir ziemlich übel nehmen, wenn du den selben Inhalt auf mehreren Seiten anbietest. Schließlich könntest du dadurch öfter in den Suchergebnissen auftauchen.

                Es lässt sich zwar nicht verhindern und ist oft genug gewollt (mobi-version, druckversion), allerdings sollte man darauf achten, dass google (und co.) nur eine davon unter die lupe nimmt

                Kommentar


                • #9
                  Ich finde es eine Frechheit das google sich rausnimmt Seiten als "auffällig ähnlich" anzusehen, aber danke für die Info.

                  Kommentar


                  • #10
                    Naja, wieso als Frechheit. Google ist kein staatlich finanzierter öffentlicher Dienst, sondern auch ein privates Unternehmen. Folglich darf es auch entschieden, nach welchen Kriterien Seiten bewertet werden. Die Duplicate Content Policy entstand wie ich vermute aus der Idee, dass man um Google vorzugauckeln, relevant zu sein, einfach fremden Content übernimmt oder eigenen Content einfach nur repliziert.

                    Dass auch angehängte Slashs bereits als verschiedene URLs gedeutet werden, sehe ich oft in den Webmastertools. Da sind dann oft Links zweimal aufgeführt. Einmal mit Slash (example.com/page1) und einmal mit Slash (example.com/page1/). Deshalb achte ich beim URL-Rewriting sehr genau darauf, einen Slash am Ende zu fordern, damit die Regel zutrifft. Am Anfang der .htaccess steht dann meist eine Regel, die dafür sorgt, dass alle URLs ohne Slash, die nicht zu einer physisch existierenden Datei führen oder eine Dateiendung beinhalten, zur Variante mit Slash weitergeleitet werden. Damit erreiche ich das Standardverhalten des Apache bei Aufruf eines Verzeichnisses ohne nachfolgenden Slash. Dieses wird auch zur Variante mit Slash weitergeleitet.

                    Zu den Canonical-URLs: das sollte in der Tat nicht vergessen werden. Aber bitte verwechsle
                    Code:
                    <link rel="canonical" href="http://example.com/mypage" />
                    nicht mit
                    Code:
                    <link rev="canonical" href="http://exam.pl.invalid/df235d6" />
                    Letzteres ist ein (semantisch nicht ganz korrekter) Verweis auf einen Short-URL für diese Seite und wird von Google nicht beachtet, jedenfalls nicht im Sinne der hier genannten Canonical-URLs.
                    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                    Kommentar


                    • #11
                      soweit ich den Eintrag von Google verstanden habe, führt duplicate content jedoch nicht automatisch zum ausschluss, da der Google-Bot durchaus in der Lage ist, das zu migrieren.
                      Nur wenn sie merken, dass da versucht wird, sich Relevanz zu ergaunern, wird der Eintrag entfernt.

                      Vermeiden sollte man es trotzdem soweit möglich

                      Kommentar


                      • #12
                        Kennst du den Algorithmus von Google? Wenn nicht, dann würde ich mich nicht darauf verlassen. Google ist sicherlich in der Lage in bestimmten Fällen abzuwägen, ob es sich um bewusst duplizierten Content oder unfreiwillig redundante URLs handelt und durch die Canonical-URLs kannst du Google dabei helfen. Immerhin erklärst du damit offen, dass es sich um exakt denselben Artikel handelt, nur um einen anderen URL und Google bitte nur das „Original“ in den Index aufnehmen soll. Verlassen würde ich mich darauf aber nicht. In den Google Webmastertools weist Google einen auch auf Duplicate Content hin, sofern dieser auf der Seite gefunden wird.
                        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                        Kommentar


                        • #13
                          Zitat von cycap Beitrag anzeigen
                          Ich finde es eine Frechheit das google sich rausnimmt Seiten als "auffällig ähnlich" anzusehen, aber danke für die Info.
                          Niemand zwingt Webmaster, ihre Web-Seiten von Google indizieren zu lassen ...
                          Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

                          Kommentar

                          Lädt...
                          X