Why it matters
A catch-all route returning HTML for /robots.txt means no rules; content after 500 KiB is ignored; malformed lines are skipped silently.
How to fix it
Generate robots.txt with app/robots.ts, keep it small, and use only User-agent/Allow/Disallow/Sitemap lines.
References
More seo rules
void seo reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.
manifestWeb app manifest missing or incompletetheme-colorNo theme-color metarobots-txt-unreachablerobots.txt returns 5xx/429 or times outrobots-txt-missingNo robots.txtrobots-blocks-allrobots.txt disallows the site for * / Googlebot / Bingbotrobots-blocks-resourcesrobots.txt blocks JS/CSS needed to renderrobots-sitemap-directiverobots.txt has no absolute Sitemap: linesitemap-missingNo reachable sitemap