/feed/ URLs in Search Console: why WordPress feeds show as not indexed

WordPress publishes RSS feeds at many addresses: the site feed at /feed/, a comments feed, one per category, tag and author, and one for each post's comments. Google finds them through link tags and reports them as crawled but not indexed. That is normal for XML feeds; you can reduce how many exist.

A feed is a machine-readable list of recent content, not a page for searchers. Google reads feeds as a discovery source, in much the same way as a sitemap, and keeping them out of web results is the right outcome.

How many feeds a WordPress site has

On a default install, each of these returns a feed:

AddressContains
/feed/Latest posts
/comments/feed/Latest comments across the site
/a-post/feed/Comments on that post
/category/news/feed/, /tag/x/feed/Posts in that term
/author/editor/feed/Posts by that author
/search/term/feed/Posts matching a search

Each also answers at variants such as /feed/atom/ and /feed/rdf/. The per-post comment feeds are the ones that multiply: a site with 5,000 posts has 5,000 of them, most containing nothing.

Crawlers find feeds through <link rel="alternate" type="application/rss+xml"> tags that WordPress prints in the head of pages, which is why the report fills up without anyone linking to a feed.

See what Google has found

In Indexing → Pages, open each reason and filter the examples for feed. They tend to appear under Crawled - currently not indexed, sometimes Discovered - currently not indexed. To see what a given page advertises:

code
curl -s https://example.com/a-post/ | grep -ioE '<link[^>]*application/(rss|atom)\+xml[^>]*>'

A typical post prints three: the site feed, the site comments feed and the post's own comments feed.

Why not just block or noindex them?

Two tempting fixes cause more trouble than the report entries do.

Blocking /feed/ in robots.txt stops Google using your main feed for discovery and can turn "crawled, not indexed" entries into "indexed, though blocked" ones, since blocked URLs can still be listed from links. It also blocks feed readers that respect robots.txt.

Deleting all feeds breaks subscriptions, podcast apps, email-by-RSS services and syndication partners that rely on the main feed.

The better approach is to keep the feeds people use and switch off the ones nobody does.

Reduce the feeds you do not need

Hydrogen SEO's Crawl cleanup, under Hydrogen SEO → General, has two groups of switches for this. All are off by default, and none of them touches your main feed.

Remove the links, keep the feeds. Three switches stop WordPress advertising feeds in the head: the site comments feed link, each post's comments feed link, and the feed links on category, tag, author, post type archive and search pages. The feeds still work for anyone who has the address; crawlers simply stop being pointed at them.

Turn feeds off. Three further switches disable a feed and 301 its address to the page it belongs to: the site comments feed goes to the homepage, each post's comments feed to the post, and search result feeds to the search page.

A sensible setup for a typical blog: turn off post comments feeds and search result feeds, remove archive feed links unless readers subscribe by category, and leave the main feed alone. The details and caveats for each switch are in the crawl cleanup documentation.

Author and date archives have their own control. Setting either to Disabled under Titles & Meta → Archives redirects the archive, its later pages and its feeds to the homepage; see author and date archives.

Without a plugin, feed links can be removed with remove_action( 'wp_head', 'feed_links_extra', 3 ); for the archive and comment feeds and remove_action( 'wp_head', 'feed_links', 2 ); for the main ones.

Make the main feed work for you

Since the main feed stays, two details are worth getting right.

  • Excerpts or full text. Under Settings → Reading, "For each post in a feed, include" controls this. Full text is friendlier to subscribers and easier for scrapers to republish.
  • A link back to the original. Sites that republish feeds often drop attribution. Hydrogen SEO can append a line to each feed item linking to the post and your site, so copies carry a link to the source. See RSS feed text and our post on adding a link back in your RSS feed footer.

You can also submit /feed/ in Search Console's Sitemaps report. Google accepts RSS and Atom feeds there. It complements an XML sitemap; it does not replace one, because a feed lists only recent posts.

What to expect afterwards

After removing links or turning feeds off, view the source of a post and repeat the curl check: only the feeds you kept should be advertised. Open a disabled feed address in a browser and confirm it lands on the page it belongs to. In Search Console, redirected feeds move to "Page with redirect" and unadvertised ones gradually drop out as Google recrawls. There is no error to validate, and the "not indexed" total will fall slowly, not overnight.

Common questions

Is "Crawled - currently not indexed" on feed URLs a problem?

No. It is the normal state for XML feeds. The status deserves attention when it appears on real content pages.

Should I noindex my RSS feed?

There is no need. Google does not treat feeds as web pages to rank, and an X-Robots-Tag on the feed adds nothing in practice.

Will turning off comment feeds affect SEO?

Not negatively. It removes one low-value URL per post from the crawl. Only readers subscribed to those specific feeds are affected.

Do feeds count as duplicate content?

No. A feed is an XML representation of your posts, not a competing page.