カテゴリページクエリの件は不具合ではなく仕様

カテゴリページクエリの件は不具合ではなく仕様

FC2ブログのあれこれ
2020/05/28
16
vanillaice (Akira)
vanillaice (Akira)
Instructionパーマリンク設定

えーと。まぁタイトルの通りです(笑)

「カテゴリページのみ最初の1ページ目にクエリが付かないのは不具合ではないか」という件ですが、結論としては 仕様 ということで確定です。

ページ送りに不具合か【FC2独自変数】

ページ送りに不具合か【FC2独自変数】

独自変数に不具合が生じているのではないか、という仮定のもとに書いています。具体的な内容としては リスト型ページ送りで1ページ目に戻った際に正しいページが表示されない、あるいは404 not foundになる というものです。どちらになるかは エイリアス機能を利用しているかどうか で分かれます。また、不具合ではなく仕様変更の可能性もあります。...

まずはお詫び

運営からのお返事が本日届きまして。実はその前に昨夜気づいたんですね。これが仕様変更によるものだということ を (∵`)

【ブログ】 カテゴリーURLの変更につきまして

【ブログ】 カテゴリーURLの変更につきまして

平素は FC2 (fc2.com) をご利用いただき、誠にありがとうございます。 このたび FC2ブログ (blog.fc2.com) では、 カテゴリ用のURLを変更・統合することになりました。...

ちゃんとアナウンスも行われ、こう明記されています。

URLが /category-0-1.html であることを期待して記述されたテンプレートや Javascript は動作しなくなります。

FC2総合インフォメーション

猶予期間を設けてあるからそっちで対応してくださいよ、という感じで書いてある。小さな字だけど(笑)
なんでしょうね… 読んだ「つもり」理解した「つもり」になっていただけで実際には字面を目で追っただけ、みたいな。

これは私の怠慢です。しっかり読んでいればもっと早く気付けたはずですし、対策する時間も十分にあったはず。皆様へは申し訳ございません。また、お忙しい中メールでやり取りして頂いたスタッフさんにもお詫び申し上げます。対応評価星5送っておきました。せめてものお詫び ^^;

で、返信内容ですが、やはり SEO面正規URL といったキーワードが出てましたね。そちらの方面も見据えた変更、ということでしょう。そもそもエイリアス機能(カスタムURL)自体がSEOと深く関わってるわけですしね。そりゃそうだよね ^^;

ただし個人的には「なぜカテゴリだけ」というのもありまして。もしかすると今後カテゴリ以外のページ種でも本件のような見直しが無いとは限りません。まぁその時はまたその時で対処するとして。あるいは差し戻しの可能性。ってそれは流石にないか。でも100%ではない。

修正スケジュール

ともかくテンプレートの修正をしないといけませんので、リリース済みのものについてはできるだけ早急に処理するつもりです。ところがこういう時に限って多忙なんですよー ( ̄∀ ̄;)
でも頑張る ←

修正が完了したものは各テンプレートの専用記事でアナウンスを行います。大変お手数ですが、ご利用中のテンプレートの進捗状況をご確認ください。

以降は対処(修正方法提案)と雑多説明と個人的に思うこといろいろ。

修正提案

これが困りましたねー (´・ω・`)
FC2の純正ページ送りというのは スマートフォン版にしか存在しない んですよね。ここはぜひ共通化を検討してもらいたいところですが。

何が一番困るかというと、これまでFC2ブログにとって有益な様々な JavaScript を提供してくれた作者さんの多くが既にFC2から引退されている、という事実。オープンソース的に利用が許可されているコードについて、じゃあテンプレートの作者に修正できるスキルがあるかどうかがまず疑問です。

スキルが有るとしても、これまた多くのテンプレートデザイナーさんが引退されていますよね。となると既存のテンプレートで「リスト型ページ送り + オープンソース」のパターンの場合は 修正はほぼ不可能 です。テンプレート作者、JS作者いずれが欠けても修正できない、という現状です。

