Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

robots.txt を自動設定してくれる機能 #47

Open
lobin-z0x50 opened this issue Jan 28, 2025 · 0 comments
Open

robots.txt を自動設定してくれる機能 #47

lobin-z0x50 opened this issue Jan 28, 2025 · 0 comments

Comments

@lobin-z0x50
Copy link
Member

以下のような robots_disallow robots_text DSL を作りたい

domain('test.example.com') {
  proxy_to 'rails:3000'

  # 全部拒否 
  robots_disallow :all
  robots_disallow       # または引数なしでも全部拒否とみなす

  # パス指定
  robots_disallow '/api/'  # 可変長引数

  # ファイルの内容を指定(robots_disallow)との併用不可
  robots_text <<~ROBOTS
    User-agent: *
    Disallow: /api/
    Disallow: /public_api/
  ROBOTS
}

対応案

robots_disallow :all だけ実現するなら、ファイルを置いておくだけでいける。
コンテナ内の /var/www/robots_disallow/robots.txt に以下のファイルを置いておく

User-agent: *
Disallow: /

以下のような関数を用意。DSLから呼べるようにする。

def robots_config(allow: false)
  <<~CONFIG
    location = /robots.txt {
        root   /var/www/robots_disallow;
    }
  CONFIG

robots_disallow '/api/' のように動的に変化させるなら、ERBでテンプレートレンダリングするのが良さそう。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant