パーマリンク設定でちょっと困ってます

FC2ブログのあれこれ
2019/12/14
22
vanillaice (Akira)
vanillaice (Akira)
SEOパーマリンク設定

いやー (´・ω・`)
いつもペラっと読んでペラっとすぐ記事書いちゃうからこういうことになる(反省しているテイ)

先回記事にした以下の内容について。

FC2ブログにパーマリンク設定(カスタムURL)が新規実装されました

FC2ブログにパーマリンク設定(カスタムURL)が新規実装されました

sneak peek的にチラリとお知らせのあった カスタムURL機能 実装のアナウンスが届いていますので、現時点でわかっていることについての簡易説明や注意点などを。...

この中で canonical について触れています。カスタム機能を使えばURLが変わり、原則そのURLが「正規」となるわけです(301リダイレクト入れば必然的にそうなる)

で、canonical というのはまさしく「正規URL」を伝えるためにあります。その指定が私の早とちりで「不整合だよ」とか書いたんですが、実際は 個別記事の方は対応できる んですね。問題はカテゴリの方です。

結論から言うと、パーマリンク設定を行う方は、対象ページ「個別記事」「カテゴリ」の2種のうち「カテゴリ」については不整合のまま行かざるを得ない感じ (∵`)

ここからはFC2ブログの独自変数を識っていないと意味がわからないと思いますので、識ってる人にとっての「独自変数あるある」としてお読みください(笑)

カテゴリは何故か相対パス

<%topentry_link> は絶対パスで出力されるんですが、<%topentry_category_link>相対パス なんですよね。相対パスである、ということ自体は問題にはならない(ならなかった)んだけども、今回この新規実装に伴い以下のような変更が入っています。

<%topentry_category_link> の旧出力内容

blog-category-xx.html

<%topentry_category_link> の修正出力内容

/blog-category-xx.html

わかりづらいですが、先頭に / スラッシュが付いてるんですねこれ。事前にお知らせはありましたので、その時は「階層が増えるの?」とか軽い感じで考えていたのですがこれが相当曲者… ( ̄∀ ̄;)

独自変数の基本は「繰り返し」

<!--topentry--> とか <!--category--> とか色々ありまして、それのどれもが「繰り返し表示」を担っています。つまりページ内に3件の記事があれば3回出力作業を行うわけです。逆の発想で「1件だけ」を出力するという変数が無いんですよ。無いけれども実際は可能(裏技的に)
可能だけれども今回のケースでは不可。

カテゴリページというのは「Aカテゴリ」「Bカテゴリ」など複数のカテゴリが混ざり合って記事表示されることはありませんよね。各カテゴリをまとめているのがカテゴリページですから当然です。で、単独でURLを拾う変数が無いものですから、正規URLを特定するのにこれまでは

<%url>blog-category-<%cno>.html

こういうやり方をしてたんですね。色付き部分が変数、色なし部分は手打ち内容です。<%url>変数でまずブログURLを表記させます。SSL化していれば スキームが https:// になりますし、非SSLの場合は http:// です。これは自動出力ですから、この時点で通信プロゥトコルに関する正規化というのは事足りていた、と。<%cno> というのはカテゴリ番号です。これらが合体すると、例えば私のブログアドレスの場合は

https://vanillaice000.blog.fc2.com/blog-category-xx.html

こうして正しいURLになる、という仕組みです。

ところが今回実装されたパーマリンク設定というのは URL末尾が自由 ということで番号のような法則性がありません。故にこの部位は変数が無ければ引っ張り出すことができないデータ部位です。というわけでこういう形となる。

<%url><%topentry_category_link>

カテゴリのカスタム部位を吐き出すのが <%topentry_category_link> ですね。新規実装の original の文字列を含むものはカスタム後の内容を抽出できませんので、カスタム有りの人も無しの人も正規データを引き出せるoriginalなしの変数一択です。これだけだとダメなんで(繰りかえしされちゃうから)、さらにエリア変数などで囲ってゴニョゴニョは必要です。

で、結果こういうことになる。

https://vanillaice000.blog.fc2.com//e/カスタム内容

わかりますかね。正しいのは

https://vanillaice000.blog.fc2.com/e/カスタム内容

これです。前者はスラッシュが2連続被りしてますよね。e の前にふたつある。変数の修正によるスラッシュ追加があったためにこういうことになってしまったのですが。