あの。どうかなぁ。何度も書いてるけどここらでテンプレートの整理してはどうかと思う。本件なんか良いタイミングかもしれない。精査にかなり時間を取られるとしても、明らかに不完全なものを配布してしまうよりは良いと思います。すっごい面倒な作業だけど、該当テンプレート作者にメールなりで連絡(修正の要請あるいは提供終了の意思確認)をし、一定期間内に返信が無ければDL不可にする、とかもうそのぐらいやっても良いんじゃないのかなぁ (∵`)

不具合のパターン

ちょっと整理したいと思います。「エイリアス機能を利用する可能性」というのはもう絶対無視できませんし、「エイリアス機能利用者はJSを変更してください」なんてアナウンスは99%スルーされますので、機能の利用有無に左右されない がやっぱり配布テンプレートしての絶対条件だと思うんです。個人で使うならなんでも良いけどさ (´・ω・`)
なので「自分には関係ないや」と思わずご覧ください(笑)

  1. jQueryページネーション --- エイリアス機能ONで 利用不可
  2. vanilla JSページネーション --- 内容によって 対処が異なる

まず①のjQueryページネーションですが、ほぼ間違いなく Simple pagination という名称のプラグインを利用しているはずです。少なくとも私はこれ以外にjQueryのページネーションを見かけたことは無いです。

simple pagination、カスタマイズも容易で使い勝手もほぼパーフェクトで申し分無いんですが、URLの分岐ができない ため死亡。分岐というのは「エイリアス機能を使っているか使っていないか」です。この見分けを行う変数が無い、あるいは有ったとしても公開されていませんので振り分けることができません。

エイリアス機能利用なし

https://xxx.blog.fc2.com/blog-category-カテゴリ番号-ページNO.html

エイリアス機能利用あり

https://xxx.blog.fc2.com/c/独自名称?page=ページNO

simple〜の場合は hrefTextPrefix (上記コードの赤字部位)をダイレクトに指定しなきゃいけませんので、振り分けできない時点でアウトです。なのでエイリアス機能をONにして初めてページ送りの不備に気づく、という感じになりますね。

②のvanilla JS(pure JS, native JS, 素のJS)ですが、これがまた厄介です。こちらはもしかするとテンプレート作者が自力で書いている可能性もあります。それはすなわち 内容が統一されていない ということでもあります。

大きく分けて2パターン。1つめは 1ページ目のURLを基本(base)とし、それ以降は +1 という方式。この場合はページが100あれば100のリンクが掲載されます。500ページあれば500(笑)

2つめは リンク掲載数を固定して前後を省略し、前後を +1, -1 という方式。こちらのパターンが主に本件の対象です。なぜなら <%prevpage_url> 変数を使わざるを得ないため。

ともかくvanillaの方は人によって内容がバラバラでしょうから、私が「この部位をこう修正!」で済む話ではないんですね。それでもまぁ、たいていの場合はいけるだろうと思いますが(修正内容は後ほど)

で、さらにですが、vanillaのひどいものだと current pageの誤認識 が起こるもの(現在ページが1ページ目なのに2ページ目になっている、とか。当然前後ページへの遷移不可)があったり、弊テンプレートの類似の場合は ページ数が2ページの時だけ1ページ目へ戻るリンクアドレスがおかしい とか。いろいろ。

こうして記事にしている以上ある程度は汎く使えるように対処法を書きますが、パターンに沿っていない場合など質問や指南要求はしないでね ^^;
能力も時間も無いもので。すみません。もちろん私が制作したテンプレートについてはデフォルト内容であればちゃんとサポートします。

修正提案

「どの作者の」「誰が作ったJSの」とかが言えません。わからないから。ただページ送りのメソッドというのは大抵お決まりなので誰が書いても類似にはなっているはずだと思います。コード内に <%prevpage_url> <%nextpage_url> が記載されている場合には使える可能性が高い。でも絶対ではありません。

リスト型で前後の省略があるタイプですね。この場合は 1ページ目がリンクになっている時とそうでないとき(current pageのとき)はhtmlを直書きする という方式がほとんどだと思います。

<a href="'+記号+0+記号+'">1</a>

記号というかアルファベットですね。便宜上「記号」と書きました。a とか p とかの場合もありますし omit とか number とか単語の場合もあります。それはわかりません。あるいはa要素だけでなくli要素やspan要素に挟まれている場合やクラス属性などが付いている場合などもあります。ともかく 1ページ目のリンク書き出しにあたる部位を探す ということです。 で、その部位をまずFC2独自変数で囲います(赤字部位)。さらに新しい内容を書き加えます(緑字部位)。

