Gedanken zu SEO, Stichwort: Doppelter Content

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
olape
Posts: 1642
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by olape » Mon Feb 15, 2016 11:16 am

Hallo,

das stützt zumindest meine Theorie, das auch index.php?xxxxx als doppelter Content zählt und besser entfernt wird.

Gruss Olaf

Michael_G
Posts: 89
Joined: Thu Feb 18, 2016 11:01 pm

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by Michael_G » Mon Feb 22, 2016 11:51 pm

Hallo Olaf,

erst einmal auch von mir ein riesiges Dankeschön für diese ausgezeichnete Ausführung/Anleiung/Lösung!

Bis auf einen kleinen, aber wesentlichen Teil funktioniert das auf meinem Webspace bei 1&1 auch so.
Wie problematisch das mit index.php ist, kann ich nicht einschätzen. Aber auf jeden Fall ist es möglich und es sollte daher, aus meiner Sicht, ausgeschlossen werden.
Mit einer weiteren Regel in der htaccess kann man index.php aus der URL entfernen. (auch hier wieder der Unterschied http oder https, entsprechend die # entfernen!)

Code: Select all

# index.php wir aus URL entfernt
  #RewriteRule ^([a-z]?[a-z]?/?)index\.php$ http://%{HTTP_HOST}/$1 [R=301]
  #RewriteRule ^([a-z]?[a-z]?/?)index\.php$ https://%{HTTP_HOST}/$1 [R=301]
# Ende index.php wir aus URL entfernt
Gruss Olaf
Die Google Webmastertools zeigen mir täglich nicht gefundene Seiten mit index.php und dahinter noch /?Seitenname, viele auch als /index.php/en/en/?Seitenname, deshalb musste ich am folgenden Teil Deiner Lösung noch etwas experimentieren. Dabei kam dies heraus, was schon gut funktioniert:

Code: Select all

# index.php aus URL entfernen
  RewriteRule ^([a-z]?[a-z]?/?)index.php/([a-z]?[a-z]?/?)$ https://%{HTTP_HOST}/$1 [R=301,L]
# Ende index.php aus URL entfernen
Leider kenne ich mich mit den Parametern von RewriteRule nicht aus, habe nirgendwo eine Erklärung des Strings ([a-z]?[a-z]?/?) finden können, er deckt aber wohl einfach die Suche nach allen möglichen Zeichenfolgen ab. Besonders interessiert mich hier noch die Bedeutung des Teils "?/?", steht wohl als Trennzeichen in der URL, blöd ausgedrückt?

Jedenfalls wurden bei mir ohne obige Modifikation URLs mit beispielsweise https://sinnvoll-online.info/?index.php/?Mobilfunk nicht umgeleitet zu https://sinnvoll-online.info/?Mobilfunk.
Stattdessen wurde die Seite ohne Hintergrundgrafik und Seitenformatierung geladen, sieht dann so aus wie von einem Proxy verunstaltet oder als wenn eine miserable Internetverbindung erstmal nur den Verzeichnisbaum ähnlich der Sitemap übertragen hätte.

Wo der Crawler die index.php-Seiten überhaupt ausgräbt, weiß ich nicht genau, aber da ich auch noch alte Websites habe, deren Inhalte (fast fertig) umgezogen sind und die lange bei Google WMT angemeldet waren, vermischt Google vielleicht noch eine Weile die URLs.
Das dürfte sich aber dank des o. zitierten Codes bald erledigt haben.

Wenn meine Modifikation noch Fehler enthält oder noch viel besser gelöst werden kann, bin ich für Verbesserungsvorschläge dankbar!
Ciao
Michael

cmb
Posts: 13534
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by cmb » Tue Feb 23, 2016 10:10 am

Michael_G wrote:Leider kenne ich mich mit den Parametern von RewriteRule nicht aus, habe nirgendwo eine Erklärung des Strings ([a-z]?[a-z]?/?) finden können, er deckt aber wohl einfach die Suche nach allen möglichen Zeichenfolgen ab.
Diese Parameter nennt man reguläre Ausdrücke. (Welche Variante von mod_rewrite verstanden wird, kann ich aus dem Stehgreif nicht sagen.) Jedenfalls deckt dieser reguläre Ausdruck Zeichenketten bestehend aus 0-2 Buchstaben (a-z) und einem optionalen Slash am Ende ab, betrifft also z.B. den Zugriff auf index.php, en/index.php, fr/index.php etc.
Michael_G wrote:Besonders interessiert mich hier noch die Bedeutung des Teils "?/?", steht wohl als Trennzeichen in der URL, blöd ausgedrückt?
Die Fragezeichen beziehen sich jeweils auf das, was vorher kommt, und geben an, das dieses optional ist. /? heißt also, dass entweder ein Slash kommt, oder eben nichts.
Michael_G wrote:Jedenfalls wurden bei mir ohne obige Modifikation URLs mit beispielsweise https://sinnvoll-online.info/?index.php/?Mobilfunk nicht umgeleitet zu https://sinnvoll-online.info/?Mobilfunk.
Stattdessen wurde die Seite ohne Hintergrundgrafik und Seitenformatierung geladen, sieht dann so aus wie von einem Proxy verunstaltet oder als wenn eine miserable Internetverbindung erstmal nur den Verzeichnisbaum ähnlich der Sitemap übertragen hätte.
Ich selbst tue mich mit mod_rewrite auch schwer; das ist schon ein ziemlich komplexes Modul. Zunächst mal ist zu beachten, dass einmal definierte und ausgeführte 301 Weiterleitungen im Client (also Browser) gecachet werden können; dann kann es sein, dass spätere Änderungen in den RewriteRules vom Browser gar nicht mehr ausgelöst werden. Daher beim Testen erst mal nur 302 Weiterleitung definieren, oder aber den Browsercache löschen.
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 1642
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by olape » Tue Feb 23, 2016 2:34 pm

Hallo,

@Christoph
Danke, ich hätte es auf keinen Fall besser erklären können.
/index.php/en/en/?Seitenname
Das halte ich doch für sehr ungewöhnlich. Wie das zustande kommen sollte, kann ich nicht erklären.

Die Regeln für .htaccess sind auf mehreren Servern, bei verschiedenen Providern im Einsatz und funktionieren bisher fehlerfrei.
Wobei man in der Schreibweise sicher immer etwas variieren kann.

Code: Select all

([a-z]?[a-z]?/?)
kann man sicher noch kürzer über die Bühne bringen.
Aber es erfüllt seinen Zweck und ist, wie ich finde die am leichtesten verständliche Schreibweise.

Eigentlich müsste

Code: Select all

([a-z]{2}/)?
den gleichen Zweck erfüllen.

Wenn ich es genau überlege, könnte man wahrscheinlich nur die index.php abfragen, unabhängig vom Sprachverzeichnis.
Aber irgendetwas hatte dabei nicht funktioniert. Ich weiss nur nicht mehr genau was.

Gruss Olaf

cmb
Posts: 13534
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by cmb » Tue Feb 23, 2016 3:01 pm

olape wrote:Eigentlich müsste

Code: Select all

/([a-z]{2}/)?
den gleichen Zweck erfüllen.
Ich finde diese Variante besser, weil die andere auch nicht erwünschte Umleitungen ermöglichen würde, z.B. beim Aufruf von xindex.php oder xyindex.php. Das ist aber eher theoretisch, weil eigentlich niemand diese URIs aufrufen wird.
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 1642
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by olape » Tue Feb 23, 2016 8:53 pm

Wenn man es wirklich nur auf die eine index.php eingrenzen wollte, dann müsste man wahrscheinlich wenigstens ein Teil der URL mit abfragen.
Ich probiere das nochmal.

Gruss Olaf

Michael_G
Posts: 89
Joined: Thu Feb 18, 2016 11:01 pm

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by Michael_G » Wed Feb 24, 2016 12:31 am

Hallo allerseits, danke für eure neuen Ideen!

Jetzt bekam ich von Google WMT wieder 52 neue nicht gefundene Seiten, also Futter für unser Script zum Testen :lol:
Nein, die meisten Seiten sind längst umgezogene Seiten, welche Google nur noch lernen muss.

Habe meine .htaccess versuchsweise dem letzten Vorschlag entsprechend geändert, das funktionierte leider nicht.
Als ich sie aber wieder auf die Art änderte, wie hier eine Seite vorher von mir selbst genannt, lief das prima. :)

