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.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Anti-Double-Content - kanonische URL-Umschreibung

Beitrag 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, ''));
kein Support per PN
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

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

Beitrag 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, ''));
kein Support per PN
Antworten

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