Tag Archives: リダイレクト

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からの転送が効かなくなる。 パーマリンクをデフォルト以外に設定すると、固定ページのパーマリンクが個別に変更で出来るようになる。 そこで、個別ページのパーマリンクを分り易いものに変更した。 ただし、サーバー上のディレクトリ構成と一致するようなパーマリンクを設定してはいけない。 うっかり、これをやってしまった為に、そのページだけ、「アクセスする権限がない」と言う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でカウントされるのだが、道理でページビューが一気に倍増したと思ったら、ここに原因があった。 タイトルの問題は仕方ないが、2重カウントの問題は、検索エンジンなどに新しいURLが認知されるまでの辛抱。時間が解決してくれるだろう。 このようにパーマリンクの設定変更による影響は範囲は、そう甘いものではない。 出来ればパーマリンクの設定を安易に変えるのは避けたいものだ。 今回は、デフォルトから変更であったため、URL転送の問題は発生しなかったが、現在のパーマリンクから別のパーマリンクへの変更となると、古いパーマリンクから新しいパーマリンクに何らかの方法で転送しなければ、ビジターが迷うことになる。

Posted in WordPress, ネット・PC | Tagged , , | 2 Comments

WordPressの管理者が重宝するプラグイン

今回は、「WordPress」の管理上、便利なプラグインをまとめて紹介する。 ・WordPress Database Backup(WP-DB-Backup) 「WordPress Database Backup 2.2.3」は、データベースのバックアップを可能とするプラグインで、不測の事態の際の復旧に役立つツールだ。 同様のプラグインは、多数存在するが、比較をしていないので「WordPress Database Backup」が優れているかは分からない。 ともかく、いずれかをインストールしておくと便利だ。 「WordPress Database Backup 2.2.3」の操作と設定は、管理画面の「ツール」->「バックアップ」から行う。 「WordPress」本体が利用するテーブルの他、プラグインが利用するテーブルも選択してバックアップ出来る。 スケジュール機能を利用すれば、定期的にバックアップしてファイルをメールで受け取ることも可能。 一応、インストールはしているが、正直、使っていないので、私は、不測の事態の際に泣くタイプだ。 ・Akismet 「Akismet 2.5.3」は、「WordPress」に標準でインストールされているプラグインで、コメントスパムやピンバックスパムの排除するために欠かせないプラグイン。 「Akismet API キー」が必要で、「Akismet」のサイトから取得する必要があるが、個人ブログなら無料で取得できる。 取得方法が、よく変更されること、個人ブログ用の無料「API キー」の取得方法が分かりにくいことから、ここからの「API キー」の取得はお勧めしない。 「wordpress.com」で発行される「API キー」でも代用できるので、こちらから取得すると良いだろう。 「API キー」は、「wordpress.com」でユーザー登録を行った後、送られてくるメールに記載されている。 このブログは、コメントシステムとして「DISQUS」を利用しているので、「WordPress」のプラグインとしては「Akismet」を利用していない。 「DISQUS」を利用している場合は、「DISQUS」側で「Akismet」の設定が可能となっている。 ・Revision Control 「WordPress」は作成中の記事を保存すると、記事を別のリビジョン(別の文書)として保存する。 また、自動保存の機能があるため、場合によっては、沢山のリビジョンが残ってしまう。 見かけ上は1つの記事だが、実際には10以上の記事が保存されていることも十分にあり得る。 記事の更新履歴が残り、再利用も可能なため、便利な面もあるが、データベースを圧迫する懸念がある。 また、このブログのようにパーマリンクをデフォルトに設定すると、URLは、記事のID(数字)ベースのものになるが、実は、全てのリビジョンが記事のIDを個別に持っている。 URLが連番にならないのは、リビジョンが記事のIDを消費するからだ。 そこで役立つのが、リビジョンの保存機能自体を無効にしたり、制限を加えることが出来るプラグイン「Revision Control 2.0.1」である。 また、記事の作成画面から、リビジョンを個別に削除する機能も付加される。 ・Better Delete Revision 「Better Delete Revision 1.2」は、リビジョンを一括で削除してくれる便利なプラグイン。 「Revision Control」などを導入して、リビジョンの保存機能を無効にしたものの、その時点で、既に沢山のリビジョンが保存されている場合は、これで一括削除すれば良い。 もちろん、「Better Delete Revision 1.2」だけでリビジョン管理を行って良い。 ・Broken Link Checker 「Broken Link Checker 1.2.4」は、記事内のリンク切れを調べてくれるプラグインである。 記事内で外部や内部記事へのリンクを挿入することも少なくないが、リンク切れをチェックするのは困難であるため、このプラグインは重宝する。 「WordPress」の管理画面上の「ツール」->「リンク切れをチェック」から簡単にリンク切れをチェックできる他、「設定」->「Broken Link Checker」では、定期的にリンク切れをチェックし、メールで通知させる設定ができる。 ・Redirection 「Redirection 2.2.3」は、特定のURLでのアクセスを別のURLへリダイレクトする機能を提供するプラグイン。 つまり、リンク切れの救済などに役立ちそうだが、今のところ必要性はないので利用していない。 パーマリンクの設定を変更したり、タイトルを変更してリンク切れを起こした場合は、このプラグインで、新しいURLへ転送(301リダイレクト)することができる。 リダイレクトだけでなく、「404」を返すなど、その他の処理も可能。 設定は、「WordPress」の管理画面上の「ツール」->「リディレクション」から行い、正規表現を用いることも可能。 ・Change Permalink Helper 「Change Permalink Helper 0.1」は、リクエストされたURLが見つからない場合、パーマリンクをチェックし、自動的に新しいURLに転送(301リダイレクト)してくれるらしい。 パーマリンクを変更した際は、非常に重宝しそうな気がするが、今のところ、このプラグインを使用していないので、自動処理がどこまで信頼出来るものなのかは不明。 転送先の判断には、URLの「スラッグ」を用いるらしいので、例えば、このブログのような「投稿 ID」を用いたパーマリンクから、別の形式のパーマリンクに変更する場合は、 /%year%/%monthnum%/%post_id% と言った風に「投稿 ID」を含むものにすれば、無難に処理してくれるのかもしれない。 投稿の「スラッグ」を使うという意味であれば、入力していないので絶望的だ。 ・Link to Post 「Link to Post 1.0.2」は、自ブログ内の記事、ページ、カテゴリ、タグへのリンクの挿入を手助けするプラグインだ。 記事に、自ブログ内の別の記事へのリンクを挿入することが多いなら、ぜひ、インストールしておきたい。 インストールすると、記事作成の際に使用する「ビジュアルエディタ」にリンクを作成するためのアイコンが追加される。 記事、ページ、カテゴリ、タグへのリンクが簡単に選択できる様になっている。 ・TinyMCE Advanced 「TinyMCE Advanced 3.3.9」は、記事作成の際に使用するビジュアルエディタの機能を強化するプラグインで、記事作りに拘るなら不可欠なツールだ。 「TinyMCE Advanced 3.3.9」は、バージョンアップが止まっている感があり、同様のプラグインに「CKEditor For … 続きを読む →

Posted in WordPress, ネット・PC | Tagged , , , , , , , , , | Leave a comment