http が https でインデックスされる現象について
2016年11月末ウェブサイトを http で公開しているのに Google検索すると https でインデックスされているページが出てきました。
もちろん https の設定など 1度もしていませんし、そもそも自宅ウェブサーバーに OpenSSLをインストールしてはいますが設定はデフォルトの状態です。(ssl.confの DocumentRoot と ServerName のコードはコメントアウトされている)
そして Google Search Consoleに登録している URLは下記の2つです。
http://fuukemn.biz/ http://www.fuukemn.biz/(正規化済)
2021年7月現在、当サイトは https(HTTPS/2)で配信しています。
Google検索での現象
下の画像はキーワード「アドオン hide un」で検索した時のスクリーンショットです。タイトル下のURLが
https://fuukemn.biz/page52.html
と表示されているのが分かると思います(fig1)
もちろんこのページはクリックしてもウェブブラウザ(Firefox)がブロックするので開く事はできません。Internet Explorer 11ですと開けますが。
そこでURL右の▼をクリックしてキャッシュを見ると(fig2)サイドメニューを表示する<iframe>タグ部に問題があるようです。
次に、Google検索にインデックスされている全てのページを確認するため検索窓に
site:www.fuukemn.biz
と入力してみるとサイドメニュー(smenu.html)が
https://www.fuukemn.biz/smenu.html
でインデックスされていることが分かりました(fig3)
なお、検索窓に
info:https://www.fuukemn.biz/smenu.html
を入力してみましたが当然ながらここにも表示されていました。
原因と対策
ルーターとサーバーの状態
- ルーター
- IPマスカレードテーブル設定・・443番にポートフォワーディング
- サーバー
- IPテーブル・・443番ポート開放
- OpenSSL・・・デフォルトのまま
- ssl.conf・・・未設定
原因
443番ポートが開いているため?SSLが稼働しているため?・・・原因がよく分からない。
対策
原因がよく分からないまま下記を実施してみました。根拠はありません、なんとなくです。
- ルーター・・・443番のポートフォワーディング削除
- smenu.htmlの <head></head> 内に次のコードを追記
<link rel="canonical" href="http://www.fuukemn.biz/smenu.html">
サーバーのシステムは弄っていません。
結果
上記の対策を実施した翌日、キーワード「アドオン hide un」で検索してみると httpsの表示は消えていました。
下の画像は Firefoxで検索した時のスクリーンショットです。また Internet Explorer 11でYahoo!検索した結果も同じでした。Bing検索ではページ自体が表示されませんでした。
なお httpsでインデックスされているページ(smenu.html)はそのままでしたがそのうち削除されると思います。もしも長期間削除されないようであれば次のメタタグを追記しようと思います。
<head> <meta name="robots" content="noindex"> </head>
もう1つ robots.txtでページそのものをクローラーからブロックする事もできますが Google Search Consoleでエラーが出る事を確認しています。これは多分このファイル(smenu.html)がページを構成するパーツの一部だからでしょう。
なのでここは noindexで対応することにします。
実はrobots.txtでページをクローラーからブロックしてもそのページに外部からのリンクがあるとそのリンクを辿ってインデックスされる事があるようです。
そもそもGoogleはSearch Consoleヘルプの中で「robots.txtをウェブページの非表示に使うな」、ページを非表示したいなら「noindexメタタグを使え」と言っています。
雑感
なぜ httpが httpsでインデックスされてしまったのか調べてみたのですが、どうやらGoogle検索クローラーはサーバーでSSLが稼働している(sslライブラリーは多数のプログラムが共有している)とSSL証明書の有無にかかわらず httpsと認識してしまう事があるようです。
参考|ウェブマスターヘルプフォーラム webサイトのURLが「HTTP」なのにgoogleに「https」としてインディックスされている
またルーターの443番ポートを閉じたその翌日にはインデックスは削除されていないものの検索結果の表示は httpになったのでルーター、サーバー共にポートが開いていたのも原因の1つではないかと思います。確証はありませんが。
しかしどうしてサイドメニュー(smenu.html)のページだけがインデックスされてしまったのかが分かりません、謎です。
ルーターのポートが開いていたのは...
なぜ使ってもいないルーターの443番ポートが開いていたのかについては当サイトを公開して暫らくたって httpsの接続テストをしたのを思い出しました。
その時ポートを閉じ忘れたのか公開しているサイトに関係ないと思い意図的に閉じなかったのかは定かではありませんが、いずれにしろ使っていないポートは必ず閉じておくのが基本ですよね。