FC2ブログの「パーマリンク設定」を理解する

FC2ブログの「パーマリンク設定」を理解する

FC2ブログのあれこれ
2019/12/15
13
vanillaice (Akira)
vanillaice (Akira)
トラブル対処InstructionSEOパーマリンク設定

新機能の パーマリンク設定 について再度説明したいと思います。今何をすべきで、何をしてはいけないのか。また、何故この機能を利用する必要があるのか、それともする必要が無いのか、など。

【ブログ】パーマリンク設定が追加されました。

【ブログ】パーマリンク設定が追加されました。

FC2 (fc2.com) をご利用いただき、誠にありがとうございます。 この度、FC2ブログ (blog.fc2.com) において、記事URLにエイリアスを指定するパーマリンク設定が行えるようになりました。 パーマリンクとは ブログやWebサイトでは各ページに対して個別にURLが与えられます。 例えば

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

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

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

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

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

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

パーマリンク設定とは

カテゴリページ個別記事ページURL を独自内容に変更する機能です。

カテゴリの標準URL

https://ユーザーID.blog.fc2.com/blog-category-カテゴリ番号.html

個別記事の標準URL

https://ユーザーID.blog.fc2.com/blog-entry-記事番号.html

緑部位のことを パーマリンク と言います。この部位をカスタマイズというか、独自名称に変更するのが「パーマリンク設定」です。
* ドメインについては .net などもありますが今回は .com に統一して説明をすすめます。

カテゴリのパーマリンク設定後URL

https://ユーザーID.blog.fc2.com/c/カテゴリ名

個別記事のパーマリンク設定後URL

https://ユーザーID.blog.fc2.com/e/独自名称

英数字やアルファベットだとそれだけで混乱してしまう方もいらっしゃるかもしれませんが、c はカテゴリ(category)の c です。同じく e は内容・記事(entry) の e です。どうということはない。

カテゴリの c と個別記事の e は自動的に必ず付きますので変更や削除不可です。これがつまり「階層」ですから、この部位でページ種の判別ができるわけですね。

パーマリンク設定の意義

一言で言えば SEO のためです。URLというのはいわゆる「ページの住所」です。その住所にたどり着いたときに 表札や看板が有るのと無いのと どちらかより目的地がわかりやすいでしょうか。その表札や看板になり得るのが「パーマリンク設定」だと思ってください。

例) 個別記事のパーマリンク設定後URL

https://ユーザーID.blog.fc2.com/e/music-alternative-rock

music-alternative-rock の文字列が検索ユーザーの目にとまれば「音楽の記事であり、特にオルタナティブロックについて書いているのではないか」と見当が付けられます。つまりこの文字列が「表札」「看板」の役割を果たす可能性、そして記事タイトルを補完する可能性がある、ということですね。検索ユーザーだけではなく、情報を収集する 検索ロボット に対しても同じです。実際にGoogleはカスタムURL(web一般ではこの名称がよく用いられます, FC2ではこれを「パーマリンク設定」と名付けています)を推奨しています。

カテゴリ名は自動で反映されます

カテゴリ名 はみなさん既に付けているはずです。例えば「映画レビュー」というカテゴリがあれば、そのカテゴリページは自動的

https://ユーザーID.blog.fc2.com/c/映画レビュー

に変更されます。既存カテゴリ名がそのままURLに取り込まれるわけですね。そして カテゴリの場合は注意点があります。

カテゴリ名に半角スペースを含んではいけない

* 2019年12月18日現在、半角スペースはエンコードされ利用可能になっていますので修正作業の必要はありません。以降の内容は記録として残しておきます。

全角スペースはOKですが、ブラウザのアドレスバーに表示される際に以下のようになります。

例) カテゴリ名が「映画レビュー あ行」

https://ユーザーID.blog.fc2.com/c/映画レビュー%E3%80%80あ行

これは美しくないですね(笑) ひどくわかりづらい表札、といったところ。個人的に全角であってもスペースの利用はおすすめしません。半角スペースの場合はおすすめしないのではなく 利用不可 です。お間違えのないように。

また、iPhoneやAndroidの 機種依存文字 や、ハートや星などの 特殊文字 の利用もおすすめしません。これらは どのデバイス環境でも同じ表示になるとは限らないから です。

カテゴリ名についてはとにかく 半角スペースを使っている場合には修正 を行ってください。つまり個人設定の カテゴリの編集 ページでカテゴリ名を変更する、という意味です。テンプレートのhtml内容を変更する必要はありません。 (* canonical以外は, 後述)

個別記事はその都度名称を考える

FC2運営は個別記事のカスタム部位を 記事エイリアス名 と表現しています。エイリアス(alias)とは「別名」「またの名を」という意味の英単語です。弊テンプレートの alias-Jane も「またの名をジェーン」という意味です。これは余談ですが。「エイリアス名」という表現は今後も度々目にすることがあるでしょうから要暗記。

カテゴリの場合は既存カテゴリ名が自動でURLに取り込まれますが、個別記事の場合は記事をUPする都度名称を付けます。

個別記事のパーマリンク設定時に日本語は利用できません。

カテゴリの場合は日本語OKですが、個別記事では使えませんので注意。

日本語

https://ユーザーID.blog.fc2.com/e/コンビニおすすめ商品100選

半角英数字

https://ユーザーID.blog.fc2.com/e/100selection-drug-store

日本人でも誰もがわかるような英単語を選び、かつなるべく端的に。「文章」にこだわる必要はありませんので「単語」を意識し、ハイフンでつなげると良いと思います。

利用できるのは「半角英数字」「アンダースコア( _ )」「ハイフン( - )」のみ。

個別記事では記事作成時にエイリアス名を書くことになります。書かなかった場合には旧来のURL(番号制)が自動で適用されます。

旧投稿画面の場合
新投稿画面の場合

使用可能なタグ というのがありますね。これはhtmlタグのことではなく、独自変数 のことです。「タグ」という表現は使わない方が良かったんじゃないのか (´・ω・`)
ともかく現時点で使えるのは <%entry_id%><%entry_timestamp%> の2つのみです。

<%entry_id%>記事番号 が出力されます。旧来の個別記事URLには記事番号が記されるルールで、識別番号として重要ですから失われるわけではないんですね。ちゃんと番号は個々に有しています。その番号をURL内に表記するための独自変数です。

<%entry_timestamp%> は読んで字の如く タイムスタンプ(記事の投稿日時)を表記するためのもの。例えば

例) 記事番号「50」投稿日「2020年1月1日0時0分0秒」に投稿し、エイリアス名に <%entry_id%>-test-<%entry_timestamp%> を指定した場合のURL

https://ユーザーID.blog.fc2.com/e/50-test-20200101000000

順序などに制限はありません。また独自変数単独でも使えます。それだとエイリアス名の意味がありませんので補足情報的に使うと良いですね。

「記事を投稿・保存した日時」は反映されるが日付変更時の「自動」修正は不可。

現在日時が「12月31日」だとして、初回投稿時に「1月1日」の未来あるいは「10月1日」など過去を指定した場合はその指定日時が出力されます。が、気が変わって「1月1日を1月2日に変更」したとしてもURLは自動的には修正されません。

記事編集時にはエイリアス名の部位が独自変数から内容出力後の内容に変化していますので、その内容を手入力で書き直せばURLに変更が反映されます。自動で修正はかからないけど手動ではできるよ、という意味ですね。ただURLを何度も変更すること自体おすすめできるものではありません。

個別記事のエイリアス名についてはカテゴリと違い「記事タイトル」と直接結びついてはいませんので、過去記事にもエイリアス、という場合を除き 新規記事以外で何かしらの対策をする必要は生じない はずです。そしてカテゴリ同様テンプレートのhtml内容を変更する必要はありません。 (* canonical以外は, 後述)

テンプレート内容で変更するのはcanonical指定のみ

ここからは「弊テンプレート利用者」限定の内容です。

canonicalの説明については当記事の最初に掲載しているブログカード「FC2ブログにパーマリンク設定(カスタムURL)が新規実装されました」をお読みください。

ここまでの説明で「テンプレートhtmlを修正する必要はありません」と書きました。ただ実際には弊テンプレートの場合は 個別記事ページ用のcanonical指定 のみ変更が必要です。で、この作業は私がやります、というか既存テンプレートは全て書き換えましたので再DLして頂くのが一番なんですが、改変などを行っておりそう簡単に再DLというわけにはいかない、という方も。また、再DLしても不備がある、というか不備と思えば不備だし、思わなければ不備じゃないというか(笑) 詳しくはブログカードの記事をお読みください。

カテゴリのcanonical指定のデータ操作にちょっと問題がありますので、カテゴリのcanonicalについては製作者側からの整備が不可 という状況です。なので現時点では個人カスタマイズとして行って頂くしか方法がありません。

新変数なども追加されており、テンプレート内のデフォルト独自変数を新変数に書き換えてしまう方がいらっしゃるんですが ダメ!絶対! これはやっちゃダメ (´・ω・`)
変更するのは head要素内にある内容で、これはブログの表示には影響しません。あくまでもGoogleなどのクローラー, 検索ロボットに示す内容であって、ブログの体裁には関係しませんので(ただし記述をミスしてエラーが発生すればレイアウトに影響が出ます)、何かしらの作業をしてしまい、ブログの体裁がおかしくなった という場合はhead内容「以外」の変数を書き換えてしまったことが原因です。以下の部位以外は絶対に書き換えないよう注意 してください。

