WordPressでスラッグ変更した時、URLと違う記事ページに飛んでしまう。そんな時は、DBの「_wp_old_slug」をチェック!

web制作

読了の目安時間: 37

先日、ブログリニューアルの作業でwordpressのカテゴリースラッグの変更をしたり、パーマリンクの設定を変更していると、ある一部の記事のURL(スラッグ・パーマリンク)をクリックした時、目的のページとは違う記事ページに飛んでしまうエラーに遭遇しました。

結論としては、データベースの「_wp_old_slug」をチェックすることで、無事に修正できました。

以下に、詳しく説明してまいります。

WordPressでスラッグ変更した時、URLと違う記事ページに飛んでしまう時の対処法

URL(パーマリンク)と違う記事ページに遷移してしまうエラー

下記は、ローカル環境でwordpress構築していた時のキヨタツブログのアーカイブページです。赤枠部の記事をクリックした時、正しくは「~wp-for-kiyotatsu/gurume/hobby7/」へ移動しなくてはならないのですが・・・

wp_url_error1

移動した先のページは「~wp-for-kiyotatsu/neta/hobby13a/」のパーマリンクとなってしまいました。つけ麺が出ないといけないのに・・・。

wp_url_error2

エラーの原因

原因としては、wordpressのリダイレクト設定のバッティングでした。wordpressでは、別の投稿記事で過去のスラッグが同じものが存在した場合は、先に過去のスラッグが登録された記事のほうに優先してリダイレクトされます。今回はそのケースだったと思います。

どうもリニューアルに伴い、あれこれスラッグ変更とパーマリンク設定の更新などをしたのがまずかったようです。基本的にはスラッグ・パーマリンクは後から変更しないほうがいいです。

ちなみにwordpressには下記の特徴があります。

Wordpressには、
・変更前のスラッグでもアクセスできる親切な機能がある
・変更前のスラッグは、削除も変更もできない
・スラッグは、全記事で一意でないとダメ

この条件があるために、
過去に一度使ったスラッグ(記事URL)があると、それを変更したとしてもその情報が残り
新しい記事で、現在は使ってないはずの記事URLを使用しているのに、うまく動作しないということになります。
引用:http://blog2.k05.biz/2014/11/_wp_old_slug.html

そのため、wordpressの中で、リダイレクト設定をしている箇所について調べていきました。

wordpressでは、データベースの「_wp_old_slug」で、スラッグ変更後などのリダイレクト設定をしている。

「_wp_old_slug」は、wp_post_metaのテーブルに格納されています。実際に見てみましょう。

wp_url_error3

この「_wp_old_slug」を削除すればOKです。

こちらのSQL文でも削除できます。
SELECT *
FROM `wp_postmeta`
WHERE `meta_key` LIKE '_wp_old_slug'

_wp_old_slugのデータがたくさん増えていくと、サイト全体への読込速度にも大きく影響するので、スラッグ変更することの多い人は、マメに掃除しておくと良さそうです。

関連リンク

【WordPress】記事URL(スラッグ)を変更しているのに、違う記事が表示される 【_wp_old_slug】

WordPressでリンクをクリックすると違うページに飛んでしまう

パーマリンクの設定がうまく反映されない時の対処法

WordPress 投稿記事のスラッグを変更しても旧URLでアクセスできる仕組み

まとめ

いかがでしたでしょうか。記事ページのURL移動で、違うページに飛び始めるようになったら、データベースの「_wp_old_slug」を確認してみてください!

ただし、データベースの作業は自己責任。事前にバックアップをとっておくようにしましょう。

キヨタツ
キヨタツの一言

肝心なのは初期設計! 基本、パーマリンクは変更しないことが大事です。

今読んだ記事をシェアする

wordpress

WordPressでスラッグ変更した時、URLと違う記事ページに飛んでしまう。そんな時は、DBの「_wp_old_slug」をチェック!

  • このエントリーをはてなブックマークに追加
  • Pocket

このブログサイトが参考になった人は、いいねボタン! 更新情報も受け取れます!

arrow
デル株式会社
  • Pocket
  • このエントリーをはてなブックマークに追加

キヨタツ

キヨタツ

WEBを中心に、色々な制作をする個人事業主です。過去、エンジニア&webディレクターで会社勤めをしていました。主に要件定義や構築が得意で、HTML/css/javascript/PHP/git/wordpress/MT/DB/photoshop/illustrator/fireworksなど扱えます。現在、サーバー・アプリなどを習得中です。性格は、自虐好きです。