WordPressのURLからカテゴリーのスラッグ(ディレクトリ)を削除し、全記事のカテゴリーを整理する方法

107
  • 「WordPressのカテゴリーを見直して、記事を整理整頓したい」
  • 「記事が増えてきて、ブログ立ち上げの頃のカテゴリーには合わなくなってきた」
  • 「新しくカテゴリーを作って、ブログをリニューアルしたい」

ブログを長く続けていると、カテゴリーを刷新したいと考える方は多いでしょう。

WordPressであれば、新規カテゴリーを作ったり、各記事のカテゴリーを変更するのは、とても簡単です。でも、URLにカテゴリー名を入れている場合は、そうはいかないのです。

具体的に、こういうURLです。

https://ドメイン名/カテゴリー名/投稿名

URLの一部にカテゴリー名(スラッグやディレクトリとも言う)が入っているので、カテゴリーを変更すればURLも変わってしまうのです。

本サイト「Swingin’ Thinkin’」は、およそ9年前から運営している雑記ブログ。まさにこのURLです。立ち上げ時にしっかりとカテゴリーを決めていたのですが、9年も経てば書きたい記事や方向性が変わってきます。

ここ何ヶ月も悩んでいたのですが、思い切って「カテゴリーを全て新しく作り替えて、さらにURLも変更する」という施策を行いました

この記事を読めば、URLにカテゴリー名を入れている方のリニューアル手順がわかります。数時間から数十時間かかる大掛かりな作業になりますが、やってみたい方はぜひ参考にしてください!

北野
本ブログは現在全637記事。僕は今回のリニューアル作業に、およそ15時間かかりました。
注意事項!
WordPressやプラグインは、バージョンアップで機能が変わることがよくあります。この内容は、本記事公開時(2020年6月)の手順となります。ご了承のほどよろしくお願いします。
また、今回の施策は中級者・上級者向けです。まずは記事を読んでみて「なるほど、そういうことね」と理解できる方のみを対象としています。やり方をミスると、サイト全体がぐちゃぐちゃになってしまうリスクがあるので、そうしたトラブルにも対応できる力量が必要です。
初心者向けではありません。

全記事をリスト化して書き出すプラグイン Export any WordPress data to XML/CSV

まずは、現在公開中の記事をすべてリスト化します。理由は「どんなカテゴリーを作るか」「各記事をどのカテゴリーに当てはめるか」などを考えるためです。

1記事ずつExcelなどに張り付けていくのは大変ですが、プラグインを使えば一発。具体的な手順は以下のとおりです。

プラグインダウンロード (Export any WordPress data to XML/CSV)

WordPress ダッシュボードのプラグインの「新規追加」ページで、「Export any WordPress data to XML/CSV」または「WP All Export」で検索。インストールして有効化します。

投稿タイプを選ぶ (Export any WordPress data to XML/CSV)

エクスポート(書き出し)する項目を選びます。ここでは「投稿」を選択。

エクスポートする項目を選択し並び替える (Export any WordPress data to XML/CSV)

どの項目を書き出すかを選択します。ドラッグ&ドロップで簡単に並べ替えもできます。

僕が選んだ項目はこちら。赤文字は、今回のリニューアルにおいて必須です。

  • Date(年月月)
  • Title(記事タイトル)
  • Permalink(URL)
  • カテゴリー
  • タグ
  • ID(記事ID)

「プレビュー」ボタンで確認することもできます。準備ができたら、ページ下の「続行」ボタンをクリックします。

BOMを含めるにチェック (Export any WordPress data to XML/CSV)

次に「エクスポートファイルにBOMを含める」にチェックします。

BOMの説明にはこう書かれています。

「BOMは、英語以外の文字が含まれている場合、Microsoft Excel は、エクスポート ファイルを読むようないくつかのプログラムに役立ちます」

英語以外、つまり日本語でブログ運営している場合はチェックを入れておく必要があります。

そして、「エクスポートの確認&実行」ボタンをクリック。

CSVファイルをダウンロード (Export any WordPress data to XML/CSV)

このプラグインは有料プランもあるのですが、無料の場合「CSV」ファイルで書き出せます。

ダウンロードしたブログ記事一覧 (Export any WordPress data to XML/CSV)

CSVファイルは「Microsoft Excel」や「Google スプレッドシート」などで開けます。僕はMacを使っているので、Apple純正の表計算ソフト「Numbers」を使いました。

ファイルをクリックするだけで、上記のように開きました。

