ダルシーのにっき: Bloggerのアーカイブページやラベルページで記事タイトルのみ表示させる方法

2011年7月7日木曜日

Bloggerのアーカイブページやラベルページで記事タイトルのみ表示させる方法

Bloggerでアーカイブガジェットを使用していると、記事が全文表示されてしまいます。

けど、それって意味あるの??

個人的には、記事タイトルがリスト表示されるほうが便利だと思うんですけどね・・・
同じような事を思われる方もいらっしゃるかと思いますので記事にしてみました。


Cats n Nuthatch
Cats n Nuthatch / d a murphy


※この記事は加筆していますので設定前に最後までお読みくださいm(__)m

まず、デザインタブからHTMLの編集を選び、「ウィジェットのテンプレートを展開」にチェックを入れて全ソースを表示させます。

ソースから


<b:include data='post' name='post'/>

を検索し、この部分を下記のソースに置き換えます。



<b:if cond='data:blog.pageName == &quot;&quot;'>
  <b:include data='post' name='post'/>
<b:else/>
  <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <b:include data='post' name='post'/>
  <b:else/>
    <div class='post hentry'>
      <a expr:name='data:post.id'/>
      <b:if cond='data:post.title'>
        <h3 class='post-title entry-title'>
       <b:if cond='data:post.link'>
         <a expr:href='data:post.link'><data:post.title/></a>
       <b:else/>
          <b:if cond='data:post.url'>
            <a expr:href='data:post.url'><data:post.title/></a>
          <b:else/>
            <data:post.title/>
          </b:if>
       </b:if>
        </h3>
      </b:if>
    </div>
  </b:if>
</b:if>


以上で完了♪


2011/07/08 追記

すっかり静的ページのことを忘れてました(^_^;)
上記コードだと、単体ページ(静的ページ)もタイトル表示になってしまうので、中身が読めない状態になってしまいます。
なので、静的ページは投稿ページと同一の扱いにしてあげなければいけないので・・・


<b:if cond='data:blog.pageName == &quot;&quot;'>
  <b:include data='post' name='post'/>
<b:else/>
  <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <b:include data='post' name='post'/>
  <b:else/>
  <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
    <b:include data='post' name='post'/>
  <b:else/>    <div class='post hentry'>
      <a expr:name='data:post.id'/>
      <b:if cond='data:post.title'>
        <h3 class='post-title entry-title'>
       <b:if cond='data:post.link'>
         <a expr:href='data:post.link'><data:post.title/></a>
       <b:else/>
          <b:if cond='data:post.url'>
            <a expr:href='data:post.url'><data:post.title/></a>
          <b:else/>
            <data:post.title/>
          </b:if>
       </b:if>
        </h3>
      </b:if>
    </div>
  </b:if>
  </b:if>
</b:if>

赤字の部分を加える必要がありました。



*****************



6 コメント♪:

aaaa さんのコメント...

Darcisさん、お世話になります。

Bloggerでどうしても実現したいことがありコメントさせて頂きます。

自分が書いた記事を検索すると、description部分に、記事の説明ではなく、ブログ自体の説明が表示されしまします。

これを記事の頭60文字程度、表示するようにしたいのですが可能ですか?

ちなみに記事タイトルに関しては、カスタマイズにより、記事タイトルが先頭に来るようにできました。

是非ご教示お願いします。

2011年7月23日 19:24
Darcis さんのコメント...

aaaaさん こんばんは♪

ご質問の内容について、私が解釈間違いしているのでしたら大変申し訳ございませんが、検索エンジンはdescriptionで定義される内容を中心に表示させるのが一般的です。

表示内容は各エンジンによって異なりますが、通常はここに記述のあるwordの前後を拾って40~80文字程度表示させています。

ですので<meta name="description" content="" />に定義している文字数が80文字程度ある、またはdescription部分だけを表示させるよう設計しているテンプレートを使用している、他にも、作られたばかりで記事数が少ないブログですと、インデックスされている記事が極端に少ない、などの可能性が考えられますが如何でしょうか?

