【WordPress】投稿の古いスラッグを削除するプラグイン「Slugs Manager」の使い方。

Wordpress-Slugs Manager-古いスラッグの削除_eyecatch

WordPressでは投稿のパーマリンク(URL)を変更した際に、過去のスラッグがデータベースの「_wp_old_slug」内に残ります。

これを「Slugs Manager」というプラグインを使って削除する方法です。

データベース内に保存される古いスラッグは、phpMyAdminからも削除できるのでこの方法も紹介しますが、プラグインを使う方が圧倒的に楽です。

古いスラッグは旧URL→新URLへの自動補完リダイレクトに使用されます。

WordPressの古いスラッグ(wp_old_slug)を削除する

WordPressではパーマリンク設定により、データベース内に古いスラッグ情報が自動的に保存されることがあります。

古いスラッグ情報は、特にパーマリンクにカテゴリー名(/%category%)を使用しており、公開した投稿のカテゴリーを後から変更した際などに保存されます。

Wordpress-Slugs Manager-古いスラッグの削除_001

今回紹介する「Slugs Manager」のメニュー画面

WordPressはこの古いスラッグ情報を元に、旧URLから新URLに対するリダイレクトを自動で設定します。

ある記事のカテゴリーを変更したあとで、変更前のスラッグを使ったURLである

当サイトURL/seo/about-hyperlink-color/

にアクセスしたところ

当サイトURL/seo/hyperlink-color/

という新しいURLのページがリダイレクトされて自動で開くという感じです。
分かりやすくこの動作をGIFにしてみました。

Wordpress-Slugs Manager-古いスラッグの削除_002

旧URLにアクセスしても404にならずに新URLのページが開く様子(GIF)

こんな感じに古いURLにアクセスしても、新しく設定したページに飛びます。
この動作に使っているのが今回削除する古いスラッグ情報です。

リダイレクトはfunctions.phpを使って停止することも出来ますが、停止するなら古いスラッグはただのゴミとなるので削除してしまいましょう!

関連記事

自動補完リダイレクトの停止方法はコチラ(↓)
Wordpressの自動補完リダイレクトを完全に停止する方法。

「Slugs Manager」で古いスラッグを削除する

古いスラッグの情報は、WordPressで使うデータベース内の「_wp_old_slug」というレコードに保存されますが、プラグインの「Slugs Manager」を使えば管理画面から簡単に削除することができます。

「Slugs Manager」の使い方はとてもシンプルですが、ここでは画像も使って詳しく解説します。

プラグインのインストール

執筆時「Slugs Manager」はWordPressの管理画面からインストールできました。
(出てこない時は以下からダウンロードして手動でインストールして下さい。)

Wordpress-Slugs Manager-古いスラッグの削除_004

管理画面左メニュー > プラグイン > 新規追加

へと進んで「Slugs Manager」と検索しましょう。
出てきたら「今すぐインストール」を押して有効化します。

「Slugs Manager」の使い方

プラグインを有効化すると、管理画面のメニューに「Slugs Manager」という項目が追加されます。

Wordpress-Slugs Manager-古いスラッグの削除_005

管理画面メニュー > ツール > Slugs Manager

へと進みます。

Wordpress-Slugs Manager-古いスラッグの削除_006

削除したい古いスラッグを選んでボタンを押すだけ!

すると、古いスラッグと現在のスラッグが一覧で表示されます。
あとは「すべての古いスラッグを削除する」を押せばOKです。

削除したくないスラッグがあるなら、必要に応じて削除したいスラッグだけ選んで「選択した古いスラッグを削除する」を押せばOKです。

メモ

上の画像はテスト用サイトのものなので古いスラッグが2つしかありませんが、当サイトの場合は282個もの古いスラッグが出てきました。

Wordpress-Slugs Manager-古いスラッグの削除_007

削除ボタンを押せば、確認画面がでますので「OK」を押しましょう。
削除が済んだら「リストを最新にします」を押してリストを更新してみましょう。

Wordpress-Slugs Manager-古いスラッグの削除_008

データベースに、古いスラッグは見つかりませんでした。

と出れば古いスラッグが全て削除されています。お疲れさまでした・w・

古いスラッグを削除すれば、記事の冒頭で紹介した旧スラッグが含まれるページからの自動リダイレクトも停止できます。

スポンサーリンク

phpMyAdmindで古いスラッグを削除する方法

続いて、phpMyAdmindで古いスラッグを削除する方法についてです。

「Slugs Manager」プラグインを使えば古いスラッグ情報を1発で削除できますが、phpMyAdminからも過去のスラッグを確認・削除することが出来ます。

古いスラッグ情報は以下の場所に保存されています。

WordPress用データベース > wp_postmetaテーブル > _wp_old_slugレコード

これを削除すればOKです。
先ほど紹介した「Slugs Manager」もやっていることは同じです。

ではやり方を見ていきましょう・w・

postmetaテーブルの「_wp_old_slug」を削除する

まずはphpMyAdminにログインします。

Wordpress-Slugs Manager-古いスラッグの削除_009

1.WordPress用データベース>wp_postmeta内で「検索」を押す

WordPressに使用しているデータベース内の「wp_postmeta」テーブルを開きます。
続いて画面上部にある「検索」を押しましょう。

Wordpress-Slugs Manager-古いスラッグの削除_010

meta_keyで「_wp_old_slug」を検索する

検索が開いたら古いスラッグ情報が格納されている「_wp_old_slug」を探します。
「meta_key」のところに「_wp_old_slug」と入力して検索しましょう。

Wordpress-Slugs Manager-古いスラッグの削除_011

「_wp_old_slug」レコードを全て「削除」すればOK!

あとは削除ボタンを押して「_wp_old_slug」レコードを削除すればOKです。
WordPressの古いスラッグは、このようにphpMyAdminを使って削除することもできますが、プラグインを使う方が断然楽で速いです。

Wordpress-Slugs Manager-古いスラッグの削除_012

古いスラッグが格納された「_wp_old_slug」を全て削除した

上の画像は「Slugs Manager」プラグインを使って古いスラッグを全て削除してから、phpMyAdminで「_wp_old_slug」を検索した様子です。

返り値が空なので全ての過去スラッグが正常に削除されていることが分かります。



まとめ

以上、WordPressで古いスラッグ(旧スラッグ情報)を削除する方法でした。

この記事のポイント

  • WordPressではパーマリンク(カテゴリー)変更時に古いスラッグが自動保存される
  • 古いスラッグはデータベースの「_wp_old_slug」内に保存される
  • 古いスラッグは旧URL→新URLへの自動補完リダイレクトに使用される
  • Slugs Managerプラグインを使えば管理画面から古いスラッグの削除が可能
  • phpMyAdminから「_wp_old_slug」を手動で削除してもOK

当サイトでは古いスラッグは定期的に全削除していますが特に問題はありません。
古いスラッグを282個削除した後、サイトの読み込みが変わった気もしませんが...

旧スラッグの削除は、古いパーマリンク(URL)へのアクセスを新しいパーマリンク(URL)へのリダイレクトではなく、404を表示したい時にも良いかと思います。

ではではこのへんで・w・

-WordPress
-

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku