WordPressブログのトップページをカスタマイズ

WordPress

ブログのトップページといえば、新着順に記事が並んでいるものを一番良く見かけますよね。

テーマによってはカテゴリ毎にタブ表示できたりとある程度のカスタマイズもできるので、自分でトップページを作るということはしていない人が多いのではないでしょうか。

なにせブログにたどり着いてくる人は大抵は検索結果からで、トップページから入ってくる人はほとんどいませんし、読んでもらえる記事を書くのが第一なのは間違いありません。

それは分かっていたのですが、ちょっとオリジナルのトップページに興味があったことと、少しでも興味を持ってトップページを見てもらうことで直帰率を下げて回遊率をあげたりできないかなぁと思い、自前のトップページにしてみました。

簡単そうに見えて結構苦戦してしまったので、備忘も兼ねてカスタマイズ方法をまとめておきます。

Cocoonを前提に書いていますが、他のテーマでも大まかな流れは変わらないと思いますので、参考にしてもらえればと思います。

スポンサーリンク

トップページのカスタマイズ方法

トップページ用の固定ページを作る

早速トップページとして使用する固定ページを作ってみましょう。

作り方は通常の固定ページと同様です。

タイトルは不要です。

ここに新着記事一覧やおすすめ記事一覧、自己紹介やサイトの説明などを好みに応じて配置していきます。

Cocoonであればショートコードひとつで一覧を組み込むことができますし、他のテーマでも似たような機能があると思います。

記事作成時に利用できるショートコード集
記事の本文中に動的な処理を追加することができるショートコードの使い方など。全体のショートコードの使い方をまとめたページがこちら(外部サイト)。Cocoonで使えるのオプションと使い方まとめCocoonで使えるショートコード+オプション一覧と、使い方が掲載されている公式ページへのリンク集的なまとめです。便利な機能がたくさ...

ウィジェットを記事中に埋め込むプラグインもあるのでその辺を活用しても良いでしょう。

参考

うちのブログのトップページの場合、以下のようなレイアウトにしています。

緑が見出し(h2)でオレンジ色の箇所はボタンです。

素人考えですがトップページに来た人が関連記事やおすすめ記事に飛びやすいように、以下の内容で構成しています。

  • まずはデフォルトのトップページと同じように新着記事を表示(直近4つのみ)
  • おすすめ記事と人気記事で読んで欲しい記事を表示(タブでコンパクトに)
  • その下は2カラム表示にしてカテゴリ毎の新着記事を表示

それぞれについて全部見るボタンを用意して、さらに見たい場合はそっちへ飛んでもらいます。

手間かなぁとも思いましたがあくまで目次の役割なので一覧性を重視しました。

ちなみに2カラムにしたいときは、投稿画面のタグから2カラムを選べばOKです。

参考までにうちのトップページのHTMLとCSSサンプルを載せておきます。

<div class="h2-new">
<h2 class="h2-top" style="text-align: center;">新着記事</h2>
</div>
[new_list count="4" type="large_thumb" cats="all" children="0" post_type="post" class="two-line-top"]
<div class="btn-all" style="text-align: center;"><a href="https://suzuka1.net/new-posts/">全部見る</a></div>
&nbsp;
<div class="tabs">

<input id="reccomend" checked="checked" name="top-tab" type="radio" /><label class="top-tab tab hover" for="reccomend">おすすめ</label><input id="popular" name="top-tab" type="radio" /><label class="top-tab tab hover" for="popular">人気</label>
<div id="reccomend-content" class="tab-content">

[navi_list name="おすすめ記事" count="4" type="default" class="two-line"]

</div>
<div id="popular-content" class="tab-content">

[popular_list days="30" rank="0" pv="0" count="4" type="default" cats="all" class="two-line"]