URLの中途に連続したスラッシュが有る場合はひとつとみなされて処理が行われます。ですがcanonicalというのは「正規」を司るわけだから、なんかすごーく嫌じゃないか (´・ω・`)

ではスラッシュ重複が起こらぬよう、<%url> を取ってしまったらどうか。つまり相対パスにしておけば良いのではないか、と。
canonicalは絶対パスでなければいけない んです。このcanonicalは今回の件だけでなく、SSL化過程・スマホ版とのURL統合の面でも重要な役割を持っていますので、特にスキームを含むのはSSLにはものすごく重要。正規は http:// じゃないよ、canonicalなのは https:// だよ、ってことをやってるわけだから。つっても301リダレクト入れてれば別にそんな大騒ぎするようなことでもないが ←

そうは言っても実際「パソコンで検索した自分の記事をクリックしたらスマホ版で表示された…」という人はめちゃくちゃ多いでしょう。FC2では。だからレスポンシブ設定を正しく行えと何度も… というのはまた別の話です。すみません。

ともかく全体SSLが済んでいない、レスポンシブテンプレートを雰囲気で使っている、という方が多いFC2でcanonicalを外すというのはちょっと危険というか。ものすごく不親切というか(笑) なので困ってるわけなのだが?ん?

どのみち上記の方法じゃダメだけどね。該当者がどのぐらい居るかわかりませんが「カテゴリは有るけど記事はまだ無い」という場合に対応できないもので。

個人設定のOGP

カテゴリページでもOGPのURLはちゃんと出力されています。しかも日本語部位はエンコードされている。つまりは カテゴリページのURLを「単独で」抜き出す変数が存在している ということ。でもそれが見つけらんねんだよぉぉう!
えと。mochiさんを召喚したい。召喚獣(笑)
この記事ご覧になったら連絡ください。いつものようにヒント、なんなら 答えをください。 すみません(笑)
mochiさん紹介しとくか。

富士宮で貯蓄と資産運用

富士宮で貯蓄と資産運用

定期預金や投資など資産運用をアニメぬり絵画像とともに紹介。

当面は個人カスタマイズで

個別記事の方は書き直そうと思っていますが、カテゴリの方は現状維持にしておこうと思います。もちろん召喚獣が現れてあらゆる罪咎憂いを取り去りたもうてくれれば別ですが。いやホントに(笑)

とりあえずですね、「パーマリンク設定を利用する」ことが決まっており、かつ「canonicalをきれいにしたい」という方は個人で修正できるように内容を記載しますが、もう少しあがいてからにします。まぁでも不整合でも入れといてリダイレクトで… が無難かもしれないなぁ (´・ω・`)

あぁ… 一向に申請許可が降りないテンプレートも修正しないと。ちゅうか?このために待ってくれてんの?(笑)

Related post

Comments  22

mochi
2019/12/14 (Sat) 08:58

もしかして呼びました? |ω・`)チラ

呼ばれて飛び出てジャジャジャジャーン!
おはようございます。Akiraさん。(^^)/

カテゴリについてはカスタム部分はカテゴリ名と一致するようなので、パンくずリストなどで使われている<%sub_title>が利用できるかもしれません。

イメージとしてはこんな感じ?
<!--category_area-->
<%url>c/<%sub_title>.html
<!--/category_area-->

ただ日本語部位のURLエンコードができていないので…どうなんでしょう?

-
2019/12/14 (Sat) 10:56

管理人のみ閲覧できます

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

-
2019/12/14 (Sat) 12:26

管理人のみ閲覧できます

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

-
2019/12/14 (Sat) 15:27

管理人のみ閲覧できます

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

vanillaice (Akira)
Akira
2019/12/14 (Sat) 17:25

To mochiさん

mochiさん、こんばんは ('0')/
お気づき頂いてありがとうございます。式神方式で(笑)

個人カスタマイズでは私もその方法しか思い浮かばないんですよね。
これだと「パーマリンク設定を使わない人」が内容出力できないので、テンプレートデフォルト設定として採用するわけにいかないだよなぁ (´・ω・`)
(エンコードについては、今のFC2だとcharsetがUTF-8で統一されているので問題ないと思います。Googleも日本語を含むURLでも問題なしとしています)

OGPは取れてるんで恐らく変数的なものがあると思うんだけど、そもそも全く別のやり方でやってる可能性も。
まいどまいどの悪魔の証明だこりゃ ( ̄∀ ̄;)
明日いろいろ探る予定。でも明日庭作業しないといけないから無理かも。ガーデニング好きな人尊敬するホント(笑)

