WordPressのパーマリンクの設定を変更すると何が起こるか?

WordPressのパーマリンクの設定を変更すると何が起こるか?今更ながら、パーマリンクの設定をデフォルトから変更した。

本来は、Wordpressをインストールした直後に行う作業であろう。

以前のパーマリンクの設定は、デフォルトだったので、投稿や固定ページのURLは、

/?p=123

となっていた。

/?p=%post_id%(?p=投稿ID)

の形式である。

「?」で始まる書式を嫌う人も多いが、個人的には、これでも問題はなかった。

しかし、設定の変更を試してみたいという気持ちもあり、今回、初めてトライした。

パーマリンクの設定

とは言え、パーマリンクの設定で、ブログのURLの形式が決まるため、パーマリンクの「書式」の決定には、一番、慎重にならざるを得ない。

多くの人が「投稿タイトル(%postname%)」または「投稿ID(%post_id%)」をURLの最後に持って来る書式を選ぶだろう。

URLは、投稿毎にユニークである必要があるという観点からも好ましい。

どちらかと言えば、「投稿ID(%post_id%)」のような意味不明の数字よりも、意味が通る「投稿タイトル(%postname%)」を最後に置くようなURLの方が、一般的には、ビジターに親切であり、好ましいと言える(らしい)。

しかし、日本語環境では「投稿タイトル(%postname%)」の利用に関して大きな問題がある。

タイトルは日本語で入力されることが通常なので、そのままでは、URLとして使えない。最も、Googleなどの検索エンジン上では、URLの一部が日本語で表示されて分かり易いというメリットもあるが・・・。

結果、「投稿タイトル(%postname%)」は意味不明の英数字に変換されてしまう。

投稿時に、半角英数字で「投稿のスラッグ」を設定するこで、この問題は解決できる。

投稿のスラッグ

一応、全ての投稿に「投稿のスラッグ」を設定してみたが、「投稿のスラッグ」の入力を習慣とする自信はない。

そこで、「投稿ID(%post_id%)」を最後に置く形式のURLにすることにした。

個人的な意見だが、ビジターは、管理者が懸念している程、URLがどうかなんて気にしていない。

せいぜい、気にかけるのはドメインくらいだ。面白いドメインだなぁとか。

今やツイッターの時代、見方を変えれば、わざわざ短縮しなくても良い程、十分に短いURLこそ、親切と言えるかもしれない。

基本的に、管理者本位で決めて良いように思う。

最初は、管理者本位+ビジターライクに

/%category%/%post_id%.html(/カテゴリ/投稿ID.html)

に変更した。

URLにカテゴリを使用することで、見かけ上のサーバーのディレクトリ構成もカテゴリ分けされているように見え悪くないが、このブログのルートは、「blog」ディレクトリ直下なので、どうもURLが長くなり過ぎる。

そこで

/%post_id%.html(投稿ID.html)

に変更したが、数字にhtmlが付く形式は、どうも馴染まない。

最終的には、安易に

/%post_id%(投稿ID)

の形式。つまり/blog/以下に単に数字が付くシンプルな形式になった。

これで、パーマリンクの設定が変わった。

パーマリンクの設定が変われば、これ以後は以前と異なるURLが付加される。

しかし、通常、ウェブサイトにおいてはURLが変わるという自体は、大変な弊害をもたらす。

ブックマークなどからアクセスしていたビジターは、アクセス出来なくなる。

当然、外部からのリンクも全て失う。

とは言え、パーマリンクの設定の場合は、ブログのトップページのアドレスは変わらないので、最悪の事態になることはないが、パーマリンクの設定するにあたって、一番懸念したのが、この点である。

幸い、変更後もデフォルトの「/?p=123」形式のURLでもアクセス出来た。

正確に言えば、デフォルトのURLへのアクセスに対しては、301リダイレクトが設定されており、新しいURLに自動転送される。

自動的にブログルートの「.htaccess」ファイルが書き換えられ、「mod_rewrite」の設定が施されていた。

301転送は、「恒久的にページが、こちらに移動しました。」という案内なので、URLの変えた場合の作法としては、非常に行儀が良い。

「カテゴリー」や「月別」、「タグ」といったアーカイブページのURL、フィードのURLまで変わるが、これらのデフォルトのURLに対しても301リダイレクトが設定されている。

アップロードした画像などが貼られる、

/?attachment_id=123

形式のページへのアクセスも、新しいURLに301リダイレクトされる。

デフォルトURLと新しいURLの間では、301リダイレクトが機能しているので、基本的にリンク切れなどの現象は起こらないので安心だ。

パーマリンクの設定をデフォルトから変えると「カテゴリー」のURLが変わることを踏まえて、予め、カテゴリーの設定では、半角英数字で「スラッグ」を入力しておいた方が良いだろう。可能ならばタグも。

タグに「スラッグ」を設定するならば、最初から習慣付けた方が良い。パーマリンクの変更後に日本語タグの「スラッグ」を変更するとスラッグベースのURLが更にもう1度変わる事になり、元のURLからの転送が効かなくなる。

カテゴリー スラッグが設定された場合のURL

タグ スラッグが設定されていない日本語タグのURL

パーマリンクをデフォルト以外に設定すると、固定ページのパーマリンクが個別に変更で出来るようになる。

