How this tool computes its result
The builder composes a directive string from index/noindex and follow/nofollow selects plus optional `noarchive`/`nosnippet`/`noimageindex` checkboxes and free-text `max-snippet`/`max-video-preview`/`max-image-preview` values, joined with ", " — pure string assembly, no validation is applied to it. The separate validator parses whatever text is typed into its own textarea: splits on commas, lowercases and trims each token, dedupes with a `Set`, flags direct conflicts (`index`+`noindex`, `follow`+`nofollow`) as errors, checks that `max-snippet`/`max-video-preview` values parse as integers and that `max-image-preview` is one of `none`/`standard`/`large`, flags any token outside the known directive set as an "Unknown directive" warning, and warns if both `nosnippet` and a `max-snippet` value are present together since `nosnippet` overrides it.
