Blogger:ページ番号付ページナビ(3)フィードの取得件数制限に左右されないページナビ

前の関連記事:Blogger:ページ番号付ページナビ(2)簡単な導入方法、ただしラベルインデックスページは無理


フィードの取得件数制限に左右されないページナビをみつけました。さらに検索結果ページヘの対応の例もみつけました。

フィードの取得件数は500から150へと制限が厳しくなっていた


公開済み投稿数が500を越えてからBlogger:ページ番号付ページナビ(1)何ページ目を見ているのか一目でわかる方法で導入したページナビを500以上の対応に修正しないといけないと思っていたらBlogger:Feedで取得できる記事の最大件数が500件から150件へと変更された? - Dr.ウーパのコンピュータ備忘録という記事を見つけました。


このブロクのページナビを見てみると30ページまでしか表示されていません。

1ページあたり5投稿の表示にしているのでたしかに150投稿までしかフィードで取得できていません。

これはBlogger:ページ番号付ページナビ(1)何ページ目を見ているのか一目でわかる方法で導入したページナビwww.mybloggerblog.com.jsがalt=json-in-script&callback=pageNavi&max-results=99999という方法ですべての投稿の要約をフィードで一度に取得しているのが原因です。

99999個の取得を目指しながら実際は500個しか取得できていなかったのが現在は150個までしか取得できなくなったのです。

フィードの取得件数制限に制限されないページナビを見つけた


対策としては150個ずつ複数回に分けてすべての投稿の要約を取得するしかないのかな、と思っていましたがうまく対策しているものを見つけました。

How to Add Numbered Page Navigation Widget for Blogger | Helplogger

テストブログを作って画像ウィンドウのデフォルトテンプレートに導入してみるとちゃんと150以上の投稿についてページナビが作成されました。


195個の公開済み投稿に対してページナビを作成し1ページあたり7投稿に設定しているので7x28=196投稿分のページが表示できています。

このページナビはインデックスページのURLからページ番号を取得し、全投稿数からそのページの先頭のページ番号を算出しそのページ番号を元に1ページあたりの表示投稿数のページを表示させるURLを得ています。

各ページへのリンクボタンはボタン作成時にリンクを作成するのではなく、ページ番号がクリックされてから、そのページ番号と全投稿数を元にそのページのURLを作成する仕組みになっています。

そのためフィードから取得する情報はまず表示させるページの先頭の投稿番号を算出するための全投稿数の取得と、その投稿番号への投稿のURLを作成するためのその投稿の投稿日時の取得の2回だけで、いずれも取得投稿件数は1個で事足ります。

Blogger:ページ番号付ページナビ(1)何ページ目を見ているのか一目でわかる方法で導入したページナビに比べてフィードを取得しに行くオーバーヘッドは2倍になりますが取得件数は全投稿数からたった1件に減ります。

たった1件のフィードさえ取得できればよいので取得件数がさらに厳しくなってもスクリプトの変更をしなくても済みそうです。

他の制限はこれまで導入していたページナビと同様でした。

アーカイブページには対応していません。

ラベルインデックスページへの対応にはBlogger:ページ番号付ページナビ(1)何ページ目を見ているのか一目でわかる方法と同様にラベルインデックスページの呼び出し時に1ページあたりの投稿数を設定する必要があります。

実際にこのページナビを導入しているブログはTroubleshooting Page number navigation in my blog - Blogging Tools - Blogger Help ForumからたどってHelp to easy netにありましたが投稿数が少なくて2ページ分しかページナビがなくあまり効果が実感できません。

検索結果ページヘの対応


この新しいページナビもこれまでこのブログで導入していたページナビも検索ボックスの検索結果の表示には対応していませんでしたが、それを対応させる方法がjavascript - Numbered page-navigation of Google Blogger not working on search results page - Stack Overflowにありました。

Prayagにある導入事例をみる確かに検索結果にもページナビが表示されています。

なのでPrayagにあるページナビを参考にさせていただこうと思います。

参考にしたサイト


Blogger:Feedで取得できる記事の最大件数が500件から150件へと変更された? - Dr.ウーパのコンピュータ備忘録
2015年11月頃にFeedの取得件数制限が厳しくなったそうです。

www.mybloggerblog.com.js
これまでこのブログで使っていたページナビのJavaScript。リンク元記事はもうないようです。

How to Add Numbered Page Navigation Widget for Blogger | Helplogger
フィードの取得件数制限に左右されないページナビ。

Troubleshooting Page number navigation in my blog - Blogging Tools - Blogger Help Forum
この質問に上記ページナビを導入したブログがありました。質問自体はアンカータグによるJavaScript駆動に関するものです。

Help to easy net
ページナビの例。

javascript - Numbered page-navigation of Google Blogger not working on search results page - Stack Overflow
検索結果ページへのページナビの対応についてのQ&A。

Prayag
検索結果ページにページナビを対応させた例。

次の関連記事:Blogger:ページ番号付ページナビ(4)投稿数が150個を超えても使えるように修正する

PR

0 件のコメント:

コメントを投稿