vanillaice (Akira)
Akira
2019/12/14 (Sat) 17:33

To パーマリンク設定の件 内緒さん

こんばんは。

記事内容にある通り、テンプレートの編集は不要 です。というか、してはいけない、という表現の方が良かったですね。
変更できる部位はhead要素内のcanonicalに関する記述のみです。そちらについても現在調査中なので今は特に何もしない方が良いと思います。

というわけなのでテンプレートをデフォルトの内容に戻してくださいね。でないとコメント1件目・2件目の問題点の検証ができませんのので、まずは一旦戻してから、ということでよろしくお願いします。

-----
あとサイドメニューのカテゴリ一覧が、コード内容が古いのでhtml5構文エラーなんですね。
カテゴリ1件につき1件のエラーなので100以上あります。これはもう許容範囲を超えていますので、できれば別のプラグインへの変更をご検討ください。

参考記事: 弊テンプレートと相性の良い共有プラグインの紹介
https://vanillaice000.blog.fc2.com/blog-entry-954.html

M
2019/12/14 (Sat) 19:06

僕もパーマリングしたいです

Akiraさま

いつもお世話になっております。

FC2に下のような変数が紹介されているのですが、こんなのありましたっけ?

<%topentry_original_category_link>
カテゴリーのパーマリンクのみを表示
パーマリンクの設定に関わらず
/blog-category-xxx.html (標準) になります

僕もカスタマイズしたいのですが、
これに書き直しても何も意味ないですよね…

-
2019/12/14 (Sat) 20:52

管理人のみ閲覧できます

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

vanillaice (Akira)
Akira
2019/12/14 (Sat) 22:46

To Mさん, To パーマリンクの件 内緒さん

こんばんは。まとめてお返事しますね。

ちょっとみなさん先走り感があって(笑)
恐らく類似質問が今後も届く気がしますのでもう一度改めて記事にしようと思います。

-----
記事をUPしましたのでご覧くださいね。
https://vanillaice000.blog.fc2.com/blog-entry-984.html

mochi
2019/12/15 (Sun) 00:22

FC2リクエストしかないような…

こんばんは。Akiraさん。(^^)/

>テンプレートデフォルト設定として採用するわけにいかない
やはりそうですよね。コメントしたあとでAkiraさんがテンプレート制作者だということを思い出しました (笑)

OGPはシステム側で一括挿入してくるので、テンプレート変数は用意されていないだろうと予想しています。ただPHP側では変数として存在しているでしょうから、OGPのURL出力部分をテンプレート変数で取得できるようにFC2運営にリクエストした方が、「賢者の石」を探す旅に出るよりは現実的なように思います。もし仮に既に隠れテンプレート変数として存在するのであれば公開してもらうだけで済みますし。

vanillaice (Akira)
Akira
2019/12/15 (Sun) 03:40

To mochiさん

mochiさん、こんばんは ('0')/

