Dieter: Seite umleiten oder doppelte Inhalte?

Hallo,
ich habe gleich mehrere Fragen.
Ich habe zwei Domains, eine mit Umlaut ü und die andere mit ue, z.B.
meineüdom.test und meineuedom.test.
Auf beiden wollte ich die gleichen Inhalte speichern.
Nun habe ich gelesen, dass manche Suchmaschinen doppelte Inhalte "bestrafen".
Soll ich nun die Umlautdomain zu der anderen Domain umleiten?
Kann ich bei Aufruf der Umlautdomain den Inhalt der anderen Domain anzeigen, wobei die ursprüngliche URL angezeigt wird?
Falls letzteres möglich, hat dies auch Nachteile bei den Suchmaschinen?
Wie könnte man letztere Variante in .htaccess realisieren?
Schönen Gruß
Dieter

  1. Tag.

    Ich habe zwei Domains, eine mit Umlaut ü und die andere mit ue, z.B.
    meineüdom.test und meineuedom.test.
    Auf beiden wollte ich die gleichen Inhalte speichern.
    Nun habe ich gelesen, dass manche Suchmaschinen doppelte Inhalte "bestrafen".

    Das stammt aus der Abteilung "Scheisse erscheint oben" (kurz: SEO). Im SEO-Bereich war es lange Zeit üblich, denselben Text hundert- oder auch tausendfach im Netz zu verteilen, um den Anschein zu erwecken, die im Text genannte URL wäre mit ordentlich vielen Verweisen unterfüttert.

    Diese Schummelei ist natürlich irgendwann aufgeflogen und seit dem herrscht panische Angst vor diesen sogenannten "doppelten Inhalten" (obwohl es, wie eben beschrieben, nie im Wortsinne "doppelte" waren). Das geht soweit, dass manche schlaflose Nächte haben, weil ihre Sachen einmal mit www. und einmal ohne erreichbar sind – als wenn die bei Google zu blöd wären und nicht wüssten, dass dieser Umstand normal ist und keine böse Absicht.

    Davon abgesehen fließen in die Bewertung einer Seite etliche Faktoren ein. Wenn so ein doppelter Inhalt einen deutlichen Abschlag geben würde, müsste die ganze Seite derartiger Schrott sein, dass keiner der anderen Faktoren mehr greifen könnte. Dann wäre dein Problem aber nicht die Doppelung des Schrotts, sondern der Schrott selber.

    Soll ich nun die Umlautdomain zu der anderen Domain umleiten?

    Das halte ich schon alleine deshalb für angebracht, weil es einfach aufgeräumter und schöner daherkommt.

    Kann ich bei Aufruf der Umlautdomain den Inhalt der anderen Domain anzeigen, wobei die ursprüngliche URL angezeigt wird?

    Die Frage verstehe ich nicht. Du hast eingangs geschrieben, du hättest bei beiden Domains den gleichen Inhalt: Es gibt also keinen Inhalt von der einen oder der anderen Domain, den du bei der jeweils anderen anzeigen könntest.

    Willst du es bei zwei Domains gleichen Inhalts belassen, kannst du bei der Nebendomain die HTTP-Angabe Content-Location mitschicken, die auf die jeweilige URL dieser Seite unter der Hauptdomain hinweist. Dann verhaut Google dich ganz bestimmt nicht, schließlich spielst du mit offenen Karten. Irgendwo wird dieser Weg seitens Google auch empfohlen, ich habe jetzt nur keine Lust, danach zu suchen. Für den Besucher hat das keine Auswirkung.

    1. Hallo,
      zunächst vielen Dank,

      Kann ich bei Aufruf der Umlautdomain den Inhalt der anderen Domain anzeigen, wobei die ursprüngliche URL angezeigt wird?

      Die Frage verstehe ich nicht. Du hast eingangs geschrieben, du hättest bei beiden Domains den gleichen Inhalt: Es gibt also keinen Inhalt von der einen oder der anderen Domain, den du bei der jeweils anderen anzeigen könntest.

      Ich meinte damit:
      Den Inhalt nur in einer Domain speichern aber auch in der anderen anzeigen
      Gruß
      Dieter

      1. Ich meinte damit:
        Den Inhalt nur in einer Domain speichern aber auch in der anderen anzeigen

        Flegelflix meinte, dass sei eine Frage des persönlichen Geschmacks.

        Die Lösung hinsichtlich einer vermuteten Bestrafung durch die Suchmaschinen kann ein Meta-Tag

        <link rel="canonical" href="http://www.example.org/">

        im HTML oder HTTP Header sein.

        weitere Hinweise:

        http://googlewebmastercentral-de.blogspot.de/2013/04/5-haeufige-rel-canonical-fehler.html

        Falls Du von der Umlautdomain auf die "normale" umleiten willst und falls Du das mit .htacces darfst - hier meine Regel für einen ähnlichen Sachverhalt:

        RewriteCond %{HTTP_HOST} !^www\.fastix\.org  
        RewriteRule ^(.*)$ http://www.fastix.org/$1 [R=permanent,L]
        

        Freie Übersetzung:

        Wenn der HTTP_HOST (angesprochene Server) nicht www.fastix.org ist, dann schicke den Useragnet ("Browser") zu http://www.fastix.org und hänge dabei die angeforderte Ressource nebst Parametern gleich mit ran.

        Test: http://fastix.org
        Test: http://www.fastix.de/WebDesign-Developing.htm

        Jörg Reinholz

        1. @@Jörg Reinholz:

          nuqneH

          RewriteCond %{HTTP_HOST} !^www.fastix.org

          RewriteRule ^(.*)$ http://www.fastix.org/$1 [R=permanent,L]

            
          [Wann man nicht mod_rewrite einsetzen sollte](http://httpd.apache.org/docs/2.4/rewrite/avoid.html), Punkt 1: bei [einfacher Weiterleitung](http://httpd.apache.org/docs/2.4/rewrite/avoid.html#redirect).  
            
          Freie Übersetzung:  
            
          Wenn es mit `[link:http://httpd.apache.org/docs/2.4/mod/mod_alias.html#redirect@title=Redirect]`{:.language-apache} einfacher geht, verwende nicht `RewriteCond`{:.language-apache}/`RewriteRule`{:.language-apache}.  
            
          Um bspw. von meineüdom.test weiterzuleiten, in dortiger .htaccess:  
          ~~~apache
          Redirect permanent / http://meineuedom.test/  
          
          

          Oder statt 301 permanent vielleicht auch 303 seeother?

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      2. Kann ich bei Aufruf der Umlautdomain den Inhalt der anderen Domain anzeigen, wobei die ursprüngliche URL angezeigt wird?

        Die Frage verstehe ich nicht. Du hast eingangs geschrieben, du hättest bei beiden Domains den gleichen Inhalt: Es gibt also keinen Inhalt von der einen oder der anderen Domain, den du bei der jeweils anderen anzeigen könntest.

        Ich meinte damit:
        Den Inhalt nur in einer Domain speichern aber auch in der anderen anzeigen

        Deine Frage bezog sich also darauf, dass du derzeit für die beiden Domains zwei getrennte, aber inhaltlich identische Verzeichnisse bzw. Webhosting-Angebote hast, und ob du stattdessen beide Domains aus demselben Verzeichnis bedienen kannst? Ja, das ist möglich und sogar die Regel bei der Mit-und-ohne-www.-erreichbar-Geschichte. Wenn wir als Beispiel mal www.example.com und example.com anschauen, erreichst du dort denselben Inhalt, d.h. dieselben Datei auf dem Server, jedoch, aus technischer Sicht, unter zwei verschiedenen Domains (ob es www.example.com und example.com sind oder example.com und blafasel.it, ist technisch unerheblich).

        Dies erfordert aber Eingriffe an höherer Stelle der Konfiguration als .htaccess, du wirst deinen Hoster bitten müssen, beide Domains auf ein Verzeichnis zeigen zu lassen.
        Vor allem aber ändert es nichts an deinem Ausgangsproblem: Ob da nun unter den beiden Domains A und B dieselbe Datei oder zwei gleiche Dateien (lies: Kopien) ausgeliefert werden, ist von außen nicht erkennbar, mithin in jedem Falle "doppelter Inhalt".
        Von außen siehst du nur die Domain und die gelieferten Daten, jedoch nie, wo die Daten herstammen.

        Du solltest nichtsdestotrotz auf jeden Fall immer nur eine Kopie deiner Seiten vorhalten und alle Domains auf diese eine Kopie verweisen lassen. Es ist bei mehreren Kopien schnell passiert, dass du mal die Aktualisierung einer vergisst. Das ist aber eine rein interne Verwaltungsangelegenheit.

        Das öffentliche Verweisen auf diese eine Kopie solltest entweder:

        • durch eine HTTP-Weiterleitung 301 durchführen, wie Jörg es mit RewriteCond/RewriteRule beschrieben hat. Dann landet der Browser immer auf der einen Haupt-URL, die Weiterleitung ist also für jeden Besucher offen zu erkennen.

        • durch zusätzliche technische Angabe der Haupt-URL bewerkstelligen, entweder mit Content-Location (HTTP) oder mit <link>-canonical (HTML). Dann bleibt der Browser bei der aufgerufenen Domain, egal, welche es ist, und lediglich die Suchmaschinen sehen, dass es sich um Kopien desselben Inhalts handelt.

        Ich bevorzuge, wie schon gesagt, die erste Variante.

  2. Kann ich bei Aufruf der Umlautdomain den Inhalt der anderen Domain anzeigen, wobei die ursprüngliche URL angezeigt wird?

    Was angezeigt wird, das wird auch abgerufen. Es gibt "Lösungen" mit Framesets, die sind aber "Humbug".

    Wenn beide Domains beim gleichen Hoster liegen, dann kannst Du (spätestens der Support kann es oder sollte es KÖNNEN) beide so konfigurieren, dass diese auf das gleiche Document-Root (Verzeichnis) verweisen. Damit wird dann natürlich auch der gleiche Inhalt angezeigt.

    Natürlich könnte man auch einen symbolischen Link für die Verzeichnisse anlegen aber hier scheinst Du der Frage nach überfordert und zweitens wird es wegen dieser Vermutung (und Sicherheitsbedenken der Hoster) regelmäßig nicht erlaubt.

    Jörg Reinholz

  3. @@Dieter:

    nuqneH

    Soll ich nun die Umlautdomain zu der anderen Domain umleiten?

    Umleiten, ja. So rum oder andersrum: von meineuedom.test zu meineüdom.test.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  4. Hallo,
    ich habe offensichtlich auch "duplicate-content".
    Ich steuere über index.var in meinem Root-Verzeichnis ob deutsche oder französische Version angezeigt wird.
    Bei Aufruf von example.com wird je nach Sprache zu example.com/de/index.html bzw. example.com/fr/index.html verzweigt.
    Man erhält also die deutsche Version über zwei Möglichkeiten:
    example.com und example.com/de/index.html
    Wenn ich jetzt example.com/de/index.html - wie empfohlen - umleiten würde (301) zu example.com würde ich doch vermutlich eine Endlosschleife erhalten.
    Was mache ich in diesem Falle sinnvolligerweise?
    Danke schön
    Gisèle

    1. ich habe offensichtlich auch "duplicate-content".

      Google ist Dir dankbar dafür, dass Du selbst übersetzt.

      Bei Aufruf von example.com wird je nach Sprache zu example.com/de/index.html bzw. example.com/fr/index.html verzweigt.

      Was meinst mit "verzweigt"?

      Man erhält also die deutsche Version über zwei Möglichkeiten:
      example.com und example.com/de/index.html

      Findet eine Weiterleitung statt oder wird die deutsche Version ohne eine solche geladen?

      Wenn ich jetzt example.com/de/index.html - wie empfohlen - umleiten würde (301) zu example.com würde ich doch vermutlich eine Endlosschleife erhalten.

      Das kommt darauf an.

      Was mache ich in diesem Falle sinnvolligerweise?

      Es gibt da viele Varianten.

      Variante 1:

      Beim Aufruf von http://example.com/ und übermitteln der Information "he, ich deutsches Browser!" wird ein Redirekt, also eine Umleitung zu http://example.com/de/ initiiert.

      Dann verbietet sich jede weitere Umleitung zu http://example.com/. Man könnte zwar Maßnahmen ergreifen (Sessions, Cookies...) aber das ist alles Unsinn.

      Variante 2:

      Keine Umleitung, sondern ein locales rewrite bzw. include.

      Variante 2a)
      ------------
      Useragent fordert http://example.com/ und übermittelt die Information "he, ich deutsches Browser!"

      Auslieferung von DOCUMENT_ROOT/de/index.html oder DOCUMENT_ROOT/index.html.de. Es wird aber kein Redirekt durchgeführt.

      Dann ist eine Umleitung zu http://example.com/ obsolet, denn das ist die URL.

      Variante 2b)
      ------------
      Useragent fordert http://example.com/de/ und übermittelt die Information "parlez en francais avec moi!"

      Wegen der expliziten Willenserklärung des Benutzers erfolgt Auslieferung von DOCUMENT_ROOT/de/index.html oder DOCUMENT_ROOT/index.html.de. Es wird aber ebenfalls kein Redirekt durchgeführt.

      Dann ist eine Umleitung zu http://example.com/ obsolet, denn das ist die URL.

      Wenn Du sauber arbeiten willst, dann versehe im Fall der Variante 2 die Webseiten mit den entsprechenden Angaben:

      <link rel="alternate" hreflang="de" href="http://example.com/de/" />  
      <link rel="alternate" hreflang="fr" href="http://example.com/fr/" />
      

      Dann werden Deine sprachspezifischen Seiten in den Suchmachinen auch passend zur Sprache und/oder Region angezeigt.

      Theoretisch könntest Du, wenn diese Seiten abgerufen werden, ein Cookie setzen und zu http://example.com/ zurückschicken, nur wüsste ich keinen triftigen Grund für den Aufwand, halte das sogar für kontraproduktiv.

      (W3C dazu)
      Zitat:
      "If the alternate keyword is used with the hreflang attribute, and that attribute's value differs from the root element's language, it indicates that the referenced document is a translation."

      Wenn das "alternate"-Schlüsselwort zusammen mit einem "hreflang"-Attribut benutzt wird, dessen Wert von der Sprachangabe für das Root-Element (der aktuellen Webseite) abweicht, dann zeigt das an, dass das referenzierte Element eine Übersetzung ist.

      (http://www.ietf.org/rfc/bcp/bcp47.txt) (Ab Seite 79 mit Beispielen für Sprachen bzw. Sprachen/Regionen)

      Jörg Reinholz

      1. Hallo Jörg,

        Bei Aufruf von example.com wird je nach Sprache zu example.com/de/index.html bzw. example.com/fr/index.html verzweigt.
        Was meinst mit "verzweigt"?

        In der Datei index.var steht:

          
        URI: index; vary="type,language"  
          
        URI: /de/index.html  
        Content-type: text/html; qs=1.0  
        Content-language: de  
          
        URI: /fr/index.html  
        Content-type: text/html; qs=1.0  
        Content-language: fr
        

        Dadurch wird "verzweigt" zu der entsprechenden Sprachversion.
        Grüße
        Gisèle

        1. In der Datei index.var steht:

          URI: index; vary="type,language"

          URI: /de/index.html
          Content-type: text/html; qs=1.0
          Content-language: de

          URI: /fr/index.html
          Content-type: text/html; qs=1.0
          Content-language: fr

          
          > Dadurch wird "verzweigt" zu der entsprechenden Sprachversion.  
            
          Aha. Und die .htaccess sieht so aus:  
            
          `DirectoryIndex index.var`{:.language-apache}  
            
          Es findet keine Weiterleitung statt, statt dessen liefert der Server dann die index.html  aus dem zur Sprache passenden Ordner aus.  
            
          Wenn Deine Serverkonfiguration so aussähe:  
            
          `DirectoryIndex index.var`{:.language-apache}  
            
          und wenn gleichzeitig Deine index.var freilich so aussähe:  
            
          ~~~apache
            
          URI: index; vary="type,language"  
            
          URI: de/index.php  
          Content-type: text/html; qs=1.0  
          Content-language: de  
            
          URI: fr/index.php  
          Content-type: text/html; qs=1.0  
          Content-language: fr
          

          und dazu noch die deutsche Version der index.php so:

          <?php  
          header("Location: /?lang=de");  
          ?>
          

          (die franzmännische analog ...)

          Dann bekämst Du Umleitungen bis der Browser abbricht. Nur macht das aber auch keinerlei Sinn. Ist es nicht viel mehr so, dass Dir ein redirect zu

          http://example.com/de/

          empfohlen wurde? Das würde ich verstehen.

          Jörg Reinholz

    2. Tag.

      ich habe offensichtlich auch "duplicate-content".
      Ich steuere über index.var in meinem Root-Verzeichnis ob deutsche oder französische Version angezeigt wird.

      Du hast kein Problem, weil dein Server automatisch meldet, welche tatsächliche URL er auswählt und liefert. Schaust du dir mit Firebug o.ä. die Serverantwort an, wirst du dort beim Abruf von / in etwa folgende Zeilen entdecken (und ein paar andere, im Moment unwichtige):

      Content-Language: de
      Content-Type: text/html; charset=utf-8
      Content-Location: index.html.de
      Vary: negotiate,accept-language,Accept-Encoding

      In der letzten Zeile (Vary) steht, dass er aus verschiedenen Quellen eine für den Browser passende gewählt hat (und warum er glaubt, dass sie passt), und in mit Content-Location sagt er, dass die Originalquelle unter /index.html.de abzurufen ist.

      Du hast also keine "bösen" doppelten Inhalte, weil du klar zu verstehen gibst, was du auslieferst und wo das Original steht.

      Du hast allerdings ein anderes Problem: Der Googlebot sendet, anders als Browser, keine Sprachpräferenzen, mithin bekommt er immer nur die Standardsprache geliefert. So nett die automatische Sprachwahl auch ist, du solltest daher auf jeder Seite dafür sorgen, dass die anderen Sprachen mit einem anklickbaren Verweis eingebunden werden.

      1. @@Flegelflix:

        nuqneH

        Du hast allerdings ein anderes Problem: Der Googlebot sendet, anders als Browser, keine Sprachpräferenzen, mithin bekommt er immer nur die Standardsprache geliefert. So nett die automatische Sprachwahl auch ist, du solltest daher auf jeder Seite dafür sorgen, dass die anderen Sprachen mit einem anklickbaren Verweis eingebunden werden.

        Und das nicht (nur) wegen Suchmaschinen*, sondern für Menschen**.

        Qapla'

        * es gibt auch andere als die Datenkrake Google

        ** Der Link führt zu verschiedenen Sprachversionen, ohne dass zu einem sprachspezifischen URI weitergeleitet wird. So sollte es sein.

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. Hi Gunnar

          ** Der Link führt zu verschiedenen Sprachversionen, ohne dass zu einem sprachspezifischen URI weitergeleitet wird.

          Das verstehe ich nicht.
          Ich habe einen Link zur jeweiligen anderen Sprache (example.com/de/index.html bzw. example.com/fr/index.html)
          Ich wüsste nicht, wie ich beides Mal auf die gleiche URL (mit unterschiedlichem Inhalt) verzweigen sollte.
          Grüße
          Gisèle

          1. @@Gisèle:

            nuqneH

            ** Der Link führt zu verschiedenen Sprachversionen, ohne dass zu einem sprachspezifischen URI weitergeleitet wird.

            Das verstehe ich nicht.
            Ich habe einen Link zur jeweiligen anderen Sprache (example.com/de/index.html bzw. example.com/fr/index.html)
            Ich wüsste nicht, wie ich beides Mal auf die gleiche URL (mit unterschiedlichem Inhalt) verzweigen sollte.

            Bei den sprach_spezifischen_ Links auf den Seiten zu den jeweils anderen Sprachversionen müssen die URIs selbstverständlich unterschiedlich sein. Mit diesen Links willst du ja gerade _nicht_ automatische Sprachvereinbarung (language negotiation) machen, sondern direkt auf die jeweilige Sprachversionen verweisen, da diese Links insbesondere dafür da sind, wenn die Automatik einen Nutzer nicht zur richtigen Sprachversion führt.

            Im Allgemeinen sollten Links zu Inhalten einer mehrsprachigen Website mit gleichen Inhalten aber _generisch_ sein, d.h. nicht die Sprachversion enthalten. So können sie an andere weitergegeben werden und jeder Empfänger bekommt den Inhalt in seiner jeweiligen bevorzugten Sprache ausgeliefert.

            Wie der Link zu jenem Artikel. Den ich inzwischen auch nicht mehr (wie in dem alten Posting gesagt) auf Englisch zu lesen bekomme. ;-)

            Qapla'

            --
            „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    3. Was mache ich in diesem Falle sinnvolligerweise?

      Content Negotiation => Language Negotiation.

      1. @@hotti:

        nuqneH

        Was mache ich in diesem Falle sinnvolligerweise?

        Content Negotiation => Language Negotiation.

        Bei *aufmerksamem* Lesen kommt man drauf, dass Gisèle genau das bereits macht:

        Bei Aufruf von example.com wird je nach Sprache zu example.com/de/index.html bzw. example.com/fr/index.html verzweigt.

        Nun kann man das einfach mit MultiViews tun oder (für gehobenere Ansprüche) mit var-Dateien, wie auch in jenem Artikel erwähnt.

        Ich steuere über index.var in meinem Root-Verzeichnis ob deutsche oder französische Version angezeigt wird.

        Aha. Die Frage, *ob* language negotiation, ist längst positiv entschieden. Die Frage ist noch, wie.

        Ob beim Aufruf von example.com zu example.com/de/index.html bzw. example.com/fr/index.html *weitergeleitet* wird, d.h. dass dann example.com/de/index.html bzw. example.com/fr/index.html in der Adressleiste des Browsers stehen soll, oder nicht. Es gibt gute Gründe, dass nicht, d.h. dass weiterhin example.com in der Adressleiste steht.

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. hi,

          Nun kann man das einfach mit MultiViews tun oder (für gehobenere Ansprüche) mit var-Dateien, wie auch in jenem Artikel erwähnt.

          Da ist von zwei verschiedenen Ansätzen die Rede.

          Aha. Die Frage, *ob* language negotiation, ist längst positiv entschieden. Die Frage ist noch, wie.

          Es gibt auch noch andere Ansätze, die sich durch Überlegung recht einfach umsetzen lassen und zwar so, dass sich das Aushandeln von Inhalten nicht nur auf die Sprache beschränkt, d.h., dass Language Negotiation nur ein Teil der Content Negotiation ist.

          Beispielsweise nutze ich einen eigens entwickelten dritten Ansatz zur Content Negotiation zum Aushandeln von Inhalten abhängig von der Gruppe eines angemeldeten Benutzers. Unter Einbeziehung des HTTProtocols ist das ohne großartigen Programmieraufwand erweiterbar auf die Language Negotiation, dazu muss nicht einmal die Server-Konfiguration geändert werden. Das ist reine Programmiertechnik, die Anwender zu schätzen wissen, welche in einem mehsprachigen Team arbeiten wo z.B. die Language Negotiation an eine Access Control gekoppelt ist.

          MfG