</div>
</div>
<div class="column-wrap column-2">
<div class="column-left">
<h2>ルイボスティー</h2>
[new_list count="3" type="default" cats="347" children="0" post_type="post"]
<div class="btn-all" style="text-align: center;"><a href="https://suzuka1.net/category/rooibos-tea/">全部見る</a></div>
</div>
<div class="column-right">
<h2>WordPress</h2>
[new_list count="3" type="default" cats="10" children="0" post_type="post"]
<div class="btn-all" style="text-align: center;"><a href="https://suzuka1.net/category/wordpress/">全部見る</a></div>
</div>
</div>
<div class="column-wrap column-2">
<div class="column-left">
<h2>家電</h2>
[new_list count="3" type="default" cats="22" children="0" post_type="post"]
<div class="btn-all" style="text-align: center;"><a href="https://suzuka1.net/category/appliance/">全部見る</a></div>
</div>
<div class="column-right">
<h2>その他</h2>
[new_list count="3" type="default" cats="36" children="0" post_type="post"]
<div class="btn-all" style="text-align: center;"><a href="https://suzuka1.net/category/other/">全部見る</a></div>
</div>
</div>

/************************************
** 見出しデザイン変更
************************************/
h2 {
  border: none !important;
  border-radius: 0px !important;
  background: none !important;
  box-shadow: none !important;
  color: none !important;
  /*線の種類(二重線)太さ 色*/
  border-bottom: double 5px #e4ab3d !important;
  color: #e4ab3d !important;
}
.h2-top {
  margin-top: 0px !important;
  /*padding-top: 0px !important;*/
}
.h2-new h2:before {
  font-family:"FontAwesome";
  content: "\f09e";
  /*content: "\f143";*/
  color:#e4ab3d;
  margin-right: 0.4em;
}

/************************************
** ボタンデザイン変更
************************************/
.btn-all a {
  display: inline-block;
  font-size: .9em;
  text-decoration: none;
  color: #fff; /*ボタンの文字色*/
  background: #e4ab3d; /*ボタンの背景色*/
  font-weight: bold;
  padding: .5em 2em;
  border-radius: 4px;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.2);
  transition: .3s ease-in-out;
}
.btn-all a:hover {
  color: #fff;
  box-shadow: 0 10px 12px -3px rgba(0,0,0,.24);
}

