ブログ運営

WordPressで既存の記事のパーマリンクを変える手順

2019-11-24

WordPressで既に記事が一定数あるサイトのパーマリンク設定を変えるときの手順と注意点を記します。先に注意点を述べておくと…
  • 変える前にSitemap自動送信プラグインはOFFにする
  • 時間と手間がかかることを覚悟する

注意すべき点

Sitemap自動送信プラグインはOFFにする

WordPressで記事を追加・変更した際に、GoogleやBingに変更を伝えるために、「Google XML Sitemaps」などのプラグインを入れている方も多いと思います。これは非常に便利なのですが、パーマリンクを変える作業に入る前にOFFにしておいた方が良いです。 WordPressのパーマリンクを変える手順として、多くのサイトでは投稿設定を「投稿名」や「カスタム構造の%postname%」にする旨が書かれていますが、日本語でタイトルを付けている場合(恐らくこの記事を読んでいる方の大半がそうかと)は、既存の記事についてもすべて日本語のタイトルがパーマリンク(スラグ)として一旦変更されます。この後に1つ1つ記事のパーマリンク(スラッグ)を変更して保存・公開していくわけですが、上記のプラグインを入れていると、スラッグを変更する前の記事についても日本語タイトルがパーマリンクに含まれている状態でサイトマップが送信されてしまいます。 これによって何が起きるか…。例えば次の3つのページがあるサイトを考えてみます。
  • https://test.com/?p=1
  • https://test.com/?p=2
  • https://test.com/?p=3
ここでパーマリンク設定を変えると、次のようにURLがすべて変わります。
  • https://test.com/ページ1
  • https://test.com/ページ2
  • https://test.com/ページ3
この後、上から1つずつ手動でURLを変えていくことになりますが、1ページ目のURLを変更した時点で、残りのページについても日本語タイトルを含むURLがサイトマップとして送信されてしまいます。
  • https://test.com/my-page-1
  • https://test.com/ページ2
  • https://test.com/ページ3
明らかに、https://test.com/ページ2やhttps://test.com/ページ3 は後で変えるものにも関わらず、サイトマップが送信されてしまうことでGoogleやBingがこのURLを認識してしまいます。こうなってしまうと、301リダイレクトの設定を入れるなどしない限りこの変更途中のURLが残り続けてしまい、予期しない結果になってしまいます。そのため、パーマリンク設定を変える前にサイトマップを送信するプラグインはOFFにしましょう。

時間と手間がかかることを覚悟する

スラッグを変更する作業自体は単純な操作でできます。ただ、これを既存のすべての記事について行う必要があるので、ただただ時間がかかります。SEO的には英単語をハイフンでつなげたURLにするのが推奨されていますが、英単語をきちんと調べたりしていると時間がかかることがあります。1記事平均1分で変更したとして、100記事あるサイトだと100分かかります。専業のブロガーならまだしも、サラリーマンが仕事後に趣味で書いているような場合はなかなか時間がとれないので、1日では終わらない可能性を覚悟しましょう(実際、私は100記事変えるのに3日かかりました)。

パーマリンク設定の変更手順

上記を考慮した手順は、次のようになります。
  1. 「Google XML Sitemaps」などのサイトマップ自動送信プラグインをOFFにする
  2. WordPressの設定→パーマリンク設定 メニューから共通設定を「投稿名」または「カスタム構造」の%postname%に変更する
  3. 投稿→投稿一覧 メニューから、すべての公開ページについてスラッグを変更する。この際、各記事の「クイック編集」ボタンをクリックするとページ遷移なしでスラッグを編集できるので、少し時間短縮になる。
  4. 「Google XML Sitemaps」などのサイトマップ自動送信プラグインをONにする
  5. スラッグを変更したページをどれか1つ更新する。これにより、サイトマップ自動送信プラグインから変更後のサイトマップが送信される。
変更途中のURLが送信されるのを防ぐ必要があるので、2.〜4.の途中でサイトマップの送信を行ってはなりません。 この後、301リダイレクト設定を入れたり、Google Search Consoleの「URL検査」でインデックスを再登録させたりすることになりますが、こちらはスラッグの変更以上に時間がかかります。ただ、不要なURLが送信されるといったことは起きないため、アクセス記録などを見てアクセスの多いページを優先して少しずつ設定を入れていけば良いでしょう。 なお、ここまで書いていて気づいたのですが、パーマリンク設定の変更をせずに記事投稿時にちゃんとスラッグを設定するように変えていけば、そもそも過去の記事のURLが全部変わってしまうという事態は起きない気もするので、いつか別サイトで試してみようと思います。

-ブログ運営