そうですよねぇ (´・ω・`)
既に類似リクエストもあるけれど、運営さんは「類似」だと気づいてくれるだろうか(笑)
「xxカテゴリの最新記事1件のみを表示」とか結構便利だと思うのだけれど。
もう色々機能が増えすぎて繰り返しだけだと事足りなくなって来てますよね。単一を考えてもらわないと。
折を見てリクエストしてみたいと思います。いつもご協力とお知恵を拝借して、ホントありがとうございます :)

-
2019/12/15 (Sun) 07:27

管理人のみ閲覧できます

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

-
2019/12/15 (Sun) 07:59

管理人のみ閲覧できます

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

vanillaice (Akira)
Akira
2019/12/15 (Sun) 10:12

To パーマリンク設定404の件 内緒さん

おはようございます。

全てのカテゴリをチェックしました。現時点で404 not foundになっているのは以下の22カテゴリです。

ハート・オブ・ディクシー ドクターハートの診療日記(Hart of Dixie)
5→9 ~私に恋したお坊さん~
僕とスター の99日
スイッチ~運命のいたずら (SwitchedatBirth)
奇皇后~ふたつの愛 涙の誓い~
妖婦張禧嬪(ようふ チャン・ヒビン)
ダークエイジ・ロマン 大聖堂
よろず占い処 陰陽屋へようこそ
アンダー・ザ・ドーム(Under the Dome)
FOREVER Dr.モーガンのNY事件簿
リゾーリ&アイルズ ヒロインたちの捜査線
S -最後の警官-
ハリーズ・ロー 裏通り法律事務所(Harry'sLaw)
HOMELAND1 (ホームランド1)
HOMELAND2 (ホームランド2)
HOMELAND3 (ホームランド3)
HOMELAND4 (ホームランド4)
HOMELAND5 (ホームランド5)
HOMELAND6 (ホームランド6)
愛の選択 ~産婦人科の女医~
ドクターX ~外科医・大門未知子~

ポリティカルアニマルズ(PoliticalAnimals)

-----
22件中の21件は「半角スペースの利用」が原因です。残り1つの「ポリティカルアニマルズ」については恐らく「political animal」が禁止ワード指定されているのだと思います。ハイフンで繋いでもアンダースコアでも許可されないようなので、このあたりは大人の事情がありそうですね。
カタカナのだけならばOKです。

-----
見落としがあるかもしれませんので、必ずご自身でも確認を行ってください。
効率の良い方法は、まずトップページを開き、このページは固定してください(つまりタブを閉じないように注意する)
そしてサイドメニュー部の「カテゴリ一覧」を利用し、Ctrlキーを押したまま10件程度各リンクをクリック(Macの場合はCtrlではなくCommand)
すると次々に別タブでページが開かれます。見るのは「タブ」の「タイトル」です。「404」と出ますのですぐにわかります。前後タブのタイトルから対象カテゴリ名は容易に判断できるはずです。

で、ここまでの経緯で「カテゴリ名が正しいはず(正しく修正したはず)のページが404」の件については、内緒さんがどのような手順で検証したかにもよると思います。
例えばリロードを用いていれば404になります。
ここははっきり判断できませんが、今のところ私の方では上記22件、ということです。チェックをお願いします。

-
2019/12/15 (Sun) 14:27

管理人のみ閲覧できます

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

-
2019/12/15 (Sun) 15:22

管理人のみ閲覧できます

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

-
2019/12/15 (Sun) 16:56

管理人のみ閲覧できます

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

vanillaice (Akira)
Akira
2019/12/15 (Sun) 18:33

To 404パーマリンクの件 内緒さん

こんばんは。

現時点で症状を確認できるのは「Foyle's War」だけですかね。あるいは他は未検証かしら。
つか、Foyle's war懐かしいな(笑)

確かに最初の1件(記事の更新をしたもの)以外はパンくずも記事下のカテゴリリンクも旧名称になっていますね。
で、テンプレート内容としては全ての記事に対し全く同じ変数でもって出力させていますので、内容が違ってしまうということはサーバーサイドの問題ということになります(FC2独自変数はweb一般で言う「php」にあたり、データ処理はサーバー側で行います)
そして記事を更新すれば改善されるということなので、これはもうサーバー処理の問題で確定、ということで良いと思います。

本件は私の環境下では起こらないんですね。カテゴリ名を変更すると記事更新無しでも即反映されます。
なので最終的には運営に問い合わせる、という形になります。

ただ運営に問い合わせてうだうだごちゃごちゃやるより、記事数が多くとも地道・自力で修正する方が早いかもしれません。
問い合わせは当たり外れがあるんです(笑)
すっと理解してくれる担当者も居れば、まるでトンチンカンな返事をしてくる担当者も居る ^^;
時間を置いて解決するならそれが楽ですが、その日がいつ来るかがわからないですよね (´・ω・`)

更新で解決する場合の効率的な方法は、管理画面のから「記事の管理」をクリック、絞り込みでカテゴリを指定(ここがどんなリストになっているかも気になりますので、差し支えなければ教えてください)
リストされた記事の「編集」を片っ端からCtrlキーで開き、これまた片っ端から保存(更新)、というのが早いと思います。内容を見る必要はなくただ「記事を保存」をクリックするだけなので。50件程度ならこれで楽勝だと思います。頑張って ^^;

-
2019/12/16 (Mon) 07:36

管理人のみ閲覧できます

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

-
2019/12/16 (Mon) 13:46

管理人のみ閲覧できます

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

vanillaice (Akira)
Akira
2019/12/16 (Mon) 20:41

To (重要)404パーマリンクの件 内緒さん

こんばんは。

解消されてますね。安心しました(笑)
あと内緒さんもこの記事内容の該当者です。

参考記事: 【超重要】パーマリンク設定時のカテゴリページ送り問題
https://vanillaice000.blog.fc2.com/blog-entry-986.html

ご面倒ですが目を通してみてくださいね。よろしくお願いします。

-
2019/12/17 (Tue) 07:28

管理人のみ閲覧できます

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

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