GEO in Practice Advanced

GEO technical optimization: how page structure, load speed, and structured data affect AI crawling

GEO technical optimization has three layers, and the order matters. L1 Get in: allow GPTBot, OAI-SearchBot, and PerplexityBot in robots.txt, and serve the first screen as direct H...

GEO 技术优化三层:先让 bot 进门,再让它读得快,最后让它读得懂GEO technical stack: let bots in, make pages fast, make pages parseable 技术层不做,内容层写得再好也到不了模型视野Fix the plumbing first; great content never reaches the model otherwise 层级Layer 关键动作Action 合格阈值Threshold L1 进门L1 Gate robots 放行 AI bot、首屏 HTML 直出Allow AI bots, SSR first screen GPTBot 等 200 状态码200 status for AI bots L1 失败 = 后面全废L1 fail = everything else fails L2 速度L2 Speed TTFB、LCP、渲染队列TTFB, LCP, render queue TTFB ≤ 1.5s,LCP ≤ 2.5sTTFB under 1.5s, LCP under 2.5s 慢页面重抓周期从 3 天拉到 2 周Slow pages get recrawled every 2 weeks L3 读懂L3 Parse Schema、H 层级、表格、锚点Schema, heading tree, tables, anchors 三件套齐全,H1 唯一Three Schema items, one H1 结构化数据让实体识别零猜测Schema makes entity recognition deterministic 反直觉:慢页面不是「用户体验问题」,是 GEO 抓取频率问题Counter-intuitive: slow pages are a crawl-frequency problem, not UX bot 在抓取队列里按响应时间排序,TTFB 超 2 秒会被降权Bots queue by response time; TTFB over 2s lowers priority 检查顺序:先 robots 日志,再 Lighthouse,最后 Rich Results TestCheck order: robot logs, then Lighthouse, then Rich Results Test 常见坑:JS 首屏渲染 + bot 不执行 JS = 模型看到的是空壳Common pitfall: JS-first render plus non-JS bots = empty shell
The three priority layers of GEO technical optimization: get in, get fast, get understood, and the passing threshold for each

GEO technical optimization: how page structure, load speed, and structured data affect AI crawling

Bottom line first: GEO technical optimization has three layers, and the order matters. L1 Get in: allow GPTBot, OAI-SearchBot, and PerplexityBot in robots.txt, serve the first screen as direct HTML rather than relying on JS; L2 Get fast: TTFB ≤ 1.5 seconds, LCP ≤ 2.5 seconds. Slow pages get downranked by bots, and the recrawl cycle stretches from 3 days to 2 weeks; L3 Get understood: a single H1, clear H2 hierarchy, and the full set of Organization/WebSite/BreadcrumbList schema. Until all three layers pass, even great content never reaches the model’s field of view. A counterintuitive point: slow pages are not just a user experience problem, they directly determine how often AI bots come back.

1. L1 Get in: can bots actually read your pages?

The first layer of technical optimization is not optimization, it is clearing mines. The most common GEO technical problem on B2B websites is that bots never got in at all. There are three reasons: robots.txt blocks them by mistake, the firewall blocks by UA, or pure JS rendering returns an empty shell.

Issue How to detect it Fix actions
robots.txt blocks AI bots by mistake Check robots.txt and bot status codes Explicitly Allow GPTBot, OAI-SearchBot, and PerplexityBot
WAF blocks unknown UAs Test with curl using a bot UA Whitelist these bot UAs
Pure JS rendering leaves the first screen blank Fetch the HTML with curl and grep for body text Switch to SSR or SSG
Chinese and English versions of the page are inconsistent curl both versions separately Make sure both versions serve the body text directly

The check is very specific. In your server logs, filter by the UAs of these bots over the last 30 days: GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Googlebot. If the status codes are all 4xx, they are being blocked; if you see 200s but only for the homepage, your internal links or sitemap are not letting bots crawl deeper. For how to write a sitemap, see Site rebuilds and domain changes the link structure section in

A real example: a client running a standalone WordPress site had installed a security plugin that blocked all unknown bots by default. Six months after launch, we checked the logs and found PerplexityBot had never visited once. After we whitelisted it, the bot started visiting product pages the following week, and 4 weeks later the company began showing up as a citation in Perplexity answers. This problem needs no content changes, just one line of config.

2. L2 Get fast: TTFB and LCP determine how often bots come back

Traditional SEO treats page speed as a user experience issue, and Core Web Vitals were designed for real people. But for AI bots, speed determines crawl priority and frequency. Bots sort the queue by response time, pages with TTFB over 2 seconds get pushed to the back, and the recrawl cycle stretches from 3 days to 2 weeks.

