概要
Google Adsenseの審査に合格した場合、ads.txtに関する注意書きが表示されます。

「今すぐ修正」をクリックすると、今度は以下のような注意書きが表示されます。

ads.txtをルートレベルのドメインに配置することを求められるのですが、それってどうするの?と思ったので、メモです。
Webアプリケーションの場合
自分が審査に合格したサイトはブログなどではなく、Java(Spring Boot)を使って開発していたWebアプリケーションでした。
その場合、「ルートレベルのドメインに配置」というのは、{ドメイン名}/ads.txtにアクセスした場合にads.txtの内容が表示される、ということと同一です。
Spring Bootの場合
Spring Bootの場合であれば、最も簡単な実装は、以下のようにコントローラー層にメソッドを追加する方法です。
@Controller
@RequestMapping("/")
public class Controller {
@GetMapping("/ads.txt")
@ResponseBody
public ResponseEntity<String> getAdsTxt() {
String ads = "{ここにads.txtの内容を記載}";
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");
HttpStatus status = HttpStatus.OK;
return new ResponseEntity<>(ads, headers, status);
}
}
コントローラー層にads.txtの内容をベタ書きするのは綺麗なコードではないと思うので、実際には、ファイルから読み込んで表示するなどの実装にした方が良いと思います。
また、@Controllerアノテーションを付与したコントローラー層のメソッドは、通常はビュー(html)を返しますので、文字列をそのまま返したい場合には@ResponseBodyアノテーションが必要です。
あるいは、@Controllerアノテーションの代わりに@RestControllerアノテーションを使っても良いでしょう。