<a href="<!--not_category_area-->'+記号+0+記号+'<!--/not_category_area--><!--category_area--><!--page_area--><%firstpage_url><!--/page_area--><!--/category_area-->">1</a>

もう今回はこれでOKだと思います (´・ω・`)
Googleと同じ方式なんかも考えたんですが、ajaxを使う関係上1ページあたりのアイテム(記事)表示件数を指定する必要があるので消去。JSの刷新も能力的な問題で消去。あとは超簡易的でどんなJS内容でも使える方法(変数を利用)もありますがSEO面で難ありなので消去。

弊テンプレート利用者さんでテンプレートの再DLは困る、という方は以下の手順を行ってください。ご面倒おかけします。

以下の内容を Ctrl + F キー検索

<li class=pager-item><a class=pager-item-anchor href="'+base+0+ext+'">1</a></li>

以下の内容に 差し替え

<li class=pager-item><a class=pager-item-anchor href="<!--not_category_area-->'+base+0+ext+'<!--/not_category_area--><!--category_area--><!--page_area--><%firstpage_url><!--/page_area--><!--/category_area-->">1</a></li>

各テンプレート、最新版であればこの内容です。古いものだとちょっと違うかもしれない。見つけられない場合はお尋ねください(弊テンプレート利用者さんのみ)

注意点

非公開変数を利用しています。いや、非公開ではないな。スマートフォン版専用変数 としてマニュアルに記載されているものです。実際にはPC版でも使えます。けれども今後ずっとそうとは限りません。もしかすると利用不可になる可能性も(低いとは思いますが)

まとめ

こういう顛末になりました。エイリアス機能の導入は思った以上に影響の大きいものだったなぁ、と。そうは言っても待望の機能という方もいらっしゃるでしょうから、利用する方が困らないようにテンプレート作者さんは自主的な修正をされると良いですね。

対応が遅れましたことを心よりお詫び申し上げます。

Related post

Comments  16

-
2020/05/29 (Fri) 01:13

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

こん
2020/05/29 (Fri) 07:03

お疲れさまでした

Akiraさん、こんにちは。
まずはお忙しいところ本当にお疲れさまでした。

あれからほぼ1週間が経過したので
FC2さんで大分難航しているのかな~などと想像していましたが、
既にアナウンス済みだったとはまさに青天の霹靂でした(;´Д`)。

