Skip to content

Journal

How we keep the journal index honest

The public index is supposed to get smaller when it gets honest, not larger when we panic about AdSense.

Updated 26 August 2026 · Oernoe Editorial Team

Google’s “low value content” finding was not a mystery. This site had promotional stubs, generic SEO outlines, coming-soon pages, and application shells that rendered almost no text. Reviewers do not need a special tool for that. They type URLs. This page is the machinery we now run so the journal listing, the sitemap, and ads stay attached to documents rather than to leftover routes.

Editorial intent is in Editorial standards and What we publish. This article is the implementation: what the code checks, what still has to be done by a person, and how to tell if it broke.

The floor is 700 words, and it still fails hype

Indexable journal posts need at least 700 words of actual text after tags are stripped. Word count is a floor. A 2,000 word brochure about being the safest platform of the year still fails. Titles and excerpts that are “test,” slugs that start with test, and identity strings that look like “coming soon,” “sneak peek,” or “launching soon” are excluded even when they are long.

There is also a denylist of slugs we already identified as promotional stubs, including “future of free tech” and “safest platform” headlines. Matching phrases such as “powerhouse,” “better than ever,” and “freedom first” trip the same low-value flag. Those URLs can still resolve so old links do not 404. They get a note that they are kept for old links. They drop out of /blog, /sitemap.xml, and ads.

Where the filter runs

The same check feeds the journal homepage, the public blog API, related-article widgets, and the sitemap. Homepage “from the journal” cards use it too. If a post is in the database as published, that is not enough. Published and indexable are different states. We learned that the hard way when published teasers still looked like the site.

Static rewrites sit in the application as first-class routes. Four old SEO URLs were replaced that way in August 2026. More overlapping privacy essays were replaced on 26 August 2026. The listing prefers those documents over whatever still sits in the database under the same slug, so a crawler and a reader see the same title.

Application shells are crawlable and noindexed

/mail, /login, /signup, /auth, /console, /dashboard, leftover /studio, and similar routes used to be thin pages Google could still fetch, because robots.txt disallowed the slash variant and not the live path. They now send X-Robots-Tag: noindex, nofollow. robots.txt only blocks /api/ and /debug/. Google has to be allowed to fetch a URL if we want it to honour noindex.

/mail is also a factual correction. It no longer advertises encryption for a product that does not exist, and it no longer collects addresses. Details are on Corrections we have already made.

Ads cannot rescue a page

AdSense is allowed only after a page already qualifies as substantial, and only on paths we listed: finished guides, How-To, and journal articles that pass. The journal listing itself stays unmonetized. So do Home, About, and legal. A URL does not get published because it might show an ad. If anything, ads are a reason to be stricter, because a thin page with a unit is worse than a thin page without one.

What still needs a person

The filter cannot tell that two 1,600 word posts are the same thesis with different titles. That took a reviewer-style read of the live sitemap: twelve of twenty-five articles were privacy and search restated. Overlapping URLs were rewritten into distinct jobs (query files, rejected features, a twenty-query test, when Search is the wrong tool, what Google can see here, the kit we use to run the site). Code will not do that rewrite for us.

Product accuracy is also human. If Drive is live and Mail is not, the article has to match the homepage directory. The filter does not know DNS. People do. When they fail, the corrections list gets another row.

How to see if it is working

Open /blog. You should not see “coming soon” as a headline. Open /sitemap.xml. You should see this article, the finished guides, How-To, and other indexable journal URLs. You should not see /login. Open a denylisted slug if you still have one bookmarked. You should see the old-link note and no ads script. Open /robots.txt and confirm it is not trying to hide /mail with a trailing slash.

If those checks fail after a deploy, write hello@oernoe.com. The public index is a promise. The machinery is only honest while someone is willing to watch it.