このブログはBloggerにてテーマテンプレートで「Vaster2」というテーマを使用していた事があります。その時に、Bloggerの設定項目にある「カスタム404」を設定しても機能していないことが分かりました。
いろいろ探っていたところ、Vaster2のテーマのHTMLを見てみて原因が分かりました。Blogger標準のテーマの場合は「カスタム404」の設定項目で記載した内容というのは、いくつかの工程を経て最終的にBloggerの「ステータスメッセージ」を表示する独自のコードへ出力されます。しかし、Vaster2のテーマではこの機能が無効になっているようでした。
そこで、この機能を標準のテーマテンプレートと同様に作動するようにテーマHTMLを戻してあげれば良い事になります。しかしこの「ステータスメッセージ」というのは、「カスタム404ページ」だけでなく「標準の404ページ」と、ラベルで絞り込んで表示したりブログ内の検索機能で検索した際に、ページ上部表示されるメッセージも含まれています。ただし、404ページだけ出力したいのならば「ステータスメッセージ」のタグを、条件分岐タグで囲えば可能な事も分かりました。
では以下に「カスタム404ページ」または「標準の404ページ」だけを表示できるように、条件分岐タグを付け加えた方法の手順を紹介します。
- bloggerの設定ページからテーマのHTMLを編集する画面を開き、以下のコードを探します。
その下の方に記載されているパンくずリストを表示するコード(breadcrumbの記載あり)の直下に、次のコードを加えます。<b:includable id='main' var='top'>
<b:if cond='data:blog.pageType == "error_page"'> <b:include data='top' name='status-message'/> </b:if>
- 引き続きテーマHTMLの編集画面内で、次のコードを探します。
そのコードを以下のコードに書き換えます。<b:includable id='status-message' title='不要'> </b:includable>
<b:includable id='status-message'> <b:if cond='data:navMessage'> <div class='status-msg-wrap'> <div class='status-msg-body'> <data:navMessage/> </div> <div class='status-msg-border'> <div class='status-msg-bg'> <div class='status-msg-hidden'><data:navMessage/></div> </div> </div> </div> <div style='clear: both;'/> </b:if> </b:includable>
これで作業は完了です。あとは「カスタム404」を設定すればその内容が表示され、未設定であれば「標準の404」ページが表示されるようになります。
404ページの設定は、サイト訪問者のユーザビリティーの向上だけでなく検索ロボットへ対しても効率的なクロールのために設置する事が推奨されていますので、ぜひ「Vaster2」のユーザーさんは試してみてください。