実は、これでエイリアスは廃止!なんてことになったら
それこそ死亡宣告だ、などと最悪のことを考えておりましたが、
そうはならずにホッといたしました(笑。

早速ご指導いただいた「差し替え」にて修正させていただきました。
いつも本当にありがとうございますm(__)m。

まさにTGIF!ですね(笑。よい週末をお過ごしくださいね^^。

深緑の女魔術師
2020/05/29 (Fri) 10:16

お疲れ様です。

深緑の女魔術師です。

バグでなく仕様変更…

いろいろお疲れ様です。

修正方法の提示ありがとうございます。
おかげでさくっと修正することが出来ました。

こーゆう仕様変更はパンピーだと対応難しいので、
AkiraさんがFC2ブログにいて本当に感謝です。

以上です。

vanillaice (Akira)
Akira
2020/05/29 (Fri) 10:43

To ページ送りの件 内緒さん

こんにちは。
はい。もちろんどうぞ :)
上手く行ったのであれば安心しました。対応できないケースもあるかもしれないけど、とりあえず安心 ^^;

vanillaice (Akira)
Akira
2020/05/29 (Fri) 10:48

To こんさん

こんにちは ('0')/

仕様でした。ほんとお恥ずかしい(汗)
恐らく最初のページ送りのゴタゴタからずっとそうだったと思うんだけど、たまたま2ページに渡るカテゴリが無くて気づけなかった (∵`)
でもちゃんと書いてある。全く理解が及んでいなかったので反省です。

2つしか案が無かったんですが、簡単な第一案で解消できてホッとしています(笑)
Cus I cannnot learn a brand new trick just like an old dog lol

vanillaice (Akira)
Akira
2020/05/29 (Fri) 10:50

To 深緑の女魔術師さん

こんにちは ('0')/

お手数おかけしました (*_ _)
大きな変更そのものだけじゃなく、それに伴う某にもちゃんと注意しようと肝に銘じたいと思います ^^;

bon
2020/05/29 (Fri) 12:50

こんにちは。大変でしたね。私はAkiraさんがこうして教えてくださらなければ何をすることもできませんので、感謝しかありません。いつもテンプレート利用者のみならず、FC2ブロガーのことを考えて下さり本当にありがとうございます。

Hymnを使用している旧ブログ(現ブログと区別してこう呼ばせてください)のほうはhtmlの差し替えが完了しました。
https://bon3te.blog.fc2.com/

現ブログはMystyleですが、ページ内検索しても同じ文字列を見つけることができません。Mystyleのhtmlソースから該当と思われる部分を下にペーストしたのですが、不正なコメントになってしまいましたので削除しました。お手数ですがまたご確認いただきご教示ください。よろしくお願い致します。

あとひとつ、お尋ねです。本件に関係がなければ該当テンプレート記事へ移動しますのでご指示ください。
テンプレートHymnの個別記事ページ、スマホ(Safari、sleipnir)・PC(Chrome、オペラ)すべてで、画面両端の中より少し上にグレーの前後ページ送り(カテゴリ内移動)があります。これ、前からありましたか?今日気づいたのですが。
Hymnのデモページにも表示されているので、私が気づいていないだけで前からあったよ!というものでしたら本当にごめんなさい。よくトンチンカンなことをやりますので…
説明が難しいので、記事に画面キャプチャの動画をのせてみました。FC2動画です。確認できましたら動画は削除します。
(18:52編集・削除しました。)

いつもお手数をお掛けして申し訳ありませんが、よろしくお願い致します。

こん
2020/05/29 (Fri) 15:03

To Akiraさん

何をおっしゃいますか~。
そんなこと言ったらアタイなんてシーラカンスですよ(爆。

お忙しいとこ、ついつい食いついてすいませんm(__)m。
モチロンお返事要らないですからね~(^_-)。

vanillaice (Akira)
Akira
2020/05/29 (Fri) 16:48

To bonさん

こんにちは ('0')/

> ページ送りの件

<li><a href="'+base+0+ext+'">1</a></li>

という部位がありますので

<li><a href="<!--not_category_area-->'+base+0+ext+'<!--/not_category_area--><!--category_area--><!--page_area--><%firstpage_url><!--/page_area--><!--/category_area-->">1</a></li>

に変更してくださいね。

-----
> 個別記事のカテゴリページ送りの件

はい。リリース当初から付けてあります。上方向へスクロールされた時に表示させるようにしてあります。
ただbonさんのものはサムネイルが出ていませんので、再DLして頂くと表示されると思います。あるいは
#circle-left

#circle-right
を全て
.circle-left

.circle-right
に変更してもOKです。

削除する場合は
個別記事ブラウザサイドページ送り(カテゴリ間移動) 不要の方
で検索してガイダンスに従ってくださいね。

bon
2020/05/29 (Fri) 18:51

To Akiraさん

お返事ありがとうございます。
Mystyleページ送りの個別指導ありがとうございました。
変更しました。

Hymn個別記事カテゴリページ送りの件、
本当に今日気付きまして、あれっ、なんだこれ?と(^^;
信じられない…でも日常でも似たようなことがよくあり、ホント申し訳ないです。どこを見ているんだ…。すみませんでした。
教えていただいた通り#→.に変更しましたが表示がうまくいかず、テンプレートを新たにDLし、「個別記事ブラウザサイドページ送り」で検索して該当するHTMLソース2か所、またCSSの
/* side pagination */
から
/***------------------------------------------
footer
------------------------------------------***/
までを移植しましたが解消されず、グレーのボックスが表示されております。
修正したい場合再DL総入れ替えが最善策と思いますが、それは避けたいとなると、修正箇所が多岐にわたるのではないか?と思います。それでしたらガイダンスに従い削除します。
現状はこちらです。
https://bon3te.blog.fc2.com/

今までこれで運用しておいて、、ということは承知しておりますし、できればAkiraさんの負担も最小限にしたいと思っています。
お忙しいときに手間を増やしてごめんなさい。他の読者様にもお目汚し申し訳ございません。

vanillaice (Akira)
Akira
2020/05/29 (Fri) 20:57

To bonさん

こんばんは ('0')/

html内 にあります。本件ではスタイルシート内容は触りません。もちろん対応部位はありますが作業工程が増えて混乱しますし放置でも問題ありません。

個別記事ブラウザサイドページ送り(カテゴリ間移動) 不要の方ここから削除

で検索すると 2箇所 ありますので、2箇所とも

個別記事ブラウザサイドページ送り(カテゴリ間移動) 不要の方ここまで削除
に挟まれた内容を削除。

-----
で、bonさんのお手元のテンプレートのデータがちょっとおかしいですよね。ページ送りのJSはまとめて記載してあるんですが、カテゴリ移動用に必要な内容がごっそり抜け落ちています。

原因は
・カスタマイズ
・データの破損
・コメントの付け方を誤っている

などです。

------
上記は簡易的な方法で、この作業だけでも動作はしなくなりますが、JS自体は残ります。
JS内容もしっかり削除したい場合、実はこの件については削除する方が大変です。

* 削除しました。

-----
document.addEventListener("scroll"
で検索すると該当のscript要素が出てきますので、その要素をまるっと上記内容に差し替えてみてください。この内容でサムネイルが表示されるかどうかを確認し、その上で削除する場合は最初の簡易的な方法でも良いですし、削除する場合のコメントもつけてありますのでしっかり削除しても良いですし。

コメントの数字が
1/8 とか 4/8
となっているのは、全部で8箇所の削除が必要であることを意味しています。
うち1箇所がhtml、残りは全てJSです。JSのうちひとつはここの載せていません。また別の部位にあります。これは放置でも構わないと思います(もちろん取り除いたほうが良いに決まってますが)

全部しっかりやりたい、という場合には今現行のHymnにコメントを追加して上書きしましたので、再DL(適用のためでなく参照のため)し、照らし合わせて注意深く作業を行ってください。
上記の冗長なJS内容は返信を確認後削除しますので、保存をしっかり行ってくださいね。

データ破損が認められる場合にはホントは再DLが一番良いんですけどね。稀にこういったことが起こります ^^;

bon
2020/05/29 (Fri) 22:49

To Akiraさん

こんばんは。
script要素を提示いただいたものと差し替えたところ、画像が表示されました!
ああ、よかったー(T_T)
削除のほうが大変とのことでガクブルでした…
お手数ですがご確認をお願い致します。
https://bon3te.blog.fc2.com/

JS内容は念のため保存さていただきましたので削除ください。

もとあったJS内容をなぜか削除してしまったんでしょうね…
大変お手数をお掛けしてすみませんでした。

これで削除の作業は必要なくなったかと思いますが、この際なので、再度ダウンロードして相違箇所をじっくりチェックしてみます。
本記事と無関係なトラブルでご迷惑をお掛けしました。もう迷惑かけないぞといつも思うのですが、毎度申し訳ありません。
画像が表示されるようになり嬉しいです。お忙しい中、ご対応誠にありがとうございました。

vanillaice (Akira)
Akira
2020/05/30 (Sat) 01:34

To bonさん

表示されているのを確認できました。お疲れ様でした :)

-
2020/05/30 (Sat) 22:20

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

tetsu74
2020/05/30 (Sat) 23:02

To Akitaさん

そうだったんですね。先ほど該当箇所を差し替えて、問題無いことを確認しました。これで安心です(^^♪

これからもよろしくお願いします!

vanillaice (Akira)
Akira
2020/05/30 (Sat) 23:06

To tetsu74さん

こんばんは ('0')/

はい。こういう結果になりました。そもそも出発点が間違っていた、というか。すみません (*_ _)
修正できたということで安心しました。お疲れ様でした :)

コメントに関する注意事項
  • テンプレートに関するご質問は各テンプレート専用記事でのみ受付致します。また、よくある質問をまとめているページも事前にご参照ください。
  • 専門的なご質問の場合、記事内容と明らかに関連の無い内容はお控えください(雑談の場合はその限りではありません)
  • 第三者が不快と感じる内容や論調でのコメントはお控えください(性的,高圧的,暴力的など)