Page 1 of 1

Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Fri Apr 09, 2010 8:27 am
by Carmen
Hallo,

ich habe das Problem laut Google Webmaster Tools, das es doppelte Adressen bei den News Modul 2.10.3 gibt.

Beispiel:

Original: http://www.angelhuette.de/news/29/28/Fr ... fest-2010/
Fehler: http://www.angelhuette.de/news/29/28/Fr ... fest-2010/

Wie kann man dies Vermeiden? Am besten währe ein Prüfunktion ob die Url richtig ist und bei ein Fehler auf die Original Url per 301 Weiterleitung auf die richtige Url weiterleitet.

Ich würde mich sehr freuen über ein Tipp bzw. Hilfe.

Grüße Carmen

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Fri Apr 09, 2010 8:39 am
by cyberman
Carmen wrote: Wie kann man dies Vermeiden? Am besten währe ein Prüfunktion ob die Url richtig ist und bei ein Fehler auf die Original Url per 301 Weiterleitung auf die richtige Url weiterleitet.
Die gibt es schon  ;) - nennt sich kanonische URLs (ist eine Google-eigene Erfindung) und wird auch vom News-Modul unterstützt.

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Fri Apr 09, 2010 8:53 am
by Carmen
cyberman wrote:
Carmen wrote: Wie kann man dies Vermeiden? Am besten währe ein Prüfunktion ob die Url richtig ist und bei ein Fehler auf die Original Url per 301 Weiterleitung auf die richtige Url weiterleitet.
Die gibt es schon  ;) - nennt sich kanonische URLs (ist eine Google-eigene Erfindung) und wird auch vom News-Modul unterstützt.
Wie lautet die Smarty Variable, damit ich an die Original URL komme? In der Doku steht dazu nichts sowie hier im Forum.

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Fri Apr 09, 2010 9:06 am
by cyberman
Etwas in dieser Art

Code: Select all

{if isset($canonical)}<link rel="canonical" href="{$canonical}" />{elseif isset($content_obj)}<link rel="canonical" href="{$content_obj->GetURL()}" />{/if}

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Fri Apr 09, 2010 9:54 am
by Carmen
cyberman wrote: Etwas in dieser Art

Code: Select all

{if isset($canonical)}<link rel="canonical" href="{$canonical}" />{elseif isset($content_obj)}<link rel="canonical" href="{$content_obj->GetURL()}" />{/if}
Das geht nicht, da ich dann das im Header stehen habe:

Original: http://www.angelhuette.de/news/29/28/Fr ... fest-2010/ ->
Fehler: http://www.angelhuette.de/news/29/28/Fr ... fest-2010/ -> 

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Fri Apr 09, 2010 10:07 am
by cyberman
Zumindest verweist es trotz der fehlerhaften URL im Link auf die gleiche URL - und das ist es, was Google sehen will.

Für die News gibts hier eine Lösung

http://forum.cmsmadesimple.org/index.ph ... #msg149048
http://forum.cmsmadesimple.org/index.ph ... #msg176761

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Wed Jul 21, 2010 8:15 pm
by geraldo
Hallo MaxH aeh Cyberman  ;D

ich bin gerade dabei canonical für News zu implementieren, aber das funzte nicht wie erhoffte.
WEIL: ich ein zwei Spalten Layout benutze, in dem in der linken Spalte News angezeigt werden und in der rechten Spalte die (fixen) Inhaltsseiten.

Je nachdem, von welcher Seite aus ich die News aufrufe erhalte ich im Mittelteil der canonical-URL verschiedene Werte

Beispiel
Von der Startseite http://bdsportactive.ch/ ergibt der Aufruf der zweiten News den Link
http://bdsportactive.ch/news/59/56/Die- ... demia.html
(mod_rewrite aktiviert !)

Gehe ich nun z.B. auf die Seite http://bdsportactive.ch/kapverden/fussb ... lheta.html
(die nciht auf dem Startlevel liegt, sondern einen "Lebel" tiefer und rufe nun genau diese News auf, wird auf die Seite
http://bdsportactive.ch/news/59/63/Die- ... demia.html
verwiesen.

Die canonicals habe ich im News-Detail und im Template im -Bereich definiert, wie Ronny-K vorgeschlagen hat

Die erste Ziffer ist die 'article-id' und die zweite Ziffer ist die content-id der jeweiligen Seite und dienen meines Erachtens dazu, zu verhindern, dass ein duplicate-key entsteht, sprich sich unter einer Adresse zwei unterschiedliche Inhalte verbergen.

meine Lösung dafür

Im News-Detail Template
{if isset($entry->canonical)}
 {assign var='canonical' value=$entry->canonical}
 {my_canonical value="$canonical"}
{/if}

Und mein User-Tag (UDT)

$path_parts = pathinfo( $params['value']);
$start = $path_parts['dirname'] ;
$start_len = strlen($start) - 2;
$start_start = 0;
$canonical = substr($start,$start_start,$start_len) . '56/' . $path_parts['basename'];
$smarty->assign('canonical', $canonical);

'56/' ist hardcoded, sollte eigentlich aus der DB-ausgelesen werde (entspricht imho der "letzten freien" content-id bzw ersten belegten - 1

Mehr oder minder richtig? oder alles Käse ?

Geraldo

P.S. cms 1.7. news 2.10.4

Re: Doppelte Inhalte vermeiden -> News Modul 2.10.3

Posted: Sat Aug 07, 2010 5:54 pm
by Andiministrator
Hier das Ganze mal aus einer anderen Sicht beleuchtet:

Google folgt nur Links, die auf der Webseite (oder anderen Webseiten) gesetzt sind. Wenn dort alle Links stets auf die richtige URL zeigen, kommt auch nur diese eine in den Index von Google.

Seiten, die von der Suche, Printmodul o.ä. erzeugt werden, sollte man mit der robots.txt oder nofollow natürlich generell vom Indexieren ausschließen.