Metrics Pass line Impact of failing the threshold What to optimize
TTFB ≤ 1.5 seconds Lower crawl priority CDN caching, PHP upgrade
LCP ≤ 2.5s Incomplete first-screen chunk Image compression, inline critical CSS
INP ≤ 200ms Little impact on bots, big impact on real users Lazy-load third-party scripts
CLS ≤ 0.1 Little impact on GEO Fixed image aspect ratio

For GEO, TTFB and LCP matter most. INP and CLS mainly serve real users and have little effect on bot crawling, so there is no need to over-optimize them. For specific thresholds and optimization priorities, see Core Web Vitals. CDN node selection has the biggest impact on TTFB. For B2B overseas sites, configure nodes in both North America and Europe, see Global CDN acceleration.

Counterintuitive take: a slow page is not a “user experience problem,” it is a GEO crawl frequency problem. A product page with a 3-second TTFB may have content as good as your competitors’, but if the bot only visits once every two weeks, your content updates won’t be seen by the model for two weeks, and your citation rate falls behind. Push TTFB under 1.5 seconds and the bot visits 4 to 5 times more often.

3. L3 Comprehension: make page structure so models don’t have to guess

Once bots can read your page and read it fast, they still need to understand it. This layer depends on page structure and structured data. Models use HTML heading hierarchy, tables, and link anchors to judge what a page is about. When the structure is messy, they have to guess from context, and the odds of guessing wrong go up.

Structural item Correct markup Incorrect markup
H1 Unique per page, contains the main keyword Multiple H1s or no H1
H2/H3 hierarchy Progresses logically with the content Skips levels, uses H4 as a subheading
Tables Has a thead, first row is the threshold Builds a table out of images
Anchor Every H2 has an id No id, so models can’t point to a section
Internal links Anchor text is the keyword Anchor text is “click here”

The structured data trio (Organization, WebSite, BreadcrumbList) is mandatory site-wide; it is the entity ID card you hand to models. Product and article pages also need Product, Article, and FAQPage. Fields must match the visible content; mismatches can trigger a Google manual action. For the full markup checklist, see Structured data (Schema). For how entities get recognized in AI answers, see Knowledge graphs and entity markup.

Scenario example: if a product spec table is built out of images, the bot sees an image, and OCR may not read the numbers in the table. If you use a real HTML table with “PN16 butterfly valve max operating temperature” in the thead, the model can pull that row out directly as a fact. For the limits of image localization, see Charts and tables on multilingual sites.

4. Check order and launch deadlines

Don’t change all three layers at once. Go in order, and each layer has clear verification tools and deadlines.

Steps Tools Timeframe Pass criteria
1. Check robots logs Filter bot UAs in server logs Same day All 5 AI bots return a 200 status code
2. Test TTFB/LCP Lighthouse、PageSpeed Fix within 3 days TTFB ≤ 1.5s,LCP ≤ 2.5s
3. Check Schema Rich Results Test Same day No errors in the trio
4. Check H hierarchy Browser outline extension Same day Unique H1, no skipped levels
5. Wait for bots to recrawl Keep watching server logs 1 to 2 weeks Bot visit frequency rises

Don’t expect citations to jump the day after you make changes. It takes 1–2 weeks for bots to recrawl, and another 1–2 weeks for model indexes to update. So after technical optimization, wait at least 4 weeks, then run a fixed question set to see how citation rates have changed. This lag is something you have to account for in GEO experiment design. See GEO experiment design.

A common mistake is to start writing new content right away. If L1 and L2 aren’t passing, new content won’t reach the model any more than old content will. Clear the mines first, then speed things up, and only then talk about content. Get these three layers out of order and every step pays less.

One more thing that’s easy to overlook: technical layers on multilingual sites need to be checked separately. If your German, Spanish, and Arabic versions share the same robots file but your CDN nodes are only in the US, TTFB in non-English markets will run high, and AI citation rates in those languages won’t climb.Multilingual GEO covers the German, Spanish, and Arabic markets. Technically, that means getting three things in place first: local nodes, local hreflang tags, and local caching. Content comes after.

A real-world example: a client doing multilingual expansion had normal citation rates on the English version, but the German version was nearly zero in Gemini. Logs showed Googlebot hitting the German version from European nodes with a TTFB of 3.2 seconds, so it got pushed to the back of the queue. After adding a European CDN node and caching the German pages in Frankfurt, TTFB dropped to 1.1 seconds, and three weeks later the German citation rate started climbing. This had nothing to do with content. It was purely a missing region in the technical layer.

