サポート » 使い方全般 » 記事URL変更後に勝手にリダイレクトされる問題

  • 解決済 yutoe183

    (@yutoe183)


    記事のURLを変更した後、変更前のURLから変更後のURLに勝手にリダイレクトされるため、変更前のURLでは普通に404を返してほしいという趣旨の質問です。

    パーマリンク構造にURLスラッグを含む場合、記事編集でURLスラッグを変更すると記事のURLも変更されます。
    例えば、パーマリンク設定のカスタム構造を以下のように設定しているとします。
    /%year%/%postname%
    この状況において記事編集でURLスラッグを以下のように変更します。
    変更前: before
    変更後: after
    この場合、記事のURLは以下のように変更されます。
    変更前: https://sample.com/2021/before
    変更後: https://sample.com/2021/after
    このようにURLが変更された後、変更前のURLにアクセスすると、勝手に変更後のURLにリダイレクトされてしまいます。(念のためブラウザのキャッシュが残っていない状態で確認しています)
    この自動的なリダイレクトを停止し、変更前のURLで404を返すにはどうすれば良いでしょうか。

    因みに、この問題の一時的な解決策としては、以前の記事を削除して新たに同じURLスラッグの記事を作成するという方法がありますが、URLスラッグより前の部分に日付等が含まれている場合(上の例の%year%等)、常に全く同じURLを生成できるわけではありません。
    このような一時的な解決策ではなく、変更後URLへの自動的なリダイレクト機能そのものを停止させる方法を教えていただきたいです。

    備考
    1. 有効化プラグインは Google XML Sitemaps 4.1.1 のみです。インストール済み無効化プラグインは Akismet Anti-Spam 4.1.8 のみです。
    2. テーマは Cocoon 2.2.6.6 を使用しています。
    3. WordPress 5.6.1 を使用しています。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • WordPressのデータベースのwp_postmetaテーブルにmeta_keyの値が_wp_old_slugのレコードがあるのでmeta_valueの値を見て不要レコードを消せばそのリダイレクトが止まります。

    select * from wp_postmeta where meta_key = ‘_wp_old_slug’;
    | meta_id | post_id | meta_key | meta_value |
    +———+———+——————-+————–+
    | 6 | 1 | _wp_old_slug | hello-world |

    この場合は記事番号1番のhellow-worldという古いURLがあって、meta_idの値が6というレコードとして記録されているので
    delete from wp_postmeta where meta_id = 6;
    で削除できます。

    すべての古いパーマリンクからのリダイレクト処理を停止してもよいのであれば、下記コードで停止することができます。
    remove_action( 'template_redirect', 'wp_old_slug_redirect' );

    参考ページ:
    https://wordpress.stackexchange.com/questions/183598/removing-the-redirect-after-changing-a-pages-slug

    トピック投稿者 yutoe183

    (@yutoe183)

    @gatolabo ありがとうございます。
    データベースを確認したところ、確かに wp_postmeta テーブルの中に _wp_old_slug と変更前のURLを含むレコードが存在していました。レコードを削除する方法では、リダイレクトさせたくないURLを選択的に削除でき、データベースをきれいな状態に保てるので、URL変更時には毎回不要なURLをデータベースから削除しておくのが良さそうですね。

    @ishitaka ありがとうございます。
    functions.php に上記コードを追記することで確かにリダイレクトされなくなりました。変更前URLへの自動リダイレクト機能自体を停止させたい場合はこの方法で簡単に実現できますね。
    参考ページにもほぼ同じ質問が載っていましたね。確認不足でした。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「記事URL変更後に勝手にリダイレクトされる問題」には新たに返信することはできません。