/************************************
** トップページタブデザイン変更
************************************/
.tabs {
  width: 100%;
  margin: 0 auto;
}
.tabs .tab {
  font-size: 0.8em;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  border-right: 1px solid #fefefe;
  border-left: 1px solid #fefefe;
  box-shadow: 0 0 10px rgba(30, 30, 30, .1);
  height: 48px;
  line-height: 48px;
  text-align: center;
  display: block;
  float: left;
  transition: all 0.2s ease;
}
.tabs .tab:first-of-type {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-right: 1px solid #efefef;
  border-left: none;
}
.tabs .tab:last-of-type {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-left: 1px solid #efefef;
  border-right: none;
}
.tab-content {
  display: none;
  clear: both;
  overflow: hidden;
  padding-top: 1em;
}
.tabs .hover:hover {
  opacity: 0.75;
}
@media screen and (max-width: 480px) {
  .tabs .hover:hover {
    opacity: 1;
  }
}
.tabs input[type=radio] {
  display: none;
}
.top-tab {
  background: #fff;
  width: calc(100%/2);
  color: #aaa;
}
#reccomend:checked ~ #reccomend-content, #popular:checked ~ #popular-content {
  display: block;
}
/*選択されているタブ*/
.tabs input:checked + .top-tab {
  /*background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);*/
  background: #e4ab3d;
  color: #fff;
}
/* アニメーション設定*/
.tab-content{
  animation-name:fade-in;
  animation-duration:0.5s; 
  animation-timing-function: ease-out;
  animation-delay:0s;
}
@keyframes fade-in {
  0% {opacity: 0; transform: translate3d(0,20px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}

/************************************
** リストの2カラム設定
************************************/
.two-line-top, .two-line {
  display: flex;
  flex-wrap: wrap;
}
.two-line-top a, .two-line a {
  width: 50%;
}
.two-line-top .display-none {
  display: block;
  padding-top: 0.2em;
  text-align: right;
}
.new-entry-card-update-date {
  display: none;
}
@media screen and (max-width: 480px) {
  /*.two-line-top a,*/ .two-line a {
    width: 100%;
  }
}

/************************************
** 背景を白く
************************************/
.home main{
  background-color: #fff;
}

もともとのトップページ用の固定ページを作る

次に、もともとのトップページを表示するための固定ページを作成します。

不要であれば作らなくてもOKですが、私の場合、新しいトップページでは新着記事を4件しか表示していないので、全部のトップページを表示させるときはボタンを押してもともとのトップページへ飛ばすようにしています。

作り方は簡単で、空っぽの固定ページを作るだけ。

記事名だけ分かりやすいように新着記事としておき、本文は空っぽのままでOKです。

スラッグも分かりやすくnew-postsとでもしておきましょう。

この固定ページを後ほどのトップページ切り替え時に投稿ページとして指定することでここに新着記事が表示されるようになります。

細かいデザインの調整を行う

私の場合、トップページ用にCSSで細かい調整を行っています。(先ほど参考に記載したもの)

  • 見出しのデザイン変更
  • 背景色の変更
  • アイコンフォントの仕様

などですが、この辺の調整は個人の好みで見栄えを変えていきましょう。

ひとつだけ注意したいのが、他のページに悪さをしないように、トップページ用の固定ページにだけ適用されるようにCSSをカスタマイズするということです。

やり方は簡単で、固定ページの投稿画面の下部にあるカスタムCSSの箇所にCSSを記載するだけです。

 

ここに書いておけば他のページに悪さをすることは絶対にありません。

トップページ用のその他カスタマイズを行う

これでトップページとして使える固定ページができましたが、そのままではいくつか不都合な点がありますので、そこを直していきましょう。

最低限やった方が良いことは

  • ブログ名をh1タグで囲む
    →本来h1タグで囲まれるタイトルが存在しないため
  • 日付の消去
  • SNSボタンの消去

です。

ここでカスタマイズ方法を紹介したいところですが、参考にさせてもらったWebページの内容そのままで特にいじっていないので、オリジナルのページを参考にしてもらえればと思います。

【超簡単!】Cocoonトップページをスッキリとサイト型へカスタマイズ!
Cocoonのトップページカスタマイズです。トップページを新着記事やおすすめ記事、カテゴリー別に記事を紹介したい人向けのカスタマイズです。HTMLやCSSがわからなくてもコピペで簡単にできるようになってます。

トップページを切り替える

固定ページをプレビューして内容に問題がないことが確認出来たら、いよいよトップページの切り替えです。

  1. 管理画面のサイドメニューの設定から表示設定を選びます。
  2. ホームページの表示で「固定ページ」を選び、ホームページにはトップページ用に作成した固定ページを、投稿ページにはもともとのトップページ用に作成した固定ページを設定します。
  3. 変更を保存して設定完了です。

実際にトップページを表示して想定通りのトップページになっているか確認してみましょう。

トップページをカスタマイズする意味

最初はなんとなく新着記事がただ並んでるより見栄えが良いかなぁと思って始めましたが、きちんと整理されたトップページにすることは書き手に取っても読み手に取っても意味はあると思います。

自分がブログのトップページへ飛ぶ場合は

  • 他にどんな記事を書いているのか見たい
  • 関連記事を探したい
  • SNS等で最初からトップページに飛んできた

という理由が多いです。

それに応える形で、従来のブログ単位の新着記事一覧に加えて、

  • カテゴリ毎の新着記事
  • おすすめ記事

を設置しました。

その結果、偶然かもしれませんが、ブログ開設以来ずっと9割越えだった直帰率が8割にまで下がっています。

逆に従来のトップページよりも読み込み速度が若干落ちているので、一長一短なのかもしれません。

おわりに

トップページのカスタマイズはデザインのセンスが一番大事で、カスタマイズ自体は決して難しくはありません。

トップページはブログの顔でもありますし、自身がトップページのどうあって欲しいかに合わせて、カスタマイズしてみるのも面白いです。

デフォルトの新着記事一覧であったり、ブログの導入文を書いていたり、自己紹介を書いていたり、人によって使い方はさまざまです。

もちろんブログは記事自身が主役ですが、その記事の執筆が行き詰った時などに、気晴らしも兼ねてトップページをカスタマイズしてみてはいかがでしょうか。

コメント