blog-post-indexingGoogle doesn’t index all your content.

Do you know which pages on your blog are not indexed on Google?

Do you know which pages on your website are indexed but shouldn’t be?

In this post, we take you through the process of figuring out which posts are not indexed by Google.   There is no simple way of doing this but, if you follow the process, you can do it.  I’m geeking out a bit because it’s quite technical!




1.  Check your sitemap

The sitemap tells Google what to index.  Google may crawl through your site and find extra pages to index, but a good starting point is to find out what you are telling it to index.

If you’re using a WordPress tool like Yoast WordPress SEO, this will build the sitemap for you.  You’ll probably have a sitemap for your pages and a sitemap for your posts.

The following example shows that we’re telling Google there are 216 posts to index.


blog post indexing
This shows the blog post you are telling Google to index


Highlight all this information and copy it into a spreadsheet in Google. When you have it in a spreadsheet, remove any columns that are not the URLs of your posts.

Note:  If all your blog content is in /blog, then it’s going to be easy to filter out just the blog posts.  If your blog posts and pages are all in one directory then you’re better off comparing all pages/posts to see which ones are not indexed.

 2.  Check Google Webmaster Tools

In Google Webmaster Tools, it will show you how many of your posts were indexed by Google.  I’ve never seen this at 100% but you do want to see the majority of your posts indexed.

This example shows a gap where there are a good proportion of posts that are not indexed:


google webmaster sitemap
This shows the number of posts submitted in the sitemap and the ones actually indexed

3.  Get Your Google Listings

Now you want to go to Google and find out what it has indexed.  The ‘site’ command in Google can list out the posts that are indexed by Google.  It’s not 100% accurate, so there could be other posts that are indexed that are not on that list, but it will be pretty close to the truth.

Before you run the site command, you need to change the settings in Google so it displays 100 results on a page at a time instead of 10.  We are going to extract the contents of Google search and it’s easier to extract them in bigger batches rather than 10 at a time.

To temporarily change your results so it displays a listing of 100 web pages at a time, select the ‘settings’ option at the very bottom right of the page.  Then, select the ‘search settings’.


Google search paramaters
Adjust the search settings


On this screen, adjust the dial so that Google will display 100 results at a time instead of 10.


Google number of search results
Adjust this setting to 100

Next, you need to install a bookmarklet in your browser that will help you to extract just the page names from the results.  Go to this page and drag the bookmarklet to your browser bar ->  Here

In Google, type in site:”URL of your website”, without the quotation marks (e.g.  This will show you up to 100 results of pages indexed on your site.  When you have that listing, click on the bookmarklet you installed.  This will extract only the web addresses from the Google listing!


Google web address only
This will extract just the web address


When you get this listing, copy it to the same spreadsheet where you have the list of pages from the sitemap.  Repeat the above until you have all your pages in the spreadsheet.

5.  Compare the Results

You should now have two listings of web addresses in your spreadsheet.  The first column is what you tell Google to index and the second is what Google has actually indexed!

Go through the list and pick out the posts that are in the sitemap but not the Google listings.

From this list, go to Google and search for these posts; even if they are not found using the ‘site’ command, they may still be indexed.

If you have a very long list of posts, you won’t be able to compare the list manually.  Because of this, you’ll need to figure out a good Excel formula that extracts pages where there isn’t a direct match in both columns.  If anyone wants to share in the comments how to do this, feel free.

What to do with Your Results

When you have a list of pages that are not indexed, there are a couple of things to consider:

a) If it is a poor quality post that is not offering any value then delete it.

b) If it’s a good post that should be indexed, then link to it from other posts on your site.  This will help Google pick it up.


I had hoped there was an easier way to figure out what is not indexed by Google, but this was the simplest solution. If you know of another way, please share!

By going through the process above, you do learn more about your site and you’ll probably identify other issues that are worth considering.

After tidying up my sitemap, there are now only three posts not indexed!

post sitemap after
Very close to 100% indexing



I would love to hear your thoughts/comments below!

Similar Posts You Might Also Like...
[wpforms id="21612" title="false" description="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-21612"><form id="wpforms-form-21612" class="wpforms-validate wpforms-form" data-formid="21612" method="post" enctype="multipart/form-data" action="/blog-post-indexing/" data-token="335855ff5db8c6e0c45ea41cfc8f7a55"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-21612-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label wpforms-label-hide" for="wpforms-21612-field_1">Name <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-21612-field_1" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][1]" placeholder="Name" required></div><div id="wpforms-21612-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label wpforms-label-hide" for="wpforms-21612-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-21612-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" placeholder="Email Address" required></div><div id="wpforms-21612-field_6-container" class="wpforms-field wpforms-field-text" data-field-id="6"><label class="wpforms-field-label wpforms-label-hide" for="wpforms-21612-field_6">Website</label><input type="text" id="wpforms-21612-field_6" class="wpforms-field-large" name="wpforms[fields][6]" placeholder="Website" ></div><div id="wpforms-21612-field_5-container" class="wpforms-field wpforms-field-textarea" data-field-id="5"><label class="wpforms-field-label wpforms-label-hide" for="wpforms-21612-field_5">Enquiry <span class="wpforms-required-label">*</span></label><textarea id="wpforms-21612-field_5" class="wpforms-field-medium wpforms-field-required" name="wpforms[fields][5]" placeholder="Enquiry" required></textarea></div><div id="wpforms-21612-field_11-container" class="wpforms-field wpforms-field-captcha" data-field-id="11"><label class="wpforms-field-label" for="wpforms-21612-field_11">Custom Captcha <span class="wpforms-required-label">*</span></label> <div class="wpforms-captcha-math"> <span class="wpforms-captcha-equation"> <span class="n1"></span> <span class="cal"></span> <span class="n2"></span> <span class="e">=</span> </span> <input type="text" id="wpforms-21612-field_11" class="wpforms-field-medium wpforms-field-required a" data-rule-wpf-captcha="math" name="wpforms[fields][11][a]" required> <input type="hidden" name="wpforms[fields][11][cal]" class="cal"> <input type="hidden" name="wpforms[fields][11][n2]" class="n2"> <input type="hidden" name="wpforms[fields][11][n1]" class="n1"> </div> </div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-21612-field-hp" class="wpforms-field-label">Message</label><input type="text" name="wpforms[hp]" id="wpforms-21612-field-hp" class="wpforms-field-medium"></div><div class="wpforms-recaptcha-container wpforms-is-recaptcha"><div class="g-recaptcha" data-sitekey="6LeM6ZgUAAAAAEkxPMgcFFoPipPfMkqzgcGXJioV" data-size="invisible"></div></div><div class="wpforms-submit-container"><input type="hidden" name="wpforms[id]" value="21612"><input type="hidden" name="wpforms[author]" value="5"><input type="hidden" name="wpforms[post_id]" value="5529"><button type="submit" name="wpforms[submit]" id="wpforms-submit-21612" class="wpforms-submit bc-form-button-blue" data-alt-text="Sending..." data-submit-text="Send" aria-live="assertive" value="wpforms-submit">Send</button></div></form></div> <!-- .wpforms-container -->