ファンブログのアーカイブページのタイトルにカテゴリ名を

このエントリーをはてなブックマークに追加
ファンブログってアーカイブページは、そのアーカイブの例えばカテゴリ名とかを表示させることができないんですよ。どういう事かというと、例えばカテゴリのアーカイブページのタイトルタグに、ブログタイトルだけでなくカテゴリ名も表示させたい、と思っても、その為のオリジナルタグがないため、表示できないんです。htmlだけでは。
そこで、java scriptを使ってそれを表示させてみました。

追記書きました


追記、と言うか新たに書きました。
「タイトルタグの重複」をjavascriptで回避する(ファンブログ、FC2)

jQueryでの処理があると、どうやら読み込みが遅くなってgoogleさんにスクリプトの影響前の状態が読まれてしまうらしくて、jQueryを使わないなるべく早い処理に書き換えたところ、ちゃんとタイトルタグの重複が解除されました。

目的


ページのタイトルタグを変更する目的、ってのは簡単に言えば検索で、あるキーワードで上位に表示される様にするためであったり、検索で表示された時にクリックしてもらうため、ってのが基本的だと思います。
1記事のページでは、ファンブログのオリジナルタグを使う事で、その記事のタイトルとブログタイトルをタイトルタグに設定できるので、その方法を紹介している記事はたくさんあります。自分のブログでも一応前に書きました。
記事のタイトルをページのタイトルに

で、話は少しそれますが、前まではgoogleさんってhtmlしか読んでおらず、java scriptは読んでいない、とか言われていたりしました。これがどの程度前までの話か分からないのですが、どこかでその情報を読んでずっとそうなんだな、って思っていました。
が、最近ではgoogleさんもある程度はjava scriptを読んでいるようだな、と。そんな記事も前に書きました。java scriptによるリンクも把握しているようだ、と。
googleさんは結構しっかりjava scriptも認識しているんじゃないか

そこで、java scriptによるタイトルタグの書き換えももしかしたら効果あるのかもな、と。検索で引っ掛った時に、java scriptで書き換えたタイトルが表示されるかもな、と。

実験結果


思って書き換えてみたら、多分どうやら本当にそのようです。残念ながら多分、ですが。

テストで変更していた時は、ページのURLの1部をタイトルに表示する様にしていたので、カテゴリ名ではないのですが、一応それでgoogleさんに表示されています。
多分、と言った理由は次の画像です。

googleさんってタイトル書き換えちゃう事があるんですよ。
別に、自分でカテゴリ名を表示させる様にしている訳ではありません。勝手にgoogleさんが、おそらくブログの構造とかリンクの貼られ方とかから判断して、ページに合うタイトルを表示しちゃってることがあります。
参考:Googleがtitleタグを修正する原因が明らかになった | 海外SEO情報ブログ

なので、本当にちゃんとjava scriptでタイトルタグを書き換えてる効果があるのか、ってのは微妙ではあるんです。でも、一応表示が変わってる事もある、ってことは効果はゼロではないのかな、と。
ただ、最終的には、googleのウェブマスターツールで確認してからかな、とは思います。ウェブマスターツールでちゃんと認識しているっぽければ大丈夫だと思うので。多分ですが。後日確認してみます。

方法


今から下に書くコードを貼りつけただけです。
今回は(今回も)jQueryというjava scriptのライブラリを使っているので、それが自分のブログでは設定した覚えないな、って人はブログにjQueryを設置する方法を読んで、jQueryの為にコードを数行追加しないと使えません。

では、今回使ったコードを下に書きます。まず、アーカイブページに貼り付けたやつです。テンプレートによっては使えないかも知れません。その時はコメント下されば対応しますので、気軽にコメント下さい。
<script type="text/javascript">
var pageurl = document.URL;
var pageurll = pageurl.match(/\w+/g);

if (pageurll[4].indexOf("category") != -1) {
var categorytext = jQuery("#entries .entry:first .entryInfo a[href*='category']").text();
if (pageurll.length > 5) {
document.title = categorytext + " - Page " + pageurll[5] + " - " + document.title;
} else {
document.title = categorytext + " - " + document.title;
}
}
else if (pageurll[4].indexOf("monthly") != -1) {
var tukihi = pageurll[5];
var tukihit = tukihi.substring(0,4) + "年" + tukihi.substring(4,6) + "月";
if (pageurll.length > 6) {
document.title = tukihit + " - Page " + pageurll[6] + " - " + document.title;
} else {
document.title = tukihit + " - " + document.title;
}
}
else if (pageurll[4].indexOf("daily") != -1) {
var tukihi = pageurll[5];
var tukihit = tukihi.substring(0,4) + "年" + tukihi.substring(4,6) + "月" + pageurll[6] + "日";
if (pageurll.length > 7) {
document.title = tukihit + " - Page " + pageurll[7] + " - " + document.title;
} else {
document.title = tukihit + " - " + document.title;
}
}
</script>

これで、カテゴリのカーカイブページには、そのページのタイトルは
(カテゴリ名) - (ブログタイトル)
となる様になります。また、2ページ目以降は
(カテゴリ名) - Page 2 - (ブログタイトル)
とかって表示されるようになります。

ついでに、月別アーカイブの場合は、
2012年02月 - (ブログタイトル)
と表示される様にしました。ページ数も同じ様に表示されます。
日別アーカイブの場合は
2012年02月02日 - (ブログタイトル)
のように表示されます。

そして、メインページも、そのページ数の表示をする様に以下のコードを貼りました。
<script type="text/javascript">
var pageurl = document.URL;
var pageurll = pageurl.match(/\w+/g);
if (pageurll.length > 4) {
document.title = document.title + " - Page " + pageurll[4];
}
</script>

アーカイブのコードはアーカイブのどこか好きな場所、メインのコードはメインのどこか好きな場所にコピペすれば使えるはずです。好きな場所、とは言っても、bodyタグの中じゃなきゃ駄目です。そんで、出来るだけ下の方が良くて、少なくともjQueryを読み込んでいる場所よりは下にコピペして下さい。

最後に


とりあえずそんな感じで、だいぶ長い間悩ませてくれていた問題が1つ一応解決したかな、って感じです。本当に解決したかは不明ですけどねw

コードを貼るだけで使えると思うので、ファンブログのアーカイブページのタイトルに悩まされている人は気休め程度に使ってみてはどうでしょうか。

このブログの更新情報は TwitterRSS でチェック出来ます。是非、フォロー、またはRSSの購読をよろしくお願いします。
「RSSの購読って何?」って人は、 ブラウザ毎のRSS購読方法の簡単なまとめ を読んでみて下さい。

このエントリーをはてなブックマークに追加
人気記事

PAGE TOP