Codeberg/Community
60
387
Fork
You've already forked Community
12

The robots.txt appears to potentially be incorrectly formatted #2856

Closed
opened 2026年07月10日 12:41:27 +02:00 by ell1e · 3 comments

Comment

The robots.txt appears to potentially be incorrectly formatted. Currently, one section looks like this:

User-agent: Amazonbot
User-agent: anthropic-ai
User-agent: Applebot-Extended
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-Web
User-agent: cohere-ai
User-agent: Diffbot
User-agent: FacebookBot
User-agent: facebookexternalhit
User-agent: FriendlyCrawler
User-agent: Google-Extended
User-agent: GPTBot
User-agent: ICC-Crawler
User-agent: ImagesiftBot
User-agent: img2dataset
User-agent: meta-externalagent
User-agent: OAI-SearchBot
User-agent: Omgili
User-agent: Omgilibot
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: Scrapy
User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: YouBot
Disallow: /

I don't think grouping user agents like that is possible. I'm pretty sure this just means all bots other than YouBot will ignore this section.

Therefore, I think for this to be effective, it would need to be formatted like this:


User-agent: Amazonbot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: cohere-ai
Disallow: /
User-agent: Diffbot
Disallow: /
User-agent: FacebookBot
Disallow: /
User-agent: facebookexternalhit
Disallow: /
User-agent: FriendlyCrawler
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: ICC-Crawler
Disallow: /
User-agent: ImagesiftBot
Disallow: /
User-agent: img2dataset
Disallow: /
User-agent: meta-externalagent
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: Omgili
Disallow: /
User-agent: Omgilibot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: PetalBot
Disallow: /
User-agent: Scrapy
Disallow: /
User-agent: Timpibot
Disallow: /
User-agent: VelenPublicWebCrawler
Disallow: /
User-agent: YouBot
Disallow: /
### Comment The [robots.txt](https://codeberg.org/robots.txt) appears to potentially be incorrectly formatted. Currently, one section looks like this: ``` User-agent: Amazonbot User-agent: anthropic-ai User-agent: Applebot-Extended User-agent: Bytespider User-agent: CCBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-Web User-agent: cohere-ai User-agent: Diffbot User-agent: FacebookBot User-agent: facebookexternalhit User-agent: FriendlyCrawler User-agent: Google-Extended User-agent: GPTBot User-agent: ICC-Crawler User-agent: ImagesiftBot User-agent: img2dataset User-agent: meta-externalagent User-agent: OAI-SearchBot User-agent: Omgili User-agent: Omgilibot User-agent: PerplexityBot User-agent: PetalBot User-agent: Scrapy User-agent: Timpibot User-agent: VelenPublicWebCrawler User-agent: YouBot Disallow: / ``` I don't think grouping user agents like that is possible. I'm pretty sure this just means all bots other than `YouBot` will ignore this section. Therefore, I think for this to be effective, it would need to be formatted like this: ``` User-agent: Amazonbot Disallow: / User-agent: anthropic-ai Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ChatGPT-User Disallow: / User-agent: ClaudeBot Disallow: / User-agent: Claude-Web Disallow: / User-agent: cohere-ai Disallow: / User-agent: Diffbot Disallow: / User-agent: FacebookBot Disallow: / User-agent: facebookexternalhit Disallow: / User-agent: FriendlyCrawler Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: ICC-Crawler Disallow: / User-agent: ImagesiftBot Disallow: / User-agent: img2dataset Disallow: / User-agent: meta-externalagent Disallow: / User-agent: OAI-SearchBot Disallow: / User-agent: Omgili Disallow: / User-agent: Omgilibot Disallow: / User-agent: PerplexityBot Disallow: / User-agent: PetalBot Disallow: / User-agent: Scrapy Disallow: / User-agent: Timpibot Disallow: / User-agent: VelenPublicWebCrawler Disallow: / User-agent: YouBot Disallow: / ```

Hi there,

the existing robots.txt is correct imo.
RFC 9309 allows grouping of user-agents aswell as disallow paths.
Googles Crawling Infrastructure even shows a grouped example here https://developers.google.com/crawling/docs/robots-txt/create-robots-txt?hl=de#create_rules

Hi there, the existing robots.txt is correct imo. RFC 9309 allows grouping of user-agents aswell as disallow paths. Googles Crawling Infrastructure even shows a grouped example here https://developers.google.com/crawling/docs/robots-txt/create-robots-txt?hl=de#create_rules
Author
Copy link

I see, interesting! I still wouldn't risk it, because some people may just use the original site which details the original method by Martijn Koster in 1994, while RFC 9309 is an extension not all bots may know. The original site offers no such grouping functionality: https://www.robotstxt.org/robotstxt.html But it's nice to hear that at least Google will implement this.

I see, interesting! I still wouldn't risk it, because some people may just use the original site which details the original method by Martijn Koster in 1994, while RFC 9309 is an extension not all bots may know. The original site offers no such grouping functionality: https://www.robotstxt.org/robotstxt.html But it's nice to hear that at least Google will implement this.
Author
Copy link

Update: somebody in chat pointed out that https://www.robotstxt.org/orig.html has this section:

If more than one User-agent field is present the record describes an identical access policy for more than one robot. At least one field needs to be present per record.

So even the old standard has this and I was just wrong. My apologies!

Update: somebody in chat pointed out that https://www.robotstxt.org/orig.html has this section: > If more than one User-agent field is present the record describes an identical access policy for more than one robot. At least one field needs to be present per record. So even the old standard has this and I was just wrong. My apologies!
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
accessibility
Reduces accessibility and is thus a "bug" for certain user groups on Codeberg.
bug
Something is not working the way it should. Does not concern outages.
bug
infrastructure
Errors evidently caused by infrastructure malfunctions or outages
Codeberg
This issue involves Codeberg's downstream modifications and settings and/or Codeberg's structures.
contributions welcome
Please join the discussion and consider contributing a PR!
docs
No bug, but an improvement to the docs or UI description will help
duplicate
This issue or pull request already exists
enhancement
New feature
infrastructure
Involves changes to the server setups, use `bug/infrastructure` for infrastructure-related user errors.
legal
An issue directly involving legal compliance
licence / ToS
involving questions about the ToS, especially licencing compliance
please chill
we are volunteers
Please consider editing your posts and remember that there is a human on the other side. We get that you are frustrated, but it's harder for us to help you this way.
public relations
Things related to Codeberg's external communication
question
More information is needed
question
user support
This issue contains a clearly stated problem. However, it is not clear whether we have to fix anything on Codeberg's end, but we're helping them fix it and/or find the cause.
s/Forgejo
Related to Forgejo. Please also check Forgejo's issue tracker.
s/Forgejo/migration
Migration related issues in Forgejo
s/Pages
Issues related to the Codeberg Pages feature
s/Weblate
Issue is related to the Weblate instance at https://translate.codeberg.org
s/Woodpecker
Woodpecker CI related issue
security
involves improvements to the sites security
service
Add a new service to the Codeberg ecosystem (instead of implementing into Forgejo)
upstream
An open issue or pull request to an upstream repository to fix this issue (partially or completely) exists (i.e. Forgejo, Weblate, etc.)
wontfix
Codeberg's current set of contributors are not planning to spend time on delegating this issue.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Codeberg/Community#2856
Reference in a new issue
Codeberg/Community
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?