← All posts

Notion Pages and Indexing: What Google Actually Sees

Notion Pages and Indexing: What Google Actually Sees

You published a Notion page to the web, shared the link, and waited. Weeks later it still returns nothing in Google. A Notion site not indexed after that long is rarely a mystery once you look at what Googlebot actually receives when it requests the page, because a Notion page is not a plain document. It is an application that assembles a document in front of you.

That distinction explains most of what follows.

A Notion page is JavaScript first

When your browser opens a published Notion page, it downloads a fairly thin HTML shell and a large amount of JavaScript. The script then fetches your blocks, your headings, your text, and paints them into the page. You see the finished document. A crawler that reads only the initial HTML sees mostly scaffolding.

Google can handle this, but it costs Google work. As Google’s own JavaScript SEO documentation describes, JavaScript pages go through an extra rendering step: the page is fetched, queued, and later rendered so that Googlebot can see what the script produces. Rendering happens on Google’s schedule, with Google’s resources. For a page on a well-known platform it usually works. It also means a Notion page starts the race with an extra leg that a plain HTML page never runs.

The practical consequence is patience with a deadline. Slow is normal for a rendered page. Absent for a month is a signal that something else is in the way.

The toggle that quietly says noindex

Notion’s publishing settings include a search engine indexing option for public pages. When it is off, the page is served with a signal that tells search engines not to index it. Google honours that instruction exactly as documented in its noindex guidance: the page can be crawled, but it will be dropped from or kept out of the index.

This is the first thing to check, and it is checked surprisingly late by most people, because nothing about the page looks wrong. The page loads, the design is intact, the share link works. The refusal is invisible unless you inspect the response. If you have ever wondered how a page can be public and unfindable at the same time, this is the usual answer.

Note that some Notion plans restrict this toggle, so confirm what your plan actually serves rather than what the settings screen implies.

One page, several addresses

A published Notion page lives on a notion.site subdomain, with a URL that typically carries a long page identifier. Connect a custom domain and the same content may now answer at more than one address. Duplicate more addresses with shared links and you have handed Google a choice.

Google resolves that choice through canonicalization: it picks one URL as the canonical version and indexes that, as described in its guidance on consolidating duplicate URLs. The page you search for may be indexed under an address you were not checking. Before concluding that a page is missing, check every address it answers on. “Not indexed” and “indexed under the other URL” look identical from the wrong vantage point.

Verifying what actually happened

Here the default Notion setup gets awkward. Search Console’s standard verification methods want a file uploaded to the site root or a DNS record, and a notion.site subdomain gives you control of neither. Without verification, no URL Inspection, no Page indexing report. You are publishing into the dark.

There are two honest ways out. The first is a custom domain, which restores DNS control and with it Search Console. The second is checking Google’s results directly. This is where a tool like AIndexify fits without any setup ceremony: it needs no Search Console connection and no ownership proof, so a notion.site URL is as checkable as any other. You submit the URL, and the tool reports two separate events, submission and indexing, verifying the second against live Google results on a fixed schedule. If the page carries a noindex signal, the preflight check catches it, reports Couldn’t check, and refunds the credit, which is itself a diagnosis: the toggle, not Google, is your problem.

Submitting, to be clear, changes none of the fundamentals above. Submitting asks Google to look. It does not oblige Google to keep what it finds, a distinction covered properly in Submitted is not indexed.

Why a Notion site stays out of the index: a short checklist

  • Indexing toggle off. The page serves a noindex signal. Turn it on, then treat the page as newly published.
  • Rendering delay. The JavaScript rendering queue adds time. Days are normal. Months are not.
  • Wrong address checked. The content is indexed under the notion.site URL or the custom domain, whichever Google chose as canonical.
  • Thin or duplicated content. A page with three bullet points competes for index space like everything else. Platform aside, Google still judges the content.
  • Nothing links to it. A published Notion page with no inbound links from anywhere is easy for discovery to miss entirely.

Fixing the blocker matters more than resubmitting past it. Once the page is genuinely indexable, the step-by-step mechanics are covered in How to Index a Notion Site.

The honest summary

Google does not dislike Notion. It processes Notion pages the way it processes any JavaScript-rendered content: with an extra step, on its own schedule, subject to the same signals it respects everywhere else, all of which are laid out in the full guide to Google indexing. Most Notion indexing problems are one of three things: a toggle serving noindex, a URL you were not checking, or ordinary not-yet.

The uncomfortable part is that the default setup gives you no instrument panel to tell these apart. Get one. See where your Notion pages actually stand: submit your URLs and let the checks report what Google decided, dated, in writing.

Sources