もしよろしければ該当ブログのURLをご提示いただけると助かります。

諸事情ございまして現在ネット環境が不自由なところに居りますので、次のお返事は月曜日になります事、ご了承いただければ幸いです。
我侭言いましてごめんなさい。

2011年7月23日 21:53
aaaa さんのコメント...

Darcisさん、ご返事ありがとうございます。

私のBloggerのURLはhttp://rensyu22.blogspot.com/です。

このブログのグーグル登録状況をsite:を使って確認すると、登録されている記事(ページ)の一覧が見れますよね。

その一覧を見て貰えば分かると思いますが、記事のタイトルの下に表示される記事の説明に、まずブログの説明が先頭に表示され、その次に記事の説明が表示されています。

実際に例を挙げますと、私のブログ自体のdescription(説明)は「パソコン音痴の私が、無謀にもBloggerに挑戦する奮闘記です。七転八倒、転んだまま起きられないかも…誰か助けて~~」
なのですが、このdescriptionが、全ての記事説明に表示されてしまうのです。

できれば、この「パソコン音痴の私が、無謀…誰か助けて~~」部分を非表示にしたいのですが、可能でしょうか?

HP作成の場合はページ毎にtitle, descriptionを設定すれば、思い通りの結果を得られたのですが、ブログの設定は良く分からずお伺いしたと言うわけです^^

その上、恥ずかしながらHTMLを少しかじっただけなので…

ご理解頂けるよう、私なりに説明したつもりですが、ご理解頂けましたか?

では宜しくお願いします^^

2011年7月25日 15:21
Darcis さんのコメント...

aaaaさん こんにちは♪

度々すみません&頓珍漢なリコメントで失礼いたしましたm(__)m

>ご理解頂けるよう、私なりに説明したつもりですが、ご理解頂けましたか?
お手数をお掛けいたしました(猛省)

結論から申し上げますと、meta name="description" に何も定義しない。
という結論になります。
私のブログを「ダルシーのにっき」で検索していただくとお分かりいただけると思いますが、検索結果はまさにaaaaさんがお困りになっている状況と同じ表示になると思います。
ですが、検索ワードを「Bloggerのアーカイブページやラベルページで記事タイトルのみ」として検索していただくと、検索結果の詳細部分には記事の内容が表示されます。

これは、Google(yahoo)がmeta descriptionタグをみているという事です。
meta descriptionが定義されていればその内容を表示し、定義されていない場合は検索キーワード周辺の文章を表示する。
よってmeta descriptionを定義しなければご希望の状況になる、ということです。

この場合、ブログタイトルで検索すると、最新記事の先頭部分が表示される事になります。
少々姑息な手段ですが、トップページ部分にブログタイトルと現在meta descriptionに定義している内容をテキストとして「読み込みの早い位置に」入れ込む(私のブログですとWelcomeの部分です)と、ブログタイトルで検索した際はその内容が検索結果の詳細に表示される(場合が多い)です。

上記手段以外ですと、head内に記事の数だけdescriptionをif文で囲って記述する事になるので、それはいくらなんでも非現実的ですよね(^_^;)

個別記事用descriptionの変数が無い現状、出来るとすれば上記方法になるかと・・・
あとはscript走らせるか。
個人的にはこのためにブログ自体のdescription定数にはそれほど重きを置いていないので、私は指定しない方法を選んでいます(^_^;)

・・・結果、お役に立ててなくて申し訳ないです。

2011年7月25日 17:58
aaaa さんのコメント...

なるほど、非常に参考になりました^^

私もdescriptionを指定しない方法で落ち着きそうです。

感謝ですm(_ _)m

2011年7月25日 23:54
Darcis さんのコメント...

aaaaさん こんにちは♪

>感謝ですm(_ _)m
とんでもない。
結果、お役に立てず申し訳ございません。

以前はdescription自体推奨していないくらいでしたが、流れも変わってきていますし、現在ではdescription推奨側に回っていますし・・・これからは変数で対応される日もくるかもしれません。

そうなってくれたら楽なのですが・・・

2011年8月1日 13:25