Seite 1 von 1

Anti-Double-Content - kanonische URL-Umschreibung

Verfasst: 19.02.2009 19:06
von nickvergessen
Entstand aus folgendem Thema:
http://www.phpbb.de/community/viewtopic ... 3&t=186668

Nach folgendem Beitrag können URLs mit Parametern auf einfachere oder andere URLs umgeschrieben werden.
Beispiel:
http://www.phpbb.de/community/viewtopic ... 3&t=186668
http://www.phpbb.de/community/viewtopic ... 1#p1082831
http://www.phpbb.de/community/viewtopic ... 68&start=0

Alle 3 Links verweisen auf die gleiche Seite und bieten 3mal den gleichen Inhalt.
Mit diesem Snippet werden alle 3 als http://www.phpbb.de/community/viewtopic ... 3&t=186668 für google und die anderen Suchmaschinen gespeichert und so doppelter Kontent vermieden.

viewforum.php
finde:

Code: Alles auswählen

'MODERATORS'	=> (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
danach einfügen:

Code: Alles auswählen

'U_CANONICAL'	=> generate_board_url() . '/' . append_sid("viewforum.$phpEx", "f=$forum_id" . (($start) ? "&start=$start" : ''), true, ''),
viewtopic.php
finde:

Code: Alles auswählen

// Output the page
davor einfügen:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', generate_board_url() . '/' . append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start) ? "&start=$start" : ''), true, ''));
styles/prosilver/template/overall_header.html
finde:

Code: Alles auswählen

<link href="{T_THEME_PATH}/large.css" rel="alternate stylesheet" type="text/css" title="A++" />
danach einfügen:

Code: Alles auswählen

<!-- IF U_CANONICAL --><link rel="canonical" href="{U_CANONICAL}" /><!-- ENDIF -->
styles/subsilver2/template/overall_header.html
finde:

Code: Alles auswählen

<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />
danach einfügen:

Code: Alles auswählen

<!-- IF U_CANONICAL --><link rel="canonical" href="{U_CANONICAL}" /><!-- ENDIF -->
Wahlweise kann man noch die index.php auf ./ zurück leiten:
index.php
finde:

Code: Alles auswählen

// Output page
davor einfügen:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', generate_board_url() . '/' . append_sid('', false, true, ''));

Re: Anti-Double-Content - kanonische URL-Umschreibung

Verfasst: 29.05.2009 21:34
von nickvergessen
Der Code wurde geändert, da empfohlen wird, die volle Domain mit anzugeben.
Es wurde daher

Code: Alles auswählen

append_sid("{$phpbb_root_path}
mit

Code: Alles auswählen

generate_board_url() . '/' . append_sid("
ersetzt:

Update auf die neue Version:

viewforum.php
finde:

Code: Alles auswählen

'U_CANONICAL'	=> append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id" . (($start) ? "&start=$start" : ''), true, ''),
ersetze mit:

Code: Alles auswählen

'U_CANONICAL'	=> generate_board_url() . '/' . append_sid("viewforum.$phpEx", "f=$forum_id" . (($start) ? "&start=$start" : ''), true, ''),
viewtopic.php
finde:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start) ? "&start=$start" : ''), true, ''));
ersetze mit:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', generate_board_url() . '/' . append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start) ? "&start=$start" : ''), true, ''));
Wahlweise kann man noch die index.php auf ./ zurück leiten:
index.php
finde:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', append_sid("{$phpbb_root_path}", false, true, ''));
ersetze mit:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', generate_board_url() . '/' . append_sid('', false, true, ''));