diff options
Diffstat (limited to 'internal/web/robots.go')
-rw-r--r-- | internal/web/robots.go | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/internal/web/robots.go b/internal/web/robots.go index c3307d068..0babb31b7 100644 --- a/internal/web/robots.go +++ b/internal/web/robots.go @@ -18,7 +18,45 @@ package web -// https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#robotsmeta +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + const ( - robotsAllowSome = "nofollow, noarchive, nositelinkssearchbox, max-image-preview:standard" + robotsPath = "/robots.txt" + robotsMetaAllowSome = "nofollow, noarchive, nositelinkssearchbox, max-image-preview:standard" // https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#robotsmeta + robotsTxt = `# GoToSocial robots.txt -- to edit, see internal/web/robots.go +# more info @ https://developers.google.com/search/docs/crawling-indexing/robots/intro +User-agent: * +Crawl-delay: 500 +# api stuff +Disallow: /api/ +# auth/login stuff +Disallow: /auth/ +Disallow: /oauth/ +Disallow: /check_your_email +Disallow: /wait_for_approval +Disallow: /account_disabled +# well known stuff +Disallow: /.well-known/ +# files +Disallow: /fileserver/ +# s2s AP stuff +Disallow: /users/ +Disallow: /emoji/ +# panels +Disallow: /admin +Disallow: /user +Disallow: /settings/` ) + +// robotsGETHandler returns a decent robots.txt that prevents crawling +// the api, auth pages, settings pages, etc. +// +// More granular robots meta tags are then applied for web pages +// depending on user preferences (see internal/web). +func (m *Module) robotsGETHandler(c *gin.Context) { + c.String(http.StatusOK, robotsTxt) +} |