One last reminder: don’t change URLs frequently after technical optimization is done. Every redesign needs a 301 handoff, or the old links bots just got familiar with will break and new links will have to queue up again. For how to map out 301s during a site migration, see Site rebuilds and domain changes. The technical layer is slow work. Once it’s stable, leave it alone.

Make the three-layer technical check a fixed monthly task, alongside the other routine items in Website Maintenance Schedule: run bot logs, Lighthouse, and Rich Results Test once a month. Technical debt isn’t as visible as content debt, but it determines whether models can read your content at all. A stable, fast, clearly structured site is the foundation of all GEO content work.

FAQ

Which layer of GEO technical optimization comes first?
In order: L1 to get in the door, L2 for speed, L3 to be understood. L1 means robots.txt allows AI bots and your first-screen HTML renders directly. L2 means TTFB ≤ 1.5 seconds and LCP ≤ 2.5 seconds. L3 means a single H1, clear H2 hierarchy, and the full set of Organization/WebSite/BreadcrumbList schema. If L1 fails, the other two layers are wasted, because bots can’t read the page at all.
Why does slow TTFB affect AI citations?
AI bots rank pages in the crawl queue by response time. Pages with a TTFB over 2 seconds get deprioritized, and the recrawl interval stretches from 3 days to 2 weeks. That means your content updates won’t be seen by the model for two weeks, so your citation rate falls behind by default. Get TTFB under 1.5 seconds and bots will come back 4 to 5 times more often. This isn’t a user experience problem, it’s a crawl frequency problem.
How does a purely JS-rendered site affect GEO?
Some AI bots only fetch HTML and don’t execute JavaScript. If a React or Vue single-page app doesn’t render on the server, what gets returned to the bot is an empty shell. Use curl with GPTBot’s UA to fetch your homepage, then grep for body keywords. If you can’t find them, the bot is seeing an empty page. The fix is to move to SSR or SSG, and at minimum render the first-screen body content on the server.
How much does structured data (Schema) help with AI citations?
Schema is the entity ID card you hand to the model, so it doesn’t have to guess your company name, product name, or breadcrumbs. Organization, WebSite, and BreadcrumbList are a must on every page. Add Product, Article, and FAQPage on product and article pages. Fields must match your visible content, or mismatches will trigger a Google manual action. Schema doesn’t directly affect rankings, but it makes entity recognition guess-free, so models are more willing to cite you.
How long after technical fixes do citations improve?
Don’t expect a change the next day. Bots need 1 to 2 weeks to recrawl, and the model index takes another 1 to 2 weeks to update. So after technical fixes, wait at least 4 weeks, then run a fixed question set to see how citation rates change. This time lag has to be factored into GEO experiment design, or you’ll misjudge a working change as ineffective.
Should spec tables on a page be images or HTML tables?
Use real HTML tables. Bots can only read image tables through OCR, and number recognition is unreliable. HTML tables have thead and tbody, so the model can pull each row out as a fact. Put thresholds or conclusions in the first row so chunks can be recalled on their own. Localizing tables for multilingual sites follows separate rules, and you need to make sure numbers and units don’t get mixed across languages.

Final thoughts

Content teams often underestimate the technical side of GEO. Everyone is writing better articles, but no matter how good the article is, if bots can’t get in, come slowly, or can’t understand it, it’s all for nothing. The three layers of technical optimization are essentially paving the road for the model: open the gate first, then smooth the road, and finally paint the signs clearly.

Three steps to implement: this week, check the status codes of 5 AI bots in your server logs and whitelist the ones that are blocked. Next week, test TTFB and LCP with Lighthouse and get TTFB under 1.5 seconds. The third week, check your Schema trio with the Rich Results Test and fill in sitewide markup. Once these three things are done, wait 4 weeks and run your question set. You’ll see the first jump in citation rate.

One line worth remembering: GEO isn’t about pleasing users, it’s about paving the way for bots. Open the door, smooth the path, mark the signs clearly, and only then does your content reach the model.

Cui Lishu
Cui Lishu Crater experts

Delivery · Operations Lead · Crater Delivery & Operations Team

Delivery & Operations Lead at Crater. Responsible for SEO execution, social media channel operations, and content distribution, with a knack for breaking down growth actions with data. Has overseen the delivery of multiple go-global projects, with a focus on the coordinated playbook across Facebook, Twitter, TikTok, YouTube, and SEO/GEO.

SEO executionContent operationsCase breakdowns
1106articles shared
84knowledge base articles