Liegt in meinem Fall sicher daran, dass Google nicht gefundene Seiten meldete, die alle hinter dem /index.php noch was stehen haben, also zum Beispiel
könnte so eine von Google gemeldete Seite sein (hier nur als Beispiel, diese Seite wurde nie als 404 gemeldet):
https://sinnvoll-online.info/index.php/ ... Verwaltung

Wenn ich eine solche URL mit überflüssigem /index.php aufrufe, wird sie um den Müll erleichtert und alles ist wie es soll. :D

Ich hatte so gut wie keinen Fall, wo die URL mit /index.php endete.
Ciao
Michael

olape
Posts: 1642
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by olape » Wed Feb 24, 2016 7:39 am

Hallo,
/index.php/en/en/?Seitenname
kann, so wie ich das sehe, bei CMSimple_XH eigentlich nicht vorkommen. Selbst wenn man den Slash als URL-Trenner nutzt, würde man nur auf /index.php?Seitenname/en/en/ kommen.
Normal wäre /index.php/?Seitenname, /da/index.php/?Seitenname oder /en/index.php?Seitenname

Nicht gefundene Seiten, nach dem Löschen, offline Stellen oder Verschieben der Seiten kann man nur mit einzelnen, individuellen Regeln begenen.
Oder, du schaust dir mal Christophs Plugin Moved_XH an!

