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部分にも追記。




コメントする