皆さん、おはこんばんちは。おーわ(@mof_mof08)です。
WordPressには記事や固定ページを一意に識別するために、パーマリンクと呼ばれる文字列を設定する必要があります。
パーマリンクの命名規則については初期設定の段階で決めておくことが望ましいのですが、何らかの理由で変更する際にはかなりの苦労を強いられます。
今回は実際にパーマリンクを運用途中で変更を行った備忘録を兼ねて、変更する方法と注意点についてまとめてみました。
パーマリンクとは?
本題に入る前に、そもそもパーマリンク(Permanent link)とはどのようなものなのかについて紹介します。
パーマリンクとは、ブログの個々の投稿、カテゴリーなどの投稿一覧ページへの恒久的(半永久的)な URL です。パーマリンクは、他のブロガーがあなたの投稿やセクションにリンクを張るときや、投稿へのリンクを Eメールで送ったりするときに使います。個別の投稿への URL は常に存在して決して変らないようにすべきです。そういう訳で、「perma」リンクといいます。
分かりやすくいえば、パーマリンクは記事や固定ページにそれぞれに割り振られたユニークな「住所」のようなものです。
ちなみにWordPressにおけるデフォルトのパーマリンクは「?p=[ページID]」という形式になります。イメージとしては以下のような感じです。
WordPressでは記事、固定ページ、カテゴリ、タグ単位でユニークなID番号を持ちますが、デフォルトのパーマリンク設定だと、URLを見ただけでは何の記事なのか分かりづらいのが難点です。
パーマリンク設定の変更=住所変更と同じ
前述のとおり、WordPressのパーマリンクは記事や固定ページがもつ住所のようなもの。つまり、パーマリンク設定を変更するということは、住所変更を行うことと同義になります。
日常生活で引っ越しを経験したことがある方は分かると思いますが、役所や各契約サービスで住所変更手続きといった、面倒な諸手続きが必要になります。
WordPressも同じで、パーマリンク設定を途中で変更する場合は面倒な手続きが必要になってきます。
パーマリンク設定は最初に決めた方が良い
詳しくは後述で紹介しますが、記事の住所となるパーマリンク設定を途中で変更するのはけっこう面倒なものです。
パーマリンクの設定を途中で変更することをなるべく避けるために、可能な限りWordPressをインストールした直後に決めるのがおすすめです。
WordPressのパーマリンク設定変更手順と注意点
何らかの事情でWordPressのパーマリンク設定を変更する場合、少し面倒な作業が必要となります。また、SNSなどへのシェア回数や、検索エンジンでの順位もリセットされますので、その点を踏まえた上で変更してください。
万が一パーマリンク設定を途中で変更するなら、記事数やアクセス数がそれほど多くない時期にやることをおすすめします。
そのままパーマリンク設定を変更すると惨劇が起こる
WordPressのパーマリンク設定の変更は、ダッシュボードの[設定] >[パーマリンク設定]からできますが、そのまま行うと悲劇が起こります。
何が起こるのかと言いますと…
Oh…404 NOT FOUND!!
そう、いきなりパーマリンク設定を変更してしまうと、個別の記事や固定ページなどへアクセスする際に404エラーページが表示されてしまいます。
詳しいことは分かっていませんが、パーマリンクを途中で変更すると、内部のデータベースと整合性が取れなくなり、ページが見つからない(404エラー)と怒られるようです。
後述で紹介しますが、リダイレクト設定をしてあげることにより、パーマリンク変更後もリンク切れさせることなくブログ記事や固定ページへアクセスすることができます。
パーマリンク設定変更手順
今回はよろずな写真屋さんとこちらのブログで、パーマリンク設定を「基本」から「投稿名」にそれぞれ変更しました。変更前と変更後の違いは次の通りです。
- 変更前:https://www.08-note.com/?p=[ページID]
- 変更後:https://www.08-note.com/[投稿名(スラッグ)]
WordPressのパーマリンクはいくつかおすすめの形式がありますが、シンプルなURLにするのが望ましいということ、カテゴリ整理を頻繁に行う現状を考えると、記事個別でパーマリンクを持たせた方が良いと思い、上記の設定にしました。
さて、前述で紹介した通り、WordPressでいきなりパーマリンク設定を変更すると、404エラーが出てしまいます。そこで、リンク切れの発生を抑えるために、パーマリンク設定の変更は次の方法で行うのがおすすめです。
- あらかじめ投稿ページ、固定ページ、カテゴリ、タグのスラッグを設定する
- Permalink Redirectプラグインをインストール・有効化する
- パーマリンク設定を変更する
- Permalink Redirectプラグインの設定を変更する
参考記事:WordPressのパーマリンク設定を途中で変更する方法|PresentNote
1. 記事・ページ毎にスラッグを設定する
パーマリンクを設定する前に、あらかじめ記事やページ毎のスラッグを設定をすることをおすすめします。ここで設定したスラッグが、パーマリンクとして使用されます。
各記事やカテゴリ、タグのスラッグ設定はダッシュボードの[投稿]から、固定ページのスラッグ設定は同じくダッシュボードの[固定ページ]からそれぞれ行います。(以下は、各投稿記事のスラッグ設定を例に紹介します)
スラッグのみを変更する場合、[クイック編集]を使うと便利です。
クイック編集をクリックすると、スラッグを入力するフォームが表示されるので入力します。入力したら[更新]ボタンをクリックしてください。
スラッグには英数字の他に日本語も使うことができますが、WordPressのバージョンによってはリンク切れになる場合もあったり、日本語の部分がエンコードによって長大になることがあるため、特別な理由がない限りは英数字と記号(ハイフン)を使うようにすると良いでしょう。
参考記事:WordPressのパーマリンク設定を変更して、SEOや日本語URLの対策をしよう | 株式会社LIG
参考までにGoogle Search Consoleのガイドラインも抜粋しておきます。
サイトの URL 構造はできる限りシンプルにします。論理的かつ人間が理解できる方法で(可能な場合は ID ではなく意味のある単語を使用して)URL を構成できるよう、コンテンツを分類します。たとえば、航空機(aviation)に関する情報を探している場合、http://en.wikipedia.org/wiki/Aviation のような URL であれば、見ただけで必要な情報であるかどうかを判断できます。http://www.example.com/index.php?id_sezione=360&sid=3a5ebc944f41daa6f849f730f1 のような URL 自体は、ユーザーの関心を引くことはほとんどありません。
2. Permalink Redirectプラグインをインストールする
パーマリンク設定の変更後でも、変更前のURLからアクセスできるようにリダイレクト設定を行います。
旧URLから新URLへ自動リダイレクトさせるためのプラグインはいくつか用意されていますが、パーマリンク設定を変更する際は「Permalink Redirect」というプラグインを使うのが便利です。
Permalink Redirectをダウンロード
Permalink Redirectは以下のサイトからダウンロードし、FTP等でアップロードして使うタイプのプラグインとなります。
ダウンロードサイト:Permalink Redirect WordPress Plugin
上記のサイトへアクセスすると、PHP形式とZIP形式の二種類が用意されていますので、どちらかをダウンロードしてください。(ZIP形式の場合は、ダウンロード後に解凍してください)
ylsy_permalink_redirect.phpの設定を書き換え
ylsy_permalink_redirect.phpというファイルを開き、406行目付近の「$status=302」の302を301に変更します。
今回はパーマリンク設定の変更となりますので、301に変更することによって恒久的なリダイレクトとなります。(ちなみに302は一時的なリダイレクトを意味します)
関連記事:301、302リダイレクト違いとGoogleの見解
Permalink Redirectをアップロード
上記の設定変更が終わったら、FTP等を使ってylsy_permalink_redirect.phpを[ホームディレクトリ] > wp-content > pluginsへアップロードします。(ファイルのみアップロードしてください)
Permalink Redirectを有効化
アップロードが完了したら、Permalink Redirectを有効化します。通常のプラグインと同じく、WordPressのダッシュボードより[プラグイン] > [インストール済みプラグイン]を選択します。
Permalink Redirectがリストにあることを確認し、[有効化]をクリックしてください。
3. パーマリンク設定を変更する
以上、二点の準備が整ったら、いよいよパーマリンク設定の変更です。パーマリンク設定の変更を行うには、WordPressのダッシュボードより[設定] > [パーマリンク設定]を選択します。
パーマリンク設定の共通設定で「投稿名」にチェックを入れます。(チェックを入れると、カスタム構造のフォームに「%postname%」と入力されます)
チェック後、[変更を保存]をクリックすると、パーマリンク設定が変更されます。
4. Permalink Redirectを設定する
最後にPermalink Redirectの設定を行います。WordPress管理画面のダッシュボードより[設定] > [Permalink Redirect]を選択します。
Permalink Redirect Managerが開いたら、Update Optionsボタンをクリックしてください。(「基本」以外からパーマリンク設定を変更する場合は、以前のパーマリンク設定をOld Permalink Structures欄に入力)
以上でパーマリンク設定の変更は完了です。
変更前と変更後の違い
パーマリンク設定を基本(?p=[ページID])から投稿名(%postname%)に変更すると、以下のように変わります。
うん、だいぶ分かりやすくなったような気がしますね。そしてちょっとカッコよくなった気がしますw
まとめ
長くなってしまいましたが、ここまでWordPressのパーマリンク設定を運営途中で変更するための方法と注意点を紹介いたしました。
記事や固定ページの住所であるパーマリンク設定を途中で変更するのはものすごく大変ですし、SEOの観点からも一度決めたパーマリンクの設定変更はあまり望ましくないのが実状です。
万が一パーマリンク設定を途中で変更する際に、参考にしていただければ幸いです。