Anti-Double-Content - kanonische URL-Umschreibung

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Snippets können über unser Kontaktformular eingereicht werden (bitte als vollständiger, Copy&Paste fähiger Beitrag).
Bei Fragen oder Problemen benutze bitte das Forum [3.0.x] Mod Support.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11558
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Anti-Double-Content - kanonische URL-Umschreibung

Beitragvon nickvergessen » 19.02.2009 19:06

Entstand aus folgendem Thema:
viewtopic.php?f=93&t=186668

Nach folgendem Beitrag können URLs mit Parametern auf einfachere oder andere URLs umgeschrieben werden.
Beispiel:
http://www.phpbb.de/community/viewtopic.php?f=93&t=186668
http://www.phpbb.de/community/viewtopic.php?p=1082831#p1082831
http://www.phpbb.de/community/viewtopic.php?f=93&t=186668&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.php?f=93&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, ''));
kein Support per PN

Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11558
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

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

Beitragvon nickvergessen » 29.05.2009 21:34

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) ? "&amp;start=$start" : ''), true, ''),

ersetze mit:

Code: Alles auswählen

'U_CANONICAL'   => generate_board_url() . '/' . append_sid("viewforum.$phpEx", "f=$forum_id" . (($start) ? "&amp;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&amp;t=$topic_id" . (($start) ? "&amp;start=$start" : ''), true, ''));

ersetze mit:

Code: Alles auswählen

$template->assign_var('U_CANONICAL', generate_board_url() . '/' . append_sid("viewtopic.$phpEx", "f=$forum_id&amp;t=$topic_id" . (($start) ? "&amp;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, ''));
kein Support per PN


Zurück zu „[3.0.x] Snippets“