Matthias Apsel: "SEO"

Om nah hoo pez nyeetz, alle!

angenommen, es gibt mehrere Seiten gleichen Aufbaus, die ihre Inhalte aus einer Datenbank beziehen. Ich sehe grundsätzlich zwei verschiedene Möglichkeiten, wenn man mal von "URL-Aufhübschern" absieht, die Seiten auf dem Server vorzuhalten.

#1# Ich habe zwanzig mal dieselbe Seite mit unterschiedlicher URL auf dem Server, die Inhalte werden anhand des Seitennamens aus der DB geholt.  * http://example.com/sprechender_name.html

#2# Ich habe eine Seite, die Inhalte werden aufgrund des Querystrings aus der DB geholt.  * http://example.com/index.html?param=sprechender_name

Mein Gefühl sagt mir, das Variante 1 in den Suchergebnissen weiter oben steht. Aus Effektivitätsgründen ist natürlich #2# vorzuziehen.

Wie geht man damit um?

Matthias

--
1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
  1. Hi,

    #1# Ich habe zwanzig mal dieselbe Seite mit unterschiedlicher URL auf dem Server, die Inhalte werden anhand des Seitennamens aus der DB geholt.
    * http://example.com/sprechender_name.html

    #2# Ich habe eine Seite, die Inhalte werden aufgrund des Querystrings aus der DB geholt.
    * http://example.com/index.html?param=sprechender_name

    Mein Gefühl sagt mir, das Variante 1 in den Suchergebnissen weiter oben steht. Aus Effektivitätsgründen ist natürlich #2# vorzuziehen.

    Wie geht man damit um?

    Man macht die vom Client nach Schema 1 angeforderte Adresse mit mod_rewrite zu Schema 2.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Om nah hoo pez nyeetz, ChrisB!

      Man macht die vom Client nach Schema 1 angeforderte Adresse mit mod_rewrite zu Schema 2.

      funktioniert sogar ;-)

      Danke Matthias

      --
      1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
  2. hi,

    #1# Ich habe zwanzig mal dieselbe Seite mit unterschiedlicher URL auf dem Server, die Inhalte werden anhand des Seitennamens aus der DB geholt.

    Das ist kein doppelter Content mehr, das ist zwanzigfacher Content. Wird ziemlich abgewertet.

    #2# Ich habe eine Seite, die Inhalte werden aufgrund des Querystrings aus der DB geholt.
    * http://example.com/index.html?param=sprechender_name

    Same as above.

    Hotti

    1. #2# Ich habe eine Seite, die Inhalte werden aufgrund des Querystrings aus der DB geholt.
      * http://example.com/index.html?param=sprechender_name

      Same as above.

      Quark. Bei 2 isses genau andersherum: Ein URL, 20 Inhalte, je nach Parameter.

    2. Om nah hoo pez nyeetz, hotti!

      #1# Ich habe zwanzig mal dieselbe Seite mit unterschiedlicher URL auf dem Server, die Inhalte werden anhand des Seitennamens aus der DB geholt.

      Das ist kein doppelter Content mehr, das ist zwanzigfacher Content. Wird ziemlich abgewertet.

      nein, denn die Inhalte des resultierenden HTML-Dokumentes sind sehr wohl deutlichst unterschiedlich. Auf dem Server liegt nur zwanzigfach die bis auf die DB-Abfrage identische php-Datei.

      Matthias

      --
      1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
      1. hi,

        nein, denn die _Inhalte_ des resultierenden HTML-Dokumentes sind sehr wohl _deutlichst_ unterschiedlich. Auf dem Server liegt nur zwanzigfach die bis auf die DB-Abfrage identische php-Datei.

        Soso, der resultierende URL ;-)

        Mach doch den URL (wo Besucher eingibt) zum PRI in Deiner DB, dann hast Du gleich eine brauchbare Projektverwaltung, also eine editierbare Übersicht aller URLs (samt Meta-Tags, Titel, Author, LastModified...) und brauchst in Deiner Rewrite_Rule keine Übersetzng.

        Dann kannst Du immer noch festlegen, ob ein URL Parameter haben darf oder nicht uvam. mit Attributen regeln, z.B. Zugriffsrechte, Mehrsprachigkeit...

        Hotti

        1. Om nah hoo pez nyeetz, hotti!

          Mach doch den URL (wo Besucher eingibt) zum PRI in Deiner DB, dann hast Du gleich eine brauchbare Projektverwaltung, also eine editierbare Übersicht aller URLs (samt Meta-Tags, Titel, Author, LastModified...) und brauchst in Deiner Rewrite_Rule keine Übersetzng.

          Das klingt interessant. Führ doch mal ein wenig genauer aus. Bespielsweise anhand

          example.com/klamotten/hosen.html --> index.php?param=hosen example.com/klamotten/jacken.html --> index.php?param=jacken

          Matthias

          --
          1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
          1. Moin,

            Das klingt interessant. Führ doch mal ein wenig genauer aus. Bespielsweise anhand

            example.com/klamotten/hosen.html --> index.php?param=hosen
            example.com/klamotten/jacken.html --> index.php?param=jacken

            Willkommen auf meiner Bastelseite ;-)

            1. Rewrite schießt jeden (conditioniert) Request auf einen Loader (Script)

            1a: Besucher will Hosen

            2. Der Loader kriegt '/klamotten/hosen.html'
            3. der Loader erstellt ein Response-Objekt
            4. Eine DB wird über ein Mini-ORM an einen Hash gebunden (Hash ist ein Attribut des Response-Objekts)

              
            tie %objects, 'ORM';  
            
            

            5. Der Loader gibt den Content (hier body) aus, prozedurale Schreibweise

              
            print $objects{'/klamotten/hosen.html'}{body};  
              
            # als Method  
            print $response_object->body;  
            
            

            Hotti

  3. GET-Parameter sind SEO-seitig eher zu meiden, es sei denn, man nutzt sie, um doppelten Content zu maskieren, nachdem man sie in den Google Webmaster Tools ausgetragen hat.

    Gruß, LX

    --
    RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine ganz wunderbar. (...)