AdSense policy: "Valuable inventory — no content" explained
This one is specific and mechanical: ad code is running on pages that have almost nothing on them. Unlike the content rejections it often arrives after approval, and it usually names pages a publisher forgot were public at all — tag archives, empty search results, thank-you pages, and paginated tails.
How to fix it
- Find the pages you did not mean to monetise. Empty search result pages, tag and date archives with one post, thank-you and confirmation pages, pagination beyond the last real results, and any page whose entire content is a form or a redirect notice.
- Decide per page, remove ads or remove the page. A page with a real reason to exist should keep its content and lose its ad units. A page with no reason to exist should be noindexed or removed outright, which fixes the policy issue and the crawl waste together.
- Stop auto ads inserting on templates you did not check. Auto ads place units on every page they can reach, including templates that were never meant to carry them. If you use them, review which templates they actually cover.
- Handle search result pages deliberately. A site search page with no results is the textbook case: a header, a search box, "no results found", and three ad units. Noindex search results, or suppress ads when the result set is empty.
- Re-check after every theme or plugin change. A template change can reintroduce ad units on pages you cleaned months ago, and the policy notice arrives without warning.
A policy, not a verdict
Most of the messages publishers call "rejections" are decisions about whether to
approve a site. This one is different: it is a policy that applies continuously,
which is why it so often arrives months after approval, out of nowhere, referring
to pages nobody has looked at in a year.
The rule itself is straightforward. Ad units should be on pages that give a
visitor something. A page whose entire content is a header, a navigation bar and
three ad slots is inventory without value — hence the name.
The pages that cause it are almost never articles
Publishers who receive this notice usually start by re-reading their posts, which
is the wrong place to look. The pages that trigger it are the ones generated by
the site rather than written for it:
Empty search results. The canonical case. A visitor searches for something
you have not written about, and gets a page consisting of a search box, the words
"no results found", and whatever ad units the template carries.
Sparse archives. A tag applied to exactly one post produces an archive page
with a single excerpt on it. Sites accumulate dozens of these without anyone
noticing.
Transactional pages. Thank-you pages after a form submission, newsletter
confirmation pages, download landing pages. Each has one sentence and a full ad
template.
Pagination tails. A category with 11 posts and 10 per page produces a second
page with one entry. If pagination is not bounded properly, it can produce empty
pages beyond that.
Account and utility pages. Login, password reset, cart, 404. These inherit
the site-wide template, ad units included, and nobody checks them.
Auto ads make this more likely, not less
Auto ads place units wherever the script decides a page can carry them, which
includes every template it can reach. That is convenient, and it is also how a
publisher ends up monetising their own login page without ever making a decision
to do so.
If you run auto ads, the useful exercise is to list your templates — post,
page, archive, search, 404, account — and check each one rather than checking
individual URLs. The problem lives at the template level.
Fix it per page, in the right direction
For each flagged page, the question is which half to remove:
- The page has a reason to exist (a real archive, a genuine thank-you page):
keep the page, remove the ad units. - The page has no reason to exist (an empty tag archive, a stray paginated
page): remove or noindex the page. This fixes the policy issue and stops the
page consuming crawl budget.
Noindex alone is not a fix. It keeps the page out of search results, but a
visitor who reaches it still loads ad code on an empty page, which is exactly
what the policy prohibits.
It comes back
The most frustrating property of this one is that it recurs. A theme update, a
new related-posts plugin, or turning auto ads back on can reintroduce units on
templates that were cleaned months earlier — and the notice arrives without
warning, sometimes with ad serving already restricted.
That is why this belongs on a checklist that runs after every template change,
rather than in the pile of things you fixed once.
Frequently asked
- Why did I get this after I was already approved?
- Because it is a policy applied continuously, not an approval check. Google's crawler finds a monetised page with no content and flags it, which commonly happens after a theme change, a new plugin, or enabling auto ads across templates that were never reviewed.
- Which pages usually trigger it?
- In rough order: empty internal search results, tag and date archives holding a single post, thank-you and confirmation pages after a form, pagination past the last real page, and login or account pages that inherited the site-wide ad template.
- Is noindexing the page enough?
- Noindex stops the page being indexed but does not stop ad code running on it if a visitor arrives. Removing the ad units is the direct fix; noindex is worth doing as well for pages that should not be in search results anyway.
- How does this relate to thin content rejections?
- "Low value content" is a judgement about the site's substance at application time. This is a mechanical finding about specific monetised URLs, and it can hit a site whose articles are excellent. They need different fixes.
Check whether this is still blocking you
The free Monetific checker tests your site against this and every other mechanical requirement, and tells you what is still outstanding before you re-apply.
Run the free check