[dw-free] Arguments cause a page to be indexed as different content on search engines
[commit: http://hg.dwscoalition.org/dw-free/rev/cbf80d2d289a]
http://bugs.dwscoalition.org/show_bug.cgi?id=1427
Add canonical URL anchors to the HTML of most entry/comment pages.
Patch by
afuna.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=1427
Add canonical URL anchors to the HTML of most entry/comment pages.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/LJ/S2/EntryPage.pm
- cgi-bin/LJ/S2/ReplyPage.pm
- htdocs/talkpost.bml
- htdocs/talkread.bml
-------------------------------------------------------------------------------- diff -r f6f8ca5311a9 -r cbf80d2d289a cgi-bin/LJ/S2/EntryPage.pm --- a/cgi-bin/LJ/S2/EntryPage.pm Wed Jul 22 01:52:33 2009 +0000 +++ b/cgi-bin/LJ/S2/EntryPage.pm Wed Jul 22 01:56:19 2009 +0000 @@ -54,6 +54,12 @@ sub EntryPage my $next_url = S2::Builtin::LJ::Entry__get_link( $opts->{ctx}, $s2entry, "nav_next" )->{url}; $p->{head_content} .= qq{<link rel="next" href="$next_url" />\n} if $next_url; + + # canonical link to the entry or comment thread + my $canonical_url = $permalink; + my $threadid = $get->{thread} + 0; + $canonical_url .= "?thread=$threadid#t$threadid" if $threadid; + $p->{head_content} .= qq{<link rel="canonical" href="$canonical_url" />\n}; # quickreply js libs LJ::need_res(qw( diff -r f6f8ca5311a9 -r cbf80d2d289a cgi-bin/LJ/S2/ReplyPage.pm --- a/cgi-bin/LJ/S2/ReplyPage.pm Wed Jul 22 01:52:33 2009 +0000 +++ b/cgi-bin/LJ/S2/ReplyPage.pm Wed Jul 22 01:56:19 2009 +0000 @@ -42,6 +42,13 @@ sub ReplyPage return if $opts->{'handler_return'}; return if $opts->{'redir'}; my $ditemid = $entry->ditemid; + + # canonical link to the entry or comment thread + my $canonical_url = $entry->url; + my $replytoid = $get->{replyto} ? $get->{replyto} + 0 : 0; + $canonical_url .= "?thread=$replytoid#t$replytoid" if $replytoid; + $p->{head_content} .= qq{<link rel="canonical" href="$canonical_url" />\n}; + $p->{'head_content'} .= $LJ::COMMON_CODE{'chalresp_js'}; LJ::need_res('stc/display_none.css'); @@ -56,7 +63,6 @@ sub ReplyPage # setup the replying item my $replyto = $s2entry; my $editid = $get->{edit} ? $get->{edit} : 0; - my $replytoid = $get->{replyto} ? $get->{replyto} : 0; my $parpost; my $comment; diff -r f6f8ca5311a9 -r cbf80d2d289a htdocs/talkpost.bml --- a/htdocs/talkpost.bml Wed Jul 22 01:52:33 2009 +0000 +++ b/htdocs/talkpost.bml Wed Jul 22 01:56:19 2009 +0000 @@ -132,6 +132,12 @@ body<= my $ditemid = $init->{'ditemid'}; my $talkurl = LJ::journal_base($u) . "/$ditemid.html"; my $entry = LJ::Entry->new($u, ditemid => $ditemid); + + # canonical link to the entry or comment thread + my $canonical_url = $entry->url; + my $threadid = $GET{replyto} + 0; + $canonical_url .= "?thread=$threadid#t$threadid" if $threadid; + $head .= qq{<link rel="canonical" href="$canonical_url" />\n}; $parpost ||= $item; # if there's no parent post, remote is reply to top-level item diff -r f6f8ca5311a9 -r cbf80d2d289a htdocs/talkread.bml --- a/htdocs/talkread.bml Wed Jul 22 01:52:33 2009 +0000 +++ b/htdocs/talkread.bml Wed Jul 22 01:56:19 2009 +0000 @@ -113,6 +113,12 @@ body<= } my $entry = LJ::Entry->new($u, ditemid => $ditemid); + + # canonical link to the entry or comment thread + my $canonical_url = $entry->url; + my $threadid = $GET{thread} + 0; + $canonical_url .= "?thread=$threadid#t$threadid" if $threadid; + $$head .= qq{<link rel="canonical" href="$canonical_url" />\n}; $u->preload_props("opt_blockrobots", "adult_content") if $u->is_visible; if (!$u->is_visible || $u->should_block_robots || ($entry && $entry->should_block_robots)) { --------------------------------------------------------------------------------