そこで、個別ページのパーマリンクを分り易いものに変更した。

ただし、サーバー上のディレクトリ構成と一致するようなパーマリンクを設定してはいけない。

うっかり、これをやってしまった為に、そのページだけ、「アクセスする権限がない」と言う403エラーに見舞われた。

「index.html」や「index.php」などのファイルがないディレクトリにアクセスしようとしているので、このエラーは、当たり前の事なのだが、それを理解するのに時間が掛かり、一旦、パーマリンクの設定をデフォルトに戻したが、デフォルトの「/?p=123」形式のURLでも403エラーに見舞われた。

デフォルトへ戻した後のエラーは、実はブラウザの問題で、IE以外のブラウザでは問題なく、IEをリセットすることで回復したのだが、これも現象を理解するのに時間が掛かった。

こう言ったトラブルの時は、冷静さが大切だ。

無駄な努力が更に悪い結果をもたらすことも少なくない。今回は良い例だ。

403エラーに見舞われている間に、問題の固定ページを削除し、再度、投稿し直すという無駄な努力をしてしまい、その結果「投稿ID」が変わってしまた。

つまり、「投稿ID」が異なるため、内容は同じでも、別ものとして認識される。

とうとう、以前のアドレスでは転送されない状況になってしまった。

1ページだけとは言え、一番困るページである。正直、最悪だ。

それを正すために、データベースを直接操作し、投稿IDを付け替えるという技を身につけられた事は、唯一の収穫かもしれない。

さて、ブログのステータスとも言える、被リンク、ブックマークへの登録数、SNS等での言及数は、パーマリンクの設定で、どう変わるだろうか?

  • コメント・・・URL変更とは無関係なので影響を受けない。
  • ピンバック・・・消えないが、URLの整合性を失う。
  • 被リンク・・・トップページを除き、すべて失うが、転送される。検索エンジン上も問題ない。
  • はてなブックマークへの登録数・・・トップページを除き、すべて失う
  • ツイッターで言及された数・・・トップページを除き、すべて失う。
  • Facebook「いいね!」の数・・・トップページを除き、すべて失う。
  • Zenback・・・URLが変われば、新規ページの扱いとなり、関連記事が再構成される。
  • DISQUS・・・投稿のカスタムフィールドの値で識別するため影響を受けない。ただし、リアクションのURLの整合性は失う。

当たり前だが、URLが変われば失うものも多い。

それから、設定が終わったら、検索エンジン向けのサイトマップも直ぐに更新したほうが良い。

クロールの頻度にもよるが、検索エンジン上の全ての登録ページに変更が反映されるまでは時間が掛かるものの、反映の開始は意外に早い。

実際、10時間後に確認した時には、Google上では、一部が新しいURLで表示されていた。

パーマリンクの設定を迷っている段階のURLで表示されているものもあるので困ったものだ。

迷うことは想定していなかったが、「robots.txt」を変更してから作業に入れば良かった後悔している。

ともかく、クロールから検索結果に反映が開始されるまでのタイムラグは、意外に少ないので注意が必要だ。

それから、ブログ全体のURLが変わっているので、投稿や固定ページの中の内部リンクや、画像のリンクについても注意が必要だ。

デフォルトのURLからの転送が効いているので、基本的には変更の必要はないが、「タグ」アーカイブへのリンクなどは、スラッグを変更すると転送が効かなくなるケースもあるので、可能ならば、新しいURLに変更したほうが良い。

特に変更から時間が経過すると、こう言ったことは忘れがちなので、予め「Broken Link Checker」などをインストールしてリンク切れをチェック出来る環境を整えたほうが良い。

このブログの場合は、投稿数も多くはないので、この機会にリンクを新しいURLに変更した。

そのお陰で、「リンクURL」として「投稿のURL」を指定し、貼りつけた画像も、「Add attrib for Lightbox」に依存しなくとも「Lightbox」風の表示が可能となった。

その他、気づいた弊害としては、アクセス解析に「NewStatPress」を使っているが、パーマリンクを変更した後は、解析結果に投稿のタイトルが表示されなくなり、URLに変わった。

デフォルトのURLに依存するようなタイトルの取得方法を採用しているのだろうが、URLを「投稿ID」ベースにしたこともあり、記事の判別が困難になった。

また、デフォルトのURLでアクセスした場合、2回カウントされる。

まず、古いデフォルトのURLでカウントされ、転送後に新しいURLでカウントされるのだが、道理でページビューが一気に倍増したと思ったら、ここに原因があった。

パーマリンク変更後のNewStatPressの統計

タイトルの問題は仕方ないが、2重カウントの問題は、検索エンジンなどに新しいURLが認知されるまでの辛抱。時間が解決してくれるだろう。

このようにパーマリンクの設定変更による影響は範囲は、そう甘いものではない。

出来ればパーマリンクの設定を安易に変えるのは避けたいものだ。

今回は、デフォルトから変更であったため、URL転送の問題は発生しなかったが、現在のパーマリンクから別のパーマリンクへの変更となると、古いパーマリンクから新しいパーマリンクに何らかの方法で転送しなければ、ビジターが迷うことになる。



WordPress, ネット・PC, , Permalink