The quick answer
For a single page, use URL Inspection in Google Search Console: it is Google's only official answer. For a whole site, you need a tool that asks Google page by page, because Search Console only inspects one URL at a time. The site: operator gives a hint, but it is not reliable.
Method 1: the site: operator
Search Google for site:example.com/my-article/ (the exact page address). If it shows up, it is indexed. If nothing shows, it most likely is not.
site: operator does not necessarily show every indexed page. The result count for site:example.com is a rough estimate: never use it to count your indexed pages.Method 2: URL Inspection in Search Console
- Open Google Search Console and pick your property.
- Paste the full page address into the “Inspect any URL” bar at the top.
- Read the verdict: “URL is on Google” or “URL is not on Google”, with the reason.
It is reliable, but one URL at a time. Programmatically, the URL Inspection API is limited to 2,000 inspections per day per property: enough to monitor an average site, if you know how to use it.
Method 3: the Page indexing report
In Search Console, Indexing › Pages counts indexed and non-indexed pages, grouped by reason. It is the best overview, with two limits: the data is often several days old, and each reason only lists a sample of 1,000 URLs. On a site with thousands of pages, you do not see everything.
Method 4: check all your pages at once
To know exactly which pages are missing, you have to ask Google about each one. That is what Instant Indexing & Check does from WordPress:
- In free mode, with your own Google API key: the plugin uses the official URL Inspection for your posts.
- With Premium Check, with no setup at all: select hundreds of posts, pages, categories or products and the plugin shows their real status on Google, and on Bing too. Cost: 0.2 credit per URL.
Reading Google's statuses
| Status | What it means |
|---|---|
| Indexed | The page is in the index: it can appear in results. |
| Crawled – currently not indexed | Google read the page but chose not to index it for now. See how to fix it. |
| Discovered – currently not indexed | Google knows the URL but has not crawled it yet, often because of crawl budget. |
| Excluded by ‘noindex’ tag | The page itself asks not to be indexed (a setting in your SEO plugin). |
| Duplicate / alternate canonical | Google picked another URL as the main version. |
| Not found (404) or redirect | The address no longer leads to a valid page. |
What if the page is not indexed?
Start with the reason Google gives: a forgotten noindex or a wrong canonical tag takes a minute to fix. For “Crawled – currently not indexed”, the page often needs to be improved and better linked from the rest of the site before you resubmit it. Once the page is ready, you can request indexing in Search Console (a few requests a day), or submit pages in bulk with the plugin's Force Index.
Frequently asked questions
How long does Google take to index a new page?
Anywhere from a few hours to several weeks. It mostly depends on the site’s authority, the internal links pointing to the page and its quality. On a new site, several weeks is normal.
The site: operator does not show my page but Search Console says it is indexed. Which is right?
Search Console. The site: operator is not exhaustive; URL Inspection is Google’s official answer.
Can I check Bing indexing the same way?
Yes: the site: operator also works on Bing, and Bing Webmaster Tools has a URL inspection tool. The plugin checks Bing in bulk from its Bing view.