How noindex works
It comes in two forms: a robots meta tag in the page's head, or an X-Robots-Tag header the server sends, which also works for PDFs and images. Google's documentation says that when Googlebot crawls the page and finds either one, Google drops the page from Search results entirely, whether or not other sites link to it.
Why robots.txt can stop it working
Google has to crawl a page to read its noindex. If robots.txt blocks the URL, Googlebot never sees the rule, and Google says the page can still appear in results when other pages link to it. To take a page out of search, let Google crawl it and use noindex.
Removing a noindex you didn't mean to add
Most accidental noindex tags come from a setting, not from someone typing the tag:
- WordPress: Settings, Reading, 'Discourage search engines from indexing this site'. When it's ticked, WordPress adds a noindex, nofollow robots tag to every page.
- An SEO plugin set to noindex a page, or a whole type of page such as tags.
- A staging site's server header, X-Robots-Tag: noindex, that came along when the site went live.
- Once it's gone, test the live page with URL Inspection in Search Console and request indexing.