おぉ、バッチリ!!

ただし、注意点として「下書き」「非表示」にしている記事もエクスポートされてしまいます。ややこしくなるので、その項目(横一列)は手動で削除してください。日付が「1970-01-01」になっていたり、URLが「/?=xxxxx(ID)」になっていたりするので、すぐにわかるかと思います。

新しいカテゴリーを作り、全記事を振り分ける

記事一覧と新カテゴリーの表

  1. 新カテゴリーを考える
  2. 各記事をそれぞれ振り分ける

ここは、最も時間がかかる作業です。頑張りましょう!

まず「新カテゴリー」ですが、僕は親カテゴリーを4つ作り、その下に子カテゴリを作りました。親カテゴリーは3〜4個がおすすめです。なぜなら、ページ上部のツールバーに収まらなかったり、ユーザーが使いづらいからです。

カテゴリーを考えたら、次に先ほどダウンロードしCSVファイルを開き、全記事を新カテゴリーに振り分けていきます。

カテゴリー名は、わかりやすい言葉に

補足ですが、カテゴリー名はしっかりと考えましょう。特に親カテゴリー。

その理由は2つ。

  1. SEO対策になる
  2. ユーザーがわかりやすい

まず、SEO対策ですが、カテゴリー名は「ここはどんなサイトであるか」をGoogleなどに伝えるにキーワードになります。

たとえば、ブログ名が「カメラ初心者の写真テクニックブログ」だとします。そこに「撮影機材」「撮影テクニック」「画像編集」などの親カテゴリーがあると、サイトの主旨が明確になります。

同時にこれは、ユーザーへのわかりやすさ・使いやすさにもつながります。

そのため、ここでやってはいけない誤ちは、妙にお洒落ぶって普段使わない英語やフランス語にしてみたり、「雑記」「未分類」などぼんやりとしたキーワードにしてしまったりすることです。

そのカテゴリー名を見ただけで、どんな記事があるのかイメージできるような名前にできると最高ですね!(雑記ブログの場合は、難しいんですけどね……)

新URLにリダイレクト(自動転送)してくれるプラグイン Redirection

WordPressプラグイン「Redirection」

次は、WordPressのプラグイン「Redirection」をインストールします。これは、ユーザーが特定のURLにアクセスした際、他のURLにリダイレクト(自動転送)させるためのプラグインです。

実はこれ、今回は必要ありません。

なぜなら、WordPressは公開中の記事(投稿・固定ページ)のURLを変更した場合、自動的に変更後のURLにリダイレクトしてくれる機能が初めから備わっているからです。つまり、記事のURLからカテゴリー名を削除しても、エラーにならず記事がちゃんと表示されるのです。

では、なぜこのプラグインをインストールするのか?

念のためです。
もし、リダイレクトが効かなかった場合は、このプラグインを使ってリダイレクト設定を行います。

リンクは当然、内部リンクだけでなく外部リンクもあります。たとえば、他のブロガーさんがあなたのブログの「カテゴリーページ」にリンクを張ってくれていたとします。でも、カテゴリーのURLが変わっている場合は、個別記事のように自動転送になりません。ここでリダイレクトを設定しておけば、機会損失を防ぐことができるのです。

ちなみに、リダイレクトの設定は他の方法もありますが、このプラグインが簡単で便利なので、特にこだわりがなければ「Redirection」で良いでしょう。

WordPressプラグイン「Redirection」の設定

ちなみに、WordPressプラグイン「Redirection」の設定(基本セットアップ)は、すべてにチェックを入れておいてください。

パーマネント設定で、URLからカテゴリー名・日付を削除する

WordPressダッシュボードのパーマリンク設定

この作業でURLが変わります!

次は、いよいよURLからカテゴリー名を削除します。

実はこれ、作業としてはとても簡単です。一瞬で終わります。プラグインを使ったり、function.phpをいじったりする必要もありません。

手順は以下のとおりです。

まず、WordPressダッシュボードの設定にある「パーマネント設定」を開いてください。

僕は、カスタム構造「ドメイン名+カテゴリー名+投稿名」という設定にしていたので、ここで投稿名をクリックします。するとカスタム構造の部分が「/%postname%/」なるかと思います。

確認できたら、「変更を保存」ボタンをクリックします。

これで完了です!

これにより、新規の記事だけでなく、すでに公開している全ての過去記事のURLも変更になります

