Mark Ku's Blog

Background

I recently came across several sites that had SEO implemented but it wasn't actually working. So I put together some notes on how to verify whether SEO is functioning in a way that Google's crawler can index.

Method 1: The Most Immediate Approach — Simulate a Crawler Visit

Install the user-agent-switcher extension from the Chrome Web Store

Check Google's documentation to learn the user-agent strings Googlebot uses to crawl your site

Current Googlebot user-agent strings
Mobile:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)

Desktop:
Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)

"or"

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +https://www.google.com/bot.html) Safari/537.36

Use the user-agent-switcher extension to simulate a Googlebot visit to your site

User-agent switcher extension UI for entering a custom string
User-agent switcher extension UI for entering a custom string

I found that Cloudflare was blocking the request

Web browser displaying Cloudflare's Sorry, you have been blocked page
Web browser displaying Cloudflare's Sorry, you have been blocked page

Based on a Cloudflare community thread, the issue appears to be caused by managed firewall rules

Workaround
As @cs-cf said, the best thing to do is to disable the rules individually so you don't lose all the other Cloudflare Specials benefits.

Step-by-step
Click the Firewall tab
Click the Managed Rules sub-tab
Scroll to Cloudflare Managed Ruleset section
Click the Advanced link above the Help
Change from Description to ID in the modal
Search for 100035 and check carefully what to disable
Change the Mode of the chosen rules to Disable
Rules matching the search
100035 - Fake google bot, based on partial useragent match and ASN
100035B - Prevent fake bingbots from crawling
100035C - Fake google bot, based on exact useragent match and DNS lookup
100035D - Fake google bot, based on partial useragent match and DNS lookup
100035U - Prevent fake BaiduBots from crawling
100035Y - Prevent fake yandexbot from crawling
A seventh rule related to fake bots was deployed during the incident:

100035_BETA - Fake google bot, based on partial useragent match and ASN

Note: the free plan doesn't allow managing these rules — this appears to be a default behavior of the Pro plan

Cloudflare WAF Managed rules dashboard with upgrade to Pro option
Cloudflare WAF Managed rules dashboard with upgrade to Pro option

If SEO is working correctly, the page will render normally

Web browser displaying a rendered e-commerce page for dried pineapple
Web browser displaying a rendered e-commerce page for dried pineapple

Method 2: Verify Whether the Page Has Been Correctly Indexed by Google

This method is not immediate — you need to wait for Google to crawl and index your page.

Grab the description from the page's HTML <head> and search for it in Google

Highlighted meta description in Chrome DevTools Elements panel
Highlighted meta description in Chrome DevTools Elements panel

Check whether the page was indexed correctly

Google search results for Powershell MongoDB backup and restore notes
Google search results for Powershell MongoDB backup and restore notes

Method 3: Check Indexing Status in Google Search Console

Google Search Console showing 196 indexed pages not in sitemap
Google Search Console showing 196 indexed pages not in sitemap

Bonus Tip

Chrome DevTools > More tools > Network conditions > uncheck "Use browser default." There are several predefined user agents available to choose from, including Googlebot.

Author

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。Read More

Found this useful?

The author's free tools, daily podcasts and newsletter are all here.

Mark Ku · This article is licensed under CC BY 4.0. Credit the author and link back to the original when reusing it.

Comments

Subscribe to Newsletter

Subscribe to get new posts delivered instantly — never miss a tech share.

By submitting, you agree to receive emails. You can anytime.

Popular Posts

View all
Mark Ku
··602

Oracle Cloud Always Free Tier: Linux Host and Static IP for a $0 Cloud Solution

Oracle Cloud Always Free Tier: Linux Host and Static IP for a $0 Cloud Solution
Mark Ku
··492

Say Goodbye to Postman's Fee Trap! A Hands-on Guide to Bruno, the Open-Source Git-Native API Testing Powerhouse.

Say Goodbye to Postman's Fee Trap! A Hands-on Guide to Bruno, the Open-Source Git-Native API Testing Powerhouse.
Mark Ku
··334

A Free, Open-Source, Notion-like Knowledge Base — A Complete Guide to Deploying and Backing Up Outline Wiki

A Free, Open-Source, Notion-like Knowledge Base — A Complete Guide to Deploying and Backing Up Outline Wiki
Mark Ku
··268

Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning

Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning
Mark Ku
··218

Building an Efficient API Management Platform: Deploying Kong Gateway from Scratch - Part 1

Building an Efficient API Management Platform: Deploying Kong Gateway from Scratch - Part 1
Mark Ku
··217

Setting Up Samba on Ubuntu to Share Folders with Windows 11

Setting Up Samba on Ubuntu to Share Folders with Windows 11