以下のhtmlソースコードは
・パーマリンク設定の利用が確定している
・301リダイレクトを設定している
・canonical指定を綺麗にしておきたい
上記3項目両方に当てはまる方だけ利用してください。

3項目に該当しない方はテンプレート内容は触らないようにしてください。そして301リダイレクト設定は 絶対に解除しない という確信を持って行ってくださいね。SSL化もそうなんですが、設定した301リダイレクトを解除してしまうとインデックス(検索結果掲載)がトンデモなことになります。

3つ目の「canonicalを綺麗にしておきたい」にあてはまらない方は特に何もしない方が良いと思います。Googleはcanonicalよりも301リダイレクトを優先します。

変更箇所① カテゴリページのcanonical指定

対象者: テンプレートを再DLした人、テンプレートを再DLしない人 の双方

<link rel="canonical" href="<%url>blog-category-<%cno>.html">

テンプレートhtml内上部にあります。上記内容を以下の通り変更。

<link rel="canonical" href="<%url>c/<%sub_title>">

必ずコピー&ペーストで作業してくださいね。head内容ですから ページ構造の根幹を担う重要部位 です。ミスは許されない(笑)

こちらはテンプレートを再DLしてもしなくてもやってください。あるいはやらなくとも良い。混乱しますよねすみません ^^;
あくまでも「canonicalとリダイレクト先の不一致が気になって仕方がない」という方が行ってください。

この箇所に関しては製作者側が予め変更するわけにいきませんので(パーマリンク設定を利用しない方に問題が生じるため)、個人カスタマイズとなっています。

変更箇所② 個別記事のcanonical指定

対象者: テンプレートを再DLしない人

<link rel="canonical" href="<%url>blog-entry-<%pno>.html">

テンプレートhtml内上部にあります。上記内容を以下の通り変更。

<link rel="canonical" href="<!--topentry--><%topentry_link><!--/topentry-->">

修正用コードの見た目(色など)がちょっとおかしな感じですが独自変数を利用するとどうしてもこういうことが起こりますのでご容赦くださいね。

