Google Search Consoleのインターナショナル・ターゲッティングで、「リターンリンクがありません」というエラーを指摘されてお困りのあなた。
この記事は、「リターンリンクがありません」①で解説したHreflang Tagの設定の問題と異なった原因によるエラーを、4つのステップ(状況確認、原因解析、改善行動、改善検証)で解決する方法を解説しています。
この記事を読むことで、次の2つでエラーを解決する方法が理解できます。
- 実在しないウェブページからのリダイレクトを解除する方法
- 「リダイレクトの原因を調べる方法」も解説
- Google Searchのインデックスから存在しないページ情報を削除する方法
「リターンリンクがありません 」②のエラー状況の確認
Google Search Consoleのエラー状況の確認
Google Search Consoleでは次の3つの内容でエラーが指摘されています。
指摘された3つのエラーの対象ウェブページとクロール日は同じであることは「リターンリンクがありません」①と同じ状況のように見えますが、このURLの固定記事は過去にパーマリンク名を変更しているので、このページ(URL)は存在していません。そのため、Hreflang Tagを付加してリターンリンクが動作する変更ができません。
検索結果の確認
Google Searchの検索結果の確認
エラーを指摘されているURL「https://dan-chan.com/contact」をGoogle Searchで検索すると、存在しないURLがGoogleの検索結果に日本語用の「お問い合わせ」として表示される不可解な現象がみられました。
存在しないはずの「dan-chan.com > contact」を検索結果画面からクリックすると、意図してリダイレクトの設定をしていないのにもかかわらず、実在する英語用のURL「https://dan-chan.com/en/contact-en/」にリダイレクトされました。
Bing Searchの検索結果の確認
Google Search以外の検索エンジンを使って、Google Searchと同様のチェックをしてみます。次はBing(https://www.bing.com)を使った検索結果です。
存在しないURL「https://dan-chan.com/contact/」を入力して、Bing Searchで検索しても、検索結果に出てこないことが確認できました。
Hreflangテスト・ツールによるエラー状況の確認
Hreflangテスト・ツールを使ってより詳しいエラーの内容や状態を確認します。(次のツール名をクリックすると、ツールのウェブページが開きます。)
この結果は、実在する英語用のURL「https://dan-chan.com/en/contact-en/」にリダイレクトしていて、インデックスすべきURLでない事を示しています。
これで、次の問題点が明らかになりました。
- 「https://dan-chan.com/contact/」が存在しないのにもかかわらず、Googleでインデックスされていること。
- Bingではインデックスされておらず、Google特有の現象。
- 存在しないウェブ・ページから実在するウェブ・ページにリダイレクトされている。
- 存在しないウェブ・ページにはHreflang Tagがつけられない。
Google Chromeのデベロッパー・ツールによるリダイレクトの確認
ウェブ・ブラウザに、存在しないURL「https://dan-chan.com/contact/」と入力した時に、実在するURL「https://dan-chan.com/en/contact/en/」にリダイレクトされる現象がみられました。では、どういった仕組みでリダイレクトしているのでしょうか?
ウェブ・ブラウザ「Google Chrome」のデベロッパー・ツールを使って、そのリダイレクトのプロセスを検討してみましょう。
デベロッパーツールを使って、次のような結果が得られました。
この結果より次のことがわかりました。
- WordPressによって、転送(ステータス・コード301のリダイレクト)されている。
- ウェブ・ブラウザのキャッシュ(Cache)を使用せずに転送している。
「リターンリンクがありません 」②のエラー原因の解析
当サイトを日本語と英語の多言語化する時に、「お問い合わせ」のパーマリンク名を変更して日本語用と英語用で分けた過去の経緯があります。この経緯とエラー状況の確認で得られた情報を踏まえると、次の複合要因が原因として考えられます。
- WordPressが存在しないURLから実在するURLに自動リダイレクトする
- Googleの検索に、今は存在しない古いURLの情報がインデックスされていて、アップデートされていない
WordPressによる自動リダイレクト
WordPressによる存在しないウェブページのURLを自動的に補って、リダイレクトさせるカノニカル・リダイレクトという機能があります。
存在しないURLは「Not Found 404」というページを表示させ、「このコンテンツはありません」というエラー説明を出して、訪問者に通知するのが良いとされています。
キャッシュ(Cache)メモリのデータ未更新
キャッシュ(Cache)メモリのデータが古いまま、アップデートされずに残っている場合、古いURLの情報が表示される可能性があります。Google以外の他のキャッシュ(Cache)メモリの可能性もあります。以下に可能性のあるキャッシュ(Cache)の種類をリストアップしておきます。
「リターンリンクがありません 」②のエラー改善の行動
WordPressの自動リダイレクトの解除
WordPressには自動でリダイレクトさせる機能があります。
今回、パーマリンクを変更したことで既に存在しないウェブ・ページ「https://dan-chan.com/contact/」が「https://dan-chan.com/en/contact-en/」にリダイレクトされています。この機能を解除するために、次のような操作をします。
- 「FileZilla」等のファイル転送アプリケーションを使って、念のため、変更前のfunction.phpファイルのバックアップをパソコンのローカルディスクに取っておきます。
- ファイル転送アプリ「FileZilla」のインストールと使用法の詳細は下線部をクリック。
- 使用しているWordPressテーマのディレクトリの下にあるfunctions.phpという名前のファイルに以下のコードを追加します。
//Wordpressの自動リダイレクトを解除する
function disable_redirect_canonical( $redirect_url ) {
if( is_404() ) {
return false;
}
return $redirect_url;
}
add_filter( 'redirect_canonical', 'disable_redirect_canonical' );
function.phpを編集する方法
ワードプレス・ファイルのコードを追加・削除など編集するのにWordPressのテーマ・エディターの利用をおススメします。
テーマ・エディターを使用するには、WordPress管理画面から「外観」>「テーマエディター」を選択して、次の手順に従って操作をします。
「削除ツール」で特定URL情報をGoogle検索から削除
GoogleアカウントでGoogle Search Consoleにログイン後、「古いコンテンツの削除ツール」を使用します。エラーを指摘されたURLがGoogleに存在しないウェブ・ページであることを通知して、Google検索のデータベースをアップデート(この場合は削除)してもらえます。
「削除をリクエストするURL:」という画面が表示されます。
「削除されていますか?」という問いに「はい」にチェックして、「次へ」をクリック。
「URLを分析しています」という画面が現れます。
「ページ全体または画像が削除されています」にチェックを入れて、表示内容を読みます。
リダイレクトが動作している状態ではURLの削除がGoogleにリクエストできないことがわかりました。よって、いったん「閉じる」をクリックします。
この結果より、Googleの「古いコンテンツの削除ツール」の解釈によると、リダイレクトがあるURLはコンテンツがまだウェブ上に存在すると認識されることがわかりました。
よって、「古いコンテンツの削除」より先にWordPressの自動リダイレクトの解除をしましょう。
WordPressの自動リダイレクト解除後に、再度、「古いコンテンツの削除ツール」で削除依頼を出すと、次のように「URLを分析しています」のページ内容がが変化します。
「削除をリクエスト」をクリックします。
「削除をリクエスト」が受付されたことを確認して「OK」をクリックします。
WordPressの自動リダイレクトの解除後、エラーを指摘されたURL「https://dan-chan.com/contact/」の削除依頼が受付されたことが確認できました。
「リターンリンクがありません 」②のエラー改善の検証
WordPressの自動リダイレクトの解除の検証
function.phpの変更後に、WordPressの自動リダイレクトの解除ができているかを確認します。
ウェブ・ブラウザにエラーを指摘されたURL「https://dan-chan.com/contact/」を入力して表示させます。「https://dan-chan.comen/contact-en/」にリダイレクトされるのではなく、「404 NOT FOUND」といったページが見つからないという趣旨の画面が表示されました。
これで、自動リダイレクトの解除ができたことを検証できました。
古いコンテンツの削除の検証
古いコンテンツの削除の進捗状況は、次の方法で確認できます。
- 「Google Search Console」にGoogleアカウントのユーザー・ネームとパスワードを入力してログインします。
- 左側メニューの「インデックス」の下にある「削除」をクリックします。次に「古いコンテンツ」のタブをクリックします。
数日後、ステータスが「承認済み」になると、存在しないURL「https://dan-chan.com/contact/」をGoogle Searchで検索しても、検索結果に出てこなくなりました。
インターナショナル・ターゲティングで「リターンリンクがありません」のエラーが消えるには、承認後に追加してさらに数日が必要です。エラー消えるまで我慢強く待ちましょう。
まとめ
この記事で取り扱ったエラーは、Google Search Consoleのインターナショナル・ターゲティングで、「リターンリンクがありません」というエラーを指摘されたことを発端としています。
エラーの原因を調査したところ、サイトを多言語化する時に使用するHreflang Tagの設定のエラーではなく、ウェブサイトを多言語化する時に固定記事のパーマリンク名を変更して、Googleが検索エンジンのデータベースに登録したウェブページの情報がパーマリンク変更前の古い状態で、アップデートされていなかったことがわかりました。
このエラーの原因を踏まえて、次の2つのエラー解決方法を解説しました。
- 存在しないURLから実在するURLへの自動リダイレクトを解除するWordPressファイルのコード変更。
- 存在しないURLをGoogleの「古いコンテンツの削除」ツールを使って、検索のインデックスから削除。
これを教訓に、途中でパーマリンクを変更する必要がないように、注意しましょう。
この記事を参考にして、あなたのサイトのGoogle Search Consoleのエラーを解決するのにお役立てください。