結論から言います。公開済み記事のURL(固定リンク、パーマリンク、 パーマネントリンク、Permanent Link)を後から変更することは絶対に止めましょう。
何かしらの理由でドメイン以降のURLの文字列を変更したければ、既存(公開済み)の記事には手をつけず、これから公開する新規の記事から好みの文字列にしましょう。
公開済み記事のURLを安易に変更してしまうと、変更後のURLがGoogleへのインデックスに登録されないばかりか(「URL が Google に登録されていません」)、当初のURLがGoogleに記録されているが故に”重複”となり、変更後のURLが何をやっても登録されない状態となります(インデック登録を申請しても、「ページはインデックスに登録されていません: 重複しています。Google により、ユーザーがマークしたページとは異なるページが正規ページとして選択されました」となってしまう)。
はてなブログを利用しているブログ初心者の私が出来心で公開済み記事のURLを変更したばかりに味わった苦労と、解決策を共有します。
- 公開記事のURL変更は絶対にしてはいけない
- インデックス登録の重複解消は旧URLの削除だけではダメ
- 解決の鍵は発想の逆転、旧URLを復活・別内容と認識させる
ことの始まりは公開済み記事の安易なURL変更
はてなブログの記事のURLは「ドメイン名/entry/〇〇」となっており、〇〇の部分はいくつかパターンを選べます(設定>詳細設定>フォーマット)。
標準は、ドメイン名/entry/投稿年/投稿月/投稿日/ランダムの6桁数字 となっており、そこまで気にしない方はそのままにしていると思います。私もそうでした。
が、ブログ初心者あるあるで、ブログに関する様々な情報を検索する中で、SEO対策の文脈から「URLに日本語を使わない方が良い」「”/”でいくつも階層化しない方が良い」「アクセス分析をする為には日付でなくキーワードで分かるようにした方が良い」という情報に出くわしてしまいます。
ご多分に漏れず私も安易に真に受けてしまい、SEO対策になるならと、10記事ほど公開済み記事のURLを一気に変更してしまいました(はてなブログでは、個別記事の設定で「カスタムURL」欄で簡単にURL変更が出来ます)。そこからが地獄でした。。。
そもそも何故公開済み記事のURLを変更してしまったかというと、Googleサーチコンソールなどでアクセス・検索情報を分析する時に、立ち上げ初期で記事数が10本程度の時期なら日付情報のURLでもどの記事か判別できるが、数十・数百記事となった時には日付情報のURLでは何が何だか分からなくなるという危惧感からでした。
- 記事のURLは単なる数字の羅列ではなくキーワード設定すべき
↓ - よし、キーワードを設定したパターンを考えよう
↓ - これから公開する記事はカスタム設定でURLを指定しよう
(ここは全く問題無し)
↓ - 既に公開している記事のURLも一気に変えてしまえ
(ここが間違いでした、変えてはいけなかったのです)
安易なURL変更はインデックス登録されない無限ループへ
ブログ初心者、SEO、Googleサーチコンソールとは何ぞやもしらない私にとっては、URL変更されたら自動的にGoogleが巡回して再登録してくれるんでしょ、くらいに思っていました(最初に公開したURLは何故かGoogleに認識され、Google検索でも表示されるようになっていました)。
が、何日経てど新URLはGoogleに紐付かず、当然ながら新URLはGoogle検索結果にも表示されない状態、旧URLは物理的に存在しないので、Not found状態。Googleサーチコンソールで変更後のURL検査をしてみると、「ページはインデックスに登録されていません: 重複しています。Google により、ユーザーがマークしたページとは異なるページが正規ページとして選択されました」の一点張り。何度インデックスリクエストをしてみても同じ状態です(もっと気持ち悪いのは、既に記事は存在していないのに、旧URLの結果が表示されるという)。
解決策はないかとググってみると、「Googleサーチコンソールでの削除リクエスト」をすればOK的なアドバイスが出てきます。「URLを一時的に削除する」「キャッシュされたURLを消去する」の二つがあり、後者を推すアドバイスが多いのですが、私にとってはいずれも全く役に立ちませんでした。どちらを何回やっても、「重複」の解消がなされず、変更後のURLがGoogleに登録されない状態。ちなみに私の記事で試したところ、両者の違いは以下でした。
- キャッシュされたURLを消去する
→ Google検索した際にGoogle検索結果で記事概要が表示されなくなる - URLを一時的に消去する
→ Google検索した際にGoogle検索結果で記事自体が表示されなくなる
普通に考えれば、URLを一時的に消去した後で変更後のURLにてインデックス登録をリクエストすれば良さそうなものですが、何度やっても「重複」が出ます。おそらくGoogle内部で旧URLの情報が残っているのだと思われます。
行きついた解決策は逆転の発想、旧URLを復活させ別内容としてGoogleに認識させる
試行錯誤を繰り返した結果、何とか改善=変更後のURLがGoogleサーチコンソールでインデックス登録され、Google検索結果でも表示されるようになりました。
素人なので何が良かったのか、どこが改善のポイントなのかはさっぱりわかりませんが、やってみたことをそのまま共有します。ポイントは「Googleに新URLと旧URLが別物であると認識させる」ことだと確信しています。言い換えると、新URLと旧URLが異なる内容で物理的に存在する状況を作り出し、それぞれのURLをGoogleサーチコンソールでインデックス登録する、というものです。
解決に至った実際の流れを記します。
- 旧URLで記事公開
↓ - 旧URLを新URLに変更
(理論的に旧URLは存在しない)
↓ - Googleサーチコンソールで新URLがインデックス登録されない
(旧URL情報が残り、重複扱い)
↓ - Googleサーとコンソールで旧URLを抹消にかかる
↓ - 状況変わらず
↓ - 無限ループに陥る
【ここからがソリューション】
- 旧URLをもう一度、ダミーページとして復活させる
(新記事扱いでURLに旧URLを設定、何もない空白の空記事でOK)
↓ - 旧URLの記事で新URLへのリダイレクト|自動転送の設定
↓ - 旧URLをGoogleサーチコンソールでインデックス登録リクエスト
↓ - 新URLをGoogleサーチコンソールでインデックス登録リクエスト
↓ - 旧URLの新URLへのリダイレクト設定|自動転送の設定を消去
↓ - 旧URLをGoogleサーチコンソールでインデックス登録リクエスト
↓ - 新URLをGoogleサーチコンソールでインデックス登録リクエスト
【新URLがインデックス登録され、検索結果にも表示されることを確認】
- 旧URLのダミーページを削除
何が良かったのか、どこで上手くいったのかは正直分かりません。
が、この処理をして、新URLがGoogleサーチコンソルにてインデックス登録され、実際のGoogle検索結果にもしっかりと表示されるようになりました。事前にGoogleサーチコンソールで旧URLの「削除」の処理をしてること以外、どこかの処理を飛ばしても良いのか良くないのかは分かりかねるので、そのまま残しておきます。リダイレクトのページを認識させたのが良かったのか、空のページを認識させたのが良かったのか、正直分かりません。自動転送のコードは、ググれたくさん出てきますのでそちらを参照ください(私は専門家でないのでうまく説明ができず、詳しい方のHPでコードを取得するのが望ましいと思います)。
今現在、全く不自由はありません。時間が解決したのかもしれませんが、いつ修正されるか分からないものを待つのも精神衛生上どうかと思いますので、同じ症状で悩んでいる方は上記方法もお試しください。尚、ダミーページの履歴は残ることになりますが、こちらは時間が解決するものと割り切っています。
ということで、初心者が陥りやすいあるあるだと思う一方、解決事例の情報量が少ない為、共有することにしました。あくまでも一事例、一解決方法として参考にしてください(何か不具合生じても当方は責任は負えません、また、もっと簡単・効果的・根源的な解決方法もあると思われます)。
繰り返し言います、URLの設定方法を変更するのは構わないのですが、公開済みのURLは絶対にいじらないようにしましょう。解決までに数日かかりました。。