これまで弊ブログのパーマリンク設定に関する記事を熟読頂いている方は「topenty変数は繰り返すのでは?」と疑問に思われるかもしれませんので念の為説明しておくと、個別記事ページでは記事は1件しか表示されませんので繰り返しようがない、という理屈でOKです。正直ちょっと気持ち悪いやり方ですけどね (´・ω・`)

で、この箇所は既存テンプレート全て私の方で修正・上書き済なので再DLした方は不要な作業です。

テンプレート内の変数を新変数に書き換えてはいけない

書き換えてはいけません。例えば個別記事用の <%topentry_link> を新変数 <%topentry_original_link> に変えてしまったり、カテゴリ用の <%topentry_category_link><%topentry_original_category_link> に変えてしまったりなど、全てNGです。新変数については 利用することはまず無い と思ってください。

ユーザーの分岐に対応できるのは旧変数

旧変数というか既存変数ですね。ユーザー分岐というのは「パーマリンク設定を行わない人のURL」と「パーマリンク設定を行う人のURL」が今回変わることになったわけです。どちらを選択したとしても正しいURLを出力できるのは旧変数の方だけです。

例) 旧(既存)変数 <%topentry_link> で出力される個別記事URL

パーマリンク設定未利用者

https://ユーザーID.blog.fc2.com/blog-entry-記事番号.html

パーマリンク設定利用者

https://ユーザーID.blog.fc2.com/e/独自名称

例) 新変数 <%topentry_original_link> で出力される個別記事URL

パーマリンク設定未利用者

https://ユーザーID.blog.fc2.com/blog-entry-記事番号.html

パーマリンク設定利用者

https://ユーザーID.blog.fc2.com/blog-entry-記事番号.html

要するに新変数の方は「パーマリンク設定を利用していてもオリジナルのURLを表示する」という役割です。リダイレクトが入りますので結局はカスタム後のURLにたどり着くことはできます。ですから結果は同じのように思えますが、やはり問題あり。

具体例を上げると例えば「ページ送り」にマウスオーバーするとその遷移先のURLが表示されるようにしている、だとか。これは割とあると思います。するとマウスオーバー時に表記されていたURLと移動先のURLが違うわけだから閲覧者からすれば「???」な案件。あくまで一例として。

最終目的地がわかっているのにわざわざ旧URL(カスタム前のオリジナルURL)からリダイレクトさせる、なんてのはナンセンスでしかありませんので新変数への書き換えはしない。

まとめ

数回に渡ってパーマリンク設定の説明をしましたが、今後また何か気づきがあれば記事にしたいと思います。ともかく焦って「新変数の利用」をしてしまわないよう注意。また、FC2の独自変数というのは結構複雑ですし似たような文字列だったり組み合わせがあったりで、一般ブロガーさんが容易に手を出すとはまるかもしんない ^^;

上手に使えば有益な設定だと思いますので、下準備として弊ブログの記事をお読み頂ければ、と思います。

Related post

Comments  13

M
2019/12/15 (Sun) 10:22

No title

Akiraさま

前回の記事ではコメントありがとうございました。

今回のパーマリング。思ったのですが、個別記事の名称は気を付けないとすべて同じURLになってしまいそうで怖いですね( ̄▽ ̄;)

ウッカリ前に使った名称をまた使ってしまったりして、URLが同じものが多数あったりするとSEO的に変なことになってしまうのでしょうか?

その辺をちゃんと管理できなければ、なかなか手を出しづらいような気がしました(汗)

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

To Mさん

Mさん、おはようございます ('0')/

まずパーマリン「グ」ではなく、パーマリン「ク」です。動詞ではなく名詞です。単なる誤字だと思いますが念の為。

> 個別記事の名称は気を付けないとすべて同じURLになってしまいそうで怖い〜

エイリアス名用の変数はそのためにあります。例えば同じ
paris-restaurants
という名称を付けてしまったとしても
paris-restaurants-<%entry_id%>
としておけば末尾の記事番号が重複することはありませんので上手く活用してくださいね。
個人的にも記事番号を表記しておいたほうが管理が楽だと思います。私がパーマリンク設定を行うとすれば<%entry_id%>を使います。
<%entry_timestamp%>の方はたぶん使わない(笑)

M
2019/12/15 (Sun) 11:03

To Akiraさん(お返事不用)

Akiraさま

おはようございます。

アレ?ホントだ( ̄▽ ̄;)

iPhoneのiOSが13.2.3になってから使い勝手が悪くて誤字脱字をよくやらかします(汗)

僕もAkiraさまを見習って<%entry_id%>を付けることにします。

いつもありがとうございます!

M
2019/12/15 (Sun) 20:05

カテゴリページのページ送りについて

Akiraさま

お世話になっております。

カテゴリのパーマリンクを設定したのですが、
カテゴリページの「汎用ページ送り」が動作しなくなってしまいました(;^ω^)

例:クリックしても1ページ目のまま

ご紹介いただいた箇所の他に何かやるべきことはありますでしょうか?

JSとか…

もしかしたら、どこかに僕のミスがあるのかも知れませんが(;^ω^)

vanillaice (Akira)
Akira
2019/12/15 (Sun) 20:38

To Mさん

こんばんは。

あーホントだ。私これ見落としてましたね。不備ですね (´・ω・`)
例えば
category-0-1.html
にアクセスしても
category-0-2.html
にアクセスしても最初の1ページ目にリダイレクトされてしまいます。どのテンプレートを使っても同じ。
運営に報告しますね。お知らせありがとうございます。これ早く対処してもらわないと困りますよね (∵`)

M
2019/12/15 (Sun) 20:48

To Mさん

Akiraさま

お返事ありがとうございます。

僕の場合はページ移動しないだけですが、
他にパーマリンクの設定をなさったブログ(例えばスパークブログさん)の場合、
「Page not found」というエラーページになってしまっているようです
(おそらく気付いていらっしゃらない可能性あり)。

vanillaice (Akira)
Akira
2019/12/15 (Sun) 21:34

To Mさん

これはゆゆしき問題ですね ( ̄∀ ̄;)
今運営に問い合わせ中なので返信を待ちたいと思います。
とりあえずエンドユーザー側にできる対策というのは無いので(302リダイレクトならば一旦巻き戻しも可、301はそのまま様子見)、慌てて何かしてしまわないことです。
また結果がわかればお伝えしますね。

SparkNorkx
2019/12/16 (Mon) 04:49

404

FC2が早く反応することを願っています。
「404 Page not found」というエラーに気づきました。

ありがとうMさん。

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

To SparkNorkxさん

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

私も気づくのが遅れてすみませんでした。
取り急ぎの対処について記事にしましたので御覧くださいね。

参考記事: 【超重要】パーマリンク設定時のカテゴリページ送り問題
(how to fix 404 error issue in category page)
https://vanillaice000.blog.fc2.com/blog-entry-986.html

SparkNorkx
2019/12/17 (Tue) 04:58

To Akiraさん

ソリューションの記事は私にはうまくいきません。
理由は私が古いテンプレートを使用しているからです。(「Font Awesome」が存在します)
代わりにテンプレートの更新を待っています。そこから、新しいエンコーディングを適用します。
試みてくれてありがとう。

SparkNorkx
2019/12/17 (Tue) 10:55

To Akiraさん

おっとっと。。。 それを私が直した。(; ̄Д ̄)
あなたの解法を使用しました。

vanillaice (Akira)
Akira
2019/12/17 (Tue) 13:31

To SparkNorkxさん

SparkNorkxさん、こんにちは ('0')/

I'm sorry to have troubled you.
はい。機能していますね。It seems to work well :)

SparkNorkx
2019/12/18 (Wed) 03:50

To Akiraさん

どうもありがとうございました!
私は盲目でした。私は恥ずかしいです。(heh... heh...)

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