2009年8月 4日

PageButeでgoogleウェブマスターツールのタイトルタグの重複対策

PageButeでページ分割を行いしばらく様子を見ていたのだがgoogleウェブマスターツールの「タイトルタグの重複」でページ分割されたページが全て同じtitleタグだったのに気づいた。
はじめ<$MTPageCount$>でページ番号をいれようとしたのだが1ページ目もページ番号が入ってしまう。またMTPageCount自体を変更しようと思ったが後々使うかもしれないので

<$MTPageCountHead$>

というタグをadd_tagしてヘッダーテンプレートに設定してみた。

そのPageBute改造をメモ。

PageBute.pl.diff
-- PageBute.pl.org     2009-07-31 16:56:35.000000000 +0900
+++ PageBute.pl 2009-08-04 13:39:05.000000000 +0900
@@ -38,6 +38,7 @@
                IFPAGEFIRST_END => '<!-- PageIfFirst_end for PageBute -->',
                IFPAGELAST => '<!-- PageIfLast for PageBute -->',
                IFPAGELAST_END => '<!-- PageIfLast_end for PageBute -->',
+               PAGECOUNTHEAD => '<!-- PageCountHead for PageBute -->',
 );

my %delimitor = ( @@ -58,6 +59,7 @@ MT::Template::Context->add_tag(PageLast => \&_page_); MT::Template::Context->add_tag(PageCount => \&_page_); MT::Template::Context->add_tag(PageMaxCount => \&_page_); +MT::Template::Context->add_tag(PageCountHead => \&_page_); MT::Template::Context->add_tag(PageSeparator => \&_separator); MT::Template::Context->add_tag(PageLists => \&_page_lists); MT->add_callback('BuildPage', 9, $plugin, \&_page_bute); @@ -238,6 +240,11 @@ }

# Page Count + if($page_count != 1) { + $output =~ s/\Q$garbage{PAGECOUNTHEAD}\E/:\[Page $page_count\]/g; + }else { + $output =~ s/\Q$garbage{PAGECOUNTHEAD}\E//g; + } $output =~ s/\Q$garbage{PAGECOUNT}\E/$page_count/g; $output =~ s/\Q$garbage{PAGEMAXCOUNT}\E/$lists->{max_page}/g;

@@ -320,6 +327,7 @@ my ($page, $file, $extension, $name, $class_name) = @_; my $url = $file . ( $page == 1 ? '' : "_${page}" ) . ".${extension}"; $url =~ s|\\|\/|g; # for windows + $url =~ s|index\.html$||; return "<a href=\"$url\" class=\"$class_name\">$name</a>"; }

上記変更したらヘッダーテンプレートのtitleタグでページ番号を出力する部分に

<$MTPageCountHead$>

を設定&再構築。

必要であればmetaタグdescription部分にも追記。

この記事をretweetする

トラックバックURL

このエントリーのトラックバックURL:
http://www.macminiosx.com/mt/mt-tb.cgi/56

コメントする