実際に自分のブログの各記事へアクセスし、URLが変わっているかどうかを確認してください。また、旧URLから新URLへリダイレクトされるかどうかも確認しましょう。

  • 旧URL「https://ドメイン名/カテゴリー名/投稿名
  • 新URL「https://ドメイン名/投稿名

URLからカテゴリー名を外した理由

今回、URLからカテゴリ名(スラッグ / ディレクトリ)を外したのは、将来的にまたカテゴリーを見直したくなったときに備えるためです。

URLは、極力変えない方が良いですからね。

全記事の内部リンク(サイト内リンク)のURLをまとめて書き換えるプラグインSearch Regex

旧URLから新URLへリダイレクトされると言っても、内部リンク(サイト内リンク)くらいは、自分で新URLに書き換えておきましょう。

これは、WordPressのプラグイン「Search Regex」を使うと便利です。

Search Regexは、記事内の特定の文字を自動的に書き換えてくれます。たとえば、サイト内に散らばっている「Regge」という単語を「レゲエ」にしたり、「本間」を「ホンマ」にしたり。

これは記事内のリンク(<a href=”リンクURL”>テキスト</a>)においても、同じく書き換え可能です。具体的には、以下のようにURLをSearch Regexで書き換えました。

  • 旧URL https://swinginthinkin.com/wordpress/wordpress_domain_server_install/
  • 新URL https://swinginthinkin.com/wordpress_domain_server_install/

Search Regexの使い方

このときのポイントは、「URLを全部入れない」ということ。ここでは、以下のようにしました。

  • 検索「swinginthinkin.com/wordpress/」
  • 置換「swinginthinkin.com/」

これ、わかりますか?
僕はURLのカテゴリー名部分を削除したいので、こうすることで同一カテゴリーのURLを一気にまとめて書き換えすることができるのです。

具体的な手順としては、検索欄と置換欄の上記のように入力し、「検索」ボタンをクリック。書き換え箇所に問題がなければ、「全て置換する」をクリックします。

これは元に戻せないでの、しっかり確認の上、行ってください。

カテゴリーページへのリンクは基本的に大丈夫

「記事内に埋め込んだカテゴリーページへのリンクも置き換えられるのでは?」

そう心配になる方もいるでしょう。でも、大丈夫です。なぜなら、WordPressのデフォルトではカテゴリーページのURLは以下のようになっているからです。

「https://ドメイン名/category/カテゴリー名」

そのため、Search Regexの検索には引っかかってこないのです。

ただし、念のためあなたのカテゴリーページのURLに「/category」が入っているかを、事前に確認しておいてくださいね。

Search Regex、使い終わったらプラグイン停止に

補足ですが、プラグイン「Search Regex」は、使用が終わったらプラグインを停止しておく方が安心かと思います。

なぜなら、記事の中身をガッツリ書き換える機能を持ったプログラムですので、もし誤作動を起こしたら大変だからです。

今は問題なくても、将来的にプラグインがアップデートされなくなりセキュリティ的に甘くなってしまったり、脆弱性を狙ったハッカーが出現したりする可能性が無いとも限りません。強力なプラグインだからこそ、使わないときは停止しておきましょう(停止より削除の方がより安心です)。

WordPress 新規カテゴリーを追加(カテゴリ名・スラッグ)

WordPressダッシュボードで、新規カテゴリーを追加しているところ

次に、先に考えた新規カテゴリー(親カテゴリー・子カテゴリー)を追加します。

これはダッシュボードから、ぽちぽちと追加すればOKです。

  • 【名前】カテゴリー名
  • 【スラッグ】URLに入る文字列

記事URLにスラッグを入れない場合であっても、カテゴリーページにはスラッグが入ります。スラッグにはカテゴリーを示す簡潔な英数字を入力してください。

事前に旧カテゴリーを削除する方がスムーズです

旧カテゴリーから新カテゴリーへの移行作業を短期間に集中して行う場合、旧カテゴリーを削除しておいた方がわかりやすくなります。

僕はまず、旧カテゴリーの「コラム」以外をすべて削除しました。こうすると、全ての記事が「コラム」カテゴリーに入ります。

その上で、新規カテゴリー追加し、各記事を新カテゴリーに振り分けたのです。

このやり方は人それぞれですので、「ギリギリまで旧カテゴリーを残したい」という方にはおすすめしません。でも「一気にやってやるぜ!」という方は、削除してからの方が断然作業がスムーズです。

WordPress記事一覧クイック編集で、全記事を新しいカテゴリーに振り分ける

