Google Search Console に新しいサブドメインのサイトを登録する。

Google Search Console に新しいサブドメインのサイトを登録してみました。別の新しいドメインの場合も同じかと思います。そのやり方を記載しておきます。

Search Console にログインして管理画面の左上にあるサイトの選択リストから「プロパティを追加」を選びます。

プロパティタイプの選択の画面が表示されます。ドメインのほうに新しく登録するサブドメインを記載します。「続行」のボタンを押下します。

DNSレコードでのドメイン所有権の確認の画面が表示されます。DNSのTXTレコードに登録するコードが表示されているので、これをコピーします。右下の「確認」ボタンはまだ押下しません(そのままにしておく)。

別のウィンドウでDNS設定の画面を開きます。僕の場合は LightSail(Amazon linux 2023) を使用していますので、その画面の例です。

レコードタイプには「TXTレコード」、レコード名は「@」、TXTレコードの応答内容に先ほどコピーしたコードを記載します。記載をしたら「保存」を押下します。

DNSのTXTレコードの登録が完了したら、先ほどのDNSレコードでのドメイン所有権の確認の画面で「確認」ボタンを押下します。

Google側の確認が正常に行われると「所有権を証明しました」の画面が表示されます。「プロパティに移動」を押下します。

Search Console に登録されたばかりだと集計するデータがないので「データを処理しています。1日後にもう一度ご確認ください」となっていました。

翌日に確認すると表示がされていました。クリック数が0回です。。

新しいサイトのサイトマップも登録しておきます。管理画面の左側の項目からサイトマップを選びます。新しいサイトマップの追加のところに sitemap.txt を配置するURLを記載します。

サイトマップにはXML形式もありますが、遷移するページが少ない場合はTXT形式で記載したほうが楽だと思います。今回の新しいサイトは小規模ですのでTXT形式でサイトマップを作成しました。

TXT形式の場合のサイトマップ(sitemap.txt)は以下のような記載となります。

https://sub.example.com/sample01/memo.html
https://sub.example.com/sample01/file.html
  :
(遷移するページのURLを記載していく)
  :
https://sub.example.com/sample09/request.html
https://sub.example.com/sample09/image.html

なお sitemap.txt はサイトのトップページ(index.htmlと同じ場所)に配置しています。「送信」ボタンを押下すると Search Console がサイトマップを取得しに行きます。

「送信」ボタンの押下直後だとステータスが「取得できませんでした」となってしまいました。

ただその行をクリックして確認すると「サイトマップは正常に処理されました」となっています。検出されたページ数も sitemap.txt に記載したレコード数と一致していました。

しばらくしてからサイトマップを見直してみるとステータスが「成功しました」になっていました。

Search Console のもう一つの設定として robots. txt の設定があります。

robots. txt ですが、これは必ずしも設置が必要なものではないようです。

Googleのヘルプによると「robots.txt とは、クロールを禁止するサイトの URL やディレクトリを検索エンジンに伝えるテキストファイルの名前です ・・(中略)・・ 小規模なサイトであれば、robots.txt ファイルはおそらく必要ありません。」とのことでした。

ですので今回は robots. txt の設置は割愛しています。

tomcatのエラーページの設定方法

WEBアプリケーションサーバーであるtomcatのエラーページの表示を変えてみます。デフォルトの表示です。

server.xmlを修正することで変更できます。server.xmlはtomcatの配置先ディレクトリのconfフォルダの中にあります。

Hostタグに以下の記載を追記します。


<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
 :
    <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" />
 :
</Host>

showReport=”false”とすることで詳細なエラー内容の表示はなくなります。

セキュリティ的にはこちらのほうが好ましいです。ただtomcatのバージョンも表示されてしまうのでバージョンも非表示にします。

Hostタグの記載を以下のように修正します。


<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
 :
    <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
 :
</Host>

showServerInfo=”false”も追加しました。

これで必要なエラーメッセージのみの表示となります。

デフォルトのエラーページではなく専用のエラーページを表示するようにしてみます。専用のエラーページはサンプルで以下のHTMLファイルを作成しました。HTMLファイルのファイル名は「40x.html」です。


<!DOCTYPE html>
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>

web.xmlを修正することで専用のエラーページを表示できます。web.xmlはtomcatのアプリケーション配置先のWEB-INFフォルダの中にあります。

web.xmlに以下の記載を追記します。


<web-app ...>
 :
  <error-page>
      <error-code>400</error-code>
      <location>/error/40x.html</location>
  </error-page>
  <error-page>
      <error-code>403</error-code>
      <location>/error/40x.html</location>
  </error-page>
  <error-page>
      <error-code>404</error-code>
      <location>/error/40x.html</location>
  </error-page>
 :
</web-app>

専用のエラーページ(40x.html)はlocationタグで場所を指定します。400、403、404エラーのときに40x.htmlを表示させる設定です。

40x.htmlファイルをerrorファルダの中に格納しておくのですが、errorフォルダはtomcatのアプリケーション配置先に置くことに注意してください。この例だとerrorフォルダとWEB-INFフォルダは同じ階層となります。

専用のエラーページを表示させてみたときの画面です。

同一サーバー上でtomcatをnginxと連携させる場合もあるかと思います。その際にnginxで表示するエラーもtomcatと同じにしておくと良いかもしれません。

nginx.confのserverディレクティブに以下の記載をします。


server {
 :
    location / {
   :
        proxy_pass  http://localhost:8080/;
    }
 :
    error_page 400 403 404 /40x.html;
    location = /40x.html {
        root (tomcatのアプリケーション配置先)/error;
    }
}

nginxがtomcatのアプリケーション配置先にあるerrorフォルダ、および、40x.htmlを参照できるようにしておいてください。nginxの起動ユーザーをtomcatの起動ユーザーと同じにしておけば問題ないかと思います。nginxの起動ユーザーはnginx.confのuserディレクティブで指定します。