こんばんわ、娘子です。
今日、WordPressのパーマリンク設定を変更しました。
パーマリンク設定を変更すると、今までのURLのリンクが変わってしまいます。
まだ、被リンクもないですし、記事も少ないので思い切りました。
なるべく、迷惑がかからないようにしたつもりですが、しばらく見れないページがあったらごめんなさい。
パーマリンクを変更する理由
最初は気にならなかったのですが、URLに日付が入っていると長い感じがしてきました。
折角、スッキリしたドメインなのにもったいないなと思うようになりました。
もっとはじめに考えておけばよかったです。。
そのため、以下のように変更したいと思います。
変更前:「日付と投稿名」(https://u-tyan.com/年/月/日/sample-post/)
変更後:「投稿名」(https://u-tyan.com/sample-post/)
パーマリンク設定を変更する前の準備
一番の心配は、google検索してページが表示されないということです。
とにかく、早くGoogle先生に認識してもらうため、WordPressにサイトマップを作るプラグイン「Google XML Sitemaps」を入れました。
サイトマップがあればGoogle先生が変更したURLを探しやすくなるはずです。
パーマリンク設定の変更について、検索したところ、WordPressだと、変更前のURLにアクセスすると、変更後のURLにリダイレクトするとあったので、信じてみることにしました。
パーマリンク設定を変更
- WordPressのサイドメニューの設定>パーマリンク設定を選択する。
- 「投稿名」を選択する。
- 「変更を保存」ボタンを押す。
パーマリンク設定を変更した結果
サイト内のURLは、自動で直りましたが、記事の中のリンクは直らなかったので、手動で修正しました。
記事を投稿することで、サイトマップをGoogle先生に通知します。(プラグインの効果)
・・・あれ?
変更前のURLにアクセスしても、変更後のURLにリダイレクトされていませんでした(汗)
404エラーが表示されます。
急いで、人がきてくれるページだけでも.htaccessでリダイレクトさせるようにしました。
google search consoleでも、「Fetch as Google」と「古いコンテンツの削除」を申請しました。
これで大丈夫なんでしょうか?
パーマリンク設定を変更した次の日
古いコンテンツの削除申請が拒否されていました。
何故!?
・・・もしかして、.htaccessでリダイレクトさせたのが原因ですか?
ページがあると思われてしまったのかもしれません。
404エラーが出ている他のページで古いコンテンツの削除申請してみます。
site://でgoogleにインデックスされている数をみると、変更前と変更後のURLで、インデックスが倍になっていて切ないです。。。
パーマリンク設定を変更したさらに次の日
おっ!
今度は404エラーのページが削除されました。
やはり、.htaccessでリダイレクトさせたのが原因のようです。
404エラーが出ているページはそのまま放置がいいのかもしれません。
でも、人がきてくれるページを404エラーで放置しておくのは心苦しいです。
なので、404エラーのページにパーマリンク設定を変更したことと、リンク先を書くことにしました。
WordPressの404エラーのページは、404.phpを編集すると反映されます。
場所は「〜/wp-content/themes/simplicity2.0.7a(使用中のテーマ)」の中にありました。
URLが削除されるまでは、しばらくこのままにしておこうと思います。
404エラーが出る状態で、改めて人がきてくれるページだけ古いコンテンツの削除申請をしました。
site://でgoogleにインデックスされている数をみると、インデックスが少し減っていました。
ちょっと一安心。
パーマリンク設定を変更したさらにさらに次の日
無事に削除されていました!
完璧に.htaccessでリダイレクトさせたのが原因でした。
site://でgoogleにインデックスされている数をみると、さらに減っていました。
結論
パーマリンクの設定を変更することがある場合、以下のようにしたらあっさりできたのかもしれません。
- WordPressにサイトマップを作るプラグイン「Google XML Sitemaps」を入れる。
- 仮対応として、404エラーページに人がきてくれるページのリンクを記載する。
- パーマリンク設定を変更する。
- google search consoleで、「Fetch as Google」する。
- 急ぎのページのみ「古いコンテンツの削除」で削除申請する。
- 放置する。
長い戦いでした。