WordPressクイック編集でカテゴリーを変更

いよいよ、佳境です。

次はWordPressダッシュボードで「投稿一覧」ページを開きます。そしてページ上の「公開済み」をクリック。

すると公開中の記事がずらりと並ぶので、各記事にある「クイック編集」をクリックし、カテゴリーを選択し、更新ボタンをクリックします。

旧カテゴリーから、新カテゴリーへ。

これは非常に手間のかかる単純作業です。好きな音楽でも聴きながら、ポチポチ、ポチポチ……と頑張りましょう!

ツールバーのメニューを新カテゴリーに変更する

WordPressメニュー作成

ブログの上部などに各「カテゴリー」へアクセスしやすいよう、ツールバーを設置している方は多いと思います。これも変更しておきましょう。

WordPressダッシュボードの「外観」>「メニュー」をクリックし、ここでメニューを作ります。

メニュー項目を追加にある「カテゴリー」タブをクリックし、さらに「すべてを表示」タブをクリック。そして、新カテゴリーをどんどんメニューに追加して行きます。

メニュー構造は、ドラッグ&ドロップで場所を入れ替えたり、親子関係を作ったりすることができます。

メニューの設置については、使っているテーマによって様々ですので、ご利用中のテーマで設定方法をご確認ください。

リンク切れを自動検出してくれるプラグインBroken Link Checker

プラグイン Broken Link Checker

いよいよ最後の仕上げ!
WordPressにプラグイン「Broken Link Checker」をインストールし、有効化してください。

このプラグインは、その名の通り「リンク切れチェッカー」です。記事内にリンク切れがあれば、それを通知してくれます。リンク先は、内部リンク・外部リンクどちらにも対応しています。

丁寧にリンクの張り替えをしたつもりでも、思わぬところにリンク切れがあるかもしれません。このプラグインは、有効化しておけば自動的にサイト内を巡回しチェックしてます。

リンク切れがわかったら、それを修正するのか、リンクを外すのか、どうするかはあなた次第です。

これで今回の作業は以上です。
お疲れさまでした!

ちなみに、このBroken Link Checkerは、今回の施策に関わらず「WordPressの必須プラグイン」だと僕は考えています。詳しくは別の記事に書いていますので、合わせて読んでみてください。

SEO的にはマイナス? それともプラス?

今回の施策は、SEO的にはどう評価されるのは、まだわかりません。

現在、作業を終えて2〜3日で、今のところ特に変化は感じられません。いつもの記事が、いつも通りGoogleなどの検索エンジンから流入しています。

SEO効果については、数週間後に追記したいと思います。

ただ、Googleは検索アルゴリズムのアップデートを頻繁に繰り返しているので、SEOは何が正解で、何がNGなのかがわからないのが現状なんですけどね。

ブログを使いやすくするためのカテゴリー整理は、少なくともユーザーにとっては良いことです。サイト内の回遊率があがったり、リピーターが増えたりすると、こちらはSEOに対してはプラスに働くのではないかと思います。

Google Analyticsなどアクセス解析は、旧から新URLへ引き継がれません

補足ですが、今回の施策により記事のURLが変わりました。

リダイレクトされるので、ユーザーに不便をかける心配はありません。しかし、Google Analyticsなどのアクセス解析ツールにとっては、URLが違うということは別の記事だという認識になってしまうのです。

そのため、アクセス解析ツールで記事単体の動きを見る際、旧URLと新URLは別物になっているので注意が必要です。

【余談】タグも大幅に減らしました

WordPressのタグ編集ページ

最後に余談です。

WordPressにはタグ機能があります。僕はこのブログ「Swingin’ Thinkin’」においては、むやみやたらとタグを増やしていました。そもそも使い方を間違っており、TwitterやInstagramのハッシュタグのように色々つけていたのです。

その数、総計215個。

まぁ、アホですわ。これを大幅に減らし、今のところ「レゲエ」ひとつだけにしました。レゲエに関する記事は、カテゴリーをまたいで複数あるので、それらをまとめるためです。

今後、タグは増やしていく予定ですが、数個〜十数個程度に留めておきたいなと考えています。

僕が運営している、もうひとつのブログ「パパやる」では、最初から限られたタグでずっと維持しています。よかったらご参考にどうぞ。

北野
ずっと棚上げしてきた問題にやっと取り組みました。カテゴリーが整理できて、気分的にはスッキリ! 今後の更新もしやすくなりました