Blogger:テンプレート編集(10)インデックスページの表示投稿数制限

Blogger:ページ番号付ページナビ(12)1ページ目の1MB制限に対応する(失敗編)でページナビ1ページあたりの表示投稿数が1MB制限にひっかかるせいか一定しません。結論としては、実際に見えている部分ではなく、投稿のすべての容量の合計で判断されているようです。

前の関連記事:Blogger:テンプレート編集(9)インデックスページをモバイルサイトのものに統一する


インデックスページの1ページ目の投稿数制限


投稿数の制限が1MBのせいだとはどうも思えなかったので、表示されない投稿をテストブログで表示してみました。


するとなんとやっぱり4投稿しか表示されません。

設定では7投稿表示されることになっています。

#1 Git(20)Git入門の発展編をEclipse4.6でやる:その2

#2 Git(19)Git入門の発展編をEclipse4.6でやる:その1

#3 Blogger:ページ番号付ページナビ(12)1ページ目の1MB制限に対応する(失敗編)

#4 Git(18)EclipseでGitのチュートリアルビデオ:その2

#5 Git(17)EclipseでGitのチュートリアルビデオ:その1

#6 Git(16)Eclipse4.6のPyDevプロジェクトをGitHubのリモートリポジトリにするまで(未熟編)

#7 Git(15)Eclipse4.6でGitHubからリポジトリをクローンする(未熟編)

テストに使ったのはこの7個の投稿です。

投稿番号
#1 #2 #3 #4 #5 #6 #7 表示された投稿数
4
4
5
7
4
5
7
4
7
3
7

各投稿を公開したときにインデックスページに表示される投稿数を調べてみました。

「公」になっているのが公開した投稿で、「下」になっているのは下書きの状態です。

背景色があるのは実際にインデックスページに表示された投稿で、表示投稿数とはインデックスページに実際に表示された投稿数です。

表示された投稿数が7になっている組み合わせは設定どおりすべて表示されていますが、7よりすくない組み合わせは表示投稿数が設定より少なくなっています。

これをみると特定の投稿で表示が終了するわけではなく、#4、#5、#7の投稿の容量が大きくて表示投稿数が制限されているのだと思いました。

インデックスページへの表示を投稿タイトルとサムネイルだけにしても解決せず


実際にインデックスページに見えるのは投稿タイトルとサムネイル、サマリーだけなので、投稿によって表示している容量が左右されているとは思えませんけど、Bloggerのシステムは投稿全体の容量で判断しているようです。
          <div class='post-body'>
            <b:if cond='data:post.snippet'><data:post.snippet/></b:if>
          </div>
Blog1ウィジェットの中のmobile-index-postインクルードの投稿のサマリーを表示している部分をコメントアウトして、表示させるのを投稿タイトルとサムネイルだけにしても解決しませんでした。

Blogger:ラベル設定(3)同じラベルの投稿タイトルのみを表示の設定でも容量制限にひっかかるのか興味がありますが、たぶんひっかかると思います。

検索結果もどうも抜けがあると感じていましたが、それも容量制限にひっかかって途中までしか表示されていなかったのが原因だとわかりました。

(2017.2.8追記

moreタグ以降は容量に計算されない


コメントで教えていただいた通りにmoreタグをつけてみるとインデックスページに表示される投稿数が増えました。

なのでmoreタグ以降は容量にカウントされないようです。

このブログではBlogger:テンプレート編集(9)インデックスページをモバイルサイトのものに統一する以前はmoreタグを使っていました。 容量制限で問題が起こったのはそれ以降ですので、いまさらおかしいと思っていました。

 moreタグを止めた理由はBlogger:iOSのBloggerアプリで保存すると追記の区切りが変になるBlogger:バックアップ(9)追記の区切りがインポートされないでした。

iOS用のBloggerアプリは廃止となったので、もうmoreタグを使わない理由とはなりません。

インポートでmoreタグが置換される問題は解決法があることと、今も問題があるのかはわかりませんので、moreタグをまた入れればいいのですが、もうすでにmoreタグのない投稿がたくさんあるのでいまさらは入れ直すのはちょっと手間です。

<data:post.snippet/>を削っても制限がかかるので、テンプレートでmoreタグを付けるのも解決法にはならなさそうです。

<data:post.snippet/>の中でサマリーの最後にmoreタグを入れたいところですが、<data:post.snippet/>の編集方法は今のところ不明です。

普通は<data:post.snippet/>はモバイルサイトでしか使っていないので、<data:post.snippet/>だけmoreタグをいれると、ウェブバージョンとモバイルサイトで表示投稿数が異なってしまうので、<data:post.snippet/>が改定されることは期待薄です。

何か別の方法を考えないといけません。)

(2017.3.11追記。 インデックスページをページナビごとすべてフィードから描画するように変更しました。これで1MBの制限にひっかからなくなりました。Blogger:ページ番号付ページナビ(16)1MB制限に対応するナビの作成:その4参照。)
PR

2 件のコメント:

  1. 投稿のはじめの方に&lt!-- more -->を挿入することで(もっと読む機能の区切り),それ以前のタグのみ投稿の容量としてカウントされるようになるかも知れません. 経験的なもので実際にBloggerのコードを確かめたわけではないので定かでは有りませんが,インデックスページにpost.snippetを表示している場合,見た目も変わらず有効かもしれません.

    返信削除
    返信
    1. 実践してみたらそれが正解でした。ありがとうございます。
      試しにGit(18)EclipseでGitのチュートリアルビデオ:その2にmoreタグをいれてみたら、インデックスページに表示される投稿数が一つ増えました。

      削除