Gruss Olaf

Michael_G
Posts: 89
Joined: Thu Feb 18, 2016 11:01 pm

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by Michael_G » Wed Feb 24, 2016 10:14 am

Hallo Olaf,
olape wrote:Hallo,
/index.php/en/en/?Seitenname
kann, so wie ich das sehe, bei CMSimple_XH eigentlich nicht vorkommen. Selbst wenn man den Slash als URL-Trenner nutzt, würde man nur auf /index.php?Seitenname/en/en/ kommen.
Normal wäre /index.php/?Seitenname, /da/index.php/?Seitenname oder /en/index.php?Seitenname
Ja, ich glaube auch nicht, dass dieser Effekt von CMSimple_XH stammt. Es wird von Google WMT aber so gemeldet.
Wie der Crawler das zusammengebastelt hat, weiß ich nicht.
Nicht gefundene Seiten, nach dem Löschen, offline Stellen oder Verschieben der Seiten kann man nur mit einzelnen, individuellen Regeln begenen.
Oder, du schaust dir mal Christophs Plugin Moved_XH an!
Gruss Olaf
:lol: Moved_XH nutze ich seit dem 03.01., das hat laut Chris leider noch Fehler (die mir aber nicht aufgefallen sind). Vielleicht kommen daher die /en/en-Fehler?
Da meine beiden CMSimple_XH-Installationen sonst keinerlei Fehler zeigen, will ich es nicht darauf schieben. ;)
In Verdacht habe ich eher den Crawler, der da ältere Seiten und neue zusammenwürfelt.
Individuelle Regeln bekomme ich bei Nutzung von CMSimle_XH nicht hin, weil URLs mit ? nicht funktionieren.
Das ist der einzige schwere Nachteil. Beispiel, wie ich das ohne CMSimple_XH mit WebsiteBaker CE (CMS mit MySQL-DB) machen konnte:

Code: Select all

# Umgezogene Seiten melden:
RedirectPermanent /Computer/CMS https://domain.tld/Computer/Software/CMS

# Nicht mehr vorhandene Seiten aus dem Index nehmen lassen:
Redirect gone /Gibbetnetmehr/
Wenn das bei URLs mit Fragezeichen funktionieren würde, wäre Moved_XH obsolet.
Ciao
Michael

olape
Posts: 1642
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Gedanken zu SEO, Stichwort: Doppelter Content

Post by olape » Wed Feb 24, 2016 10:44 am

So,

ich habe die Regel für die index.php mal mit dem neuen Sysntax getestet.
Schein problemlos zu funktionieren und trifft jetzt natürlich wirklich nur index.php im root oder in Ordnern mit zwei Buchstaben.
Also im Normalfall die Sprachverzeichnisse. Natürlich wieder die entsprechende # entfernen!

Code: Select all

#index.php wir aus URL entfernt
  #RewriteRule ^([a-z]{2}/)?index\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
  #RewriteRule ^([a-z]{2}/)?index\.php$ https://%{HTTP_HOST}/$1 [R=301,L]
#Ende index.php wir aus URL entfernt
Wenn das bei URLs mit Fragezeichen funktionieren würde, wäre Moved_XH obsolet.
Ich habe hier mal zwei Beispiele. Das erste, das wurde eine Seite (normal als php) auf CMSimple umgestellt

Code: Select all

Redirect permanent /irgendeine.php http://www.daomain.tld/?irgendeineseite
Also so, wie du es schon beschrieben hast.

Das Zweite war für den Umstieg von CMSimple zu XH und Änderung des URL-Trenners.

Code: Select all

RewriteCond %{query_STRING} ^(irgendeineseite___Level2-Seite)$ [NC]
  RewriteRule ^$ http://www.doamin.tld/\?irgendeineseite--Level2-Seite [R=301,L]
Die zweite Regel wäre eigentlich das, was du suchst. Denn auch CMSimple ruft die Seite mit ? auf.
Eventuell noch http oder https anpassen!

Gruss Olaf

Es wird Zeit, das ich Hartmut die Zusammenstellung über SEO übergebe.
Da staht das drin.
Last edited by olape on Fri Feb 26, 2016 8:27 am, edited 1 time in total.

Post Reply