1 # GEO Technical Optimization Checklist
2
3 Technical optimizations that help AI engines discover, parse, and cite your content.
4
5 ## Schema Markup (JSON-LD)
6
7 Schema markup helps AI engines understand content type and structure. Use JSON-LD format in the `<head>` or end of `<body>`.
8
9 ### By Content Type
10
11 **Article / Blog Post:**
12
13 ```json
14
15 {
16
17 "@context": "https://schema.org",
18
19 "@type": "Article",
20
21 "headline": "How to Choose the Right CRM for Your Business",
22
23 "author": {
24
25 "@type": "Person",
26
27 "name": "Jane Smith",
28
29 "jobTitle": "CRM Consultant",
30
31 "url": "https://example.com/about/jane-smith"
32
33 },
34
35 "datePublished": "2025-01-15",
36
37 "dateModified": "2025-03-20",
38
39 "publisher": {
40
41 "@type": "Organization",
42
43 "name": "Example Inc."
44
45 },
46
47 "description": "A comprehensive guide to selecting the right CRM system based on team size, budget, and use case."
48
49 }
50
51 ```
52
53 **FAQ Page:**
54
55 ```json
56
57 {
58
59 "@context": "https://schema.org",
60
61 "@type": "FAQPage",
62
63 "mainEntity": [
64
65 {
66
67 "@type": "Question",
68
69 "name": "How much does a CRM cost?",
70
71 "acceptedAnswer": {
72
73 "@type": "Answer",
74
75 "text": "CRM pricing ranges from free for basic tools to $300+/user/month for enterprise solutions. Most small businesses spend $12-$50/user/month."
76
77 }
78
79 }
80
81 ]
82
83 }
84
85 ```
86
87 **HowTo (step-by-step guides):**
88
89 ```json
90
91 {
92
93 "@context": "https://schema.org",
94
95 "@type": "HowTo",
96
97 "name": "How to Set Up a CRM in 5 Steps",
98
99 "step": [
100
101 {
102
103 "@type": "HowToStep",
104
105 "name": "Define your requirements",
106
107 "text": "List the features your team needs: contact management, pipeline tracking, email integration, reporting."
108
109 }
110
111 ]
112
113 }
114
115 ```
116
117 **Product Page:**
118
119 ```json
120
121 {
122
123 "@context": "https://schema.org",
124
125 "@type": "Product",
126
127 "name": "ProductName Pro",
128
129 "description": "...",
130
131 "offers": {
132
133 "@type": "Offer",
134
135 "price": "29.99",
136
137 "priceCurrency": "USD"
138
139 },
140
141 "aggregateRating": {
142
143 "@type": "AggregateRating",
144
145 "ratingValue": "4.7",
146
147 "reviewCount": "1250"
148
149 }
150
151 }
152
153 ```
154
155 **Organization (site-wide, placed on homepage):**
156
157 ```json
158
159 {
160
161 "@context": "https://schema.org",
162
163 "@type": "Organization",
164
165 "name": "Example Inc.",
166
167 "url": "https://example.com",
168
169 "foundingDate": "2018",
170
171 "description": "...",
172
173 "sameAs": [
174
175 "https://twitter.com/example",
176
177 "https://linkedin.com/company/example"
178
179 ]
180
181 }
182
183 ```
184
185 ## Meta Description Optimization
186
187 AI engines sometimes use meta descriptions as quick summaries. Optimize them for extraction:
188
189 - Write the meta description as a direct answer to the primary query the page targets
190 - Keep under 155-160 characters
191
192 - Include one key data point or specific claim
193 - Avoid generic marketing language
194
195 **Good:** `"Kitchen renovations cost $15,000-$45,000 on average in 2025. Scope, materials, and location are the biggest cost factors."`
196
197 **Bad:** `"Learn everything you need to know about kitchen renovations. Click to read more!"`
198
199 ## Semantic HTML
200
201 Clean HTML structure helps crawlers parse content accurately:
202
203 - Use `<article>` for the main content body
204 - Use `<section>` to group thematic content blocks
205
206 - Use `<header>`, `<nav>`, `<main>`, `<footer>` for page regions
207 - Use `<figure>` and `<figcaption>` for images with descriptions
208
209 - Use `<table>` for tabular data (not divs styled as tables)
210 - Use `<blockquote>` and `<cite>` for quoted material
211
212 - Maintain proper heading hierarchy (H1 > H2 > H3, no skipped levels)
213 - Use `<time datetime="2025-01-15">` for dates
214
215 ## Page Performance
216
217 AI engine crawlers have timeouts. Slow pages may not get fully indexed:
218
219 - Target < 3 second load time
220 - Minimize render-blocking JavaScript
221
222 - Ensure content is in the initial HTML (not loaded via client-side JS after page load) — server-side rendering or static generation is strongly preferred
223 - Use lazy loading for below-fold images, but ensure above-fold content loads immediately
224
225 - Compress images appropriately
226
227 ## Crawlability
228
229 - Ensure pages are accessible to crawlers (not blocked by robots.txt)
230 - Submit XML sitemaps to search engines
231
232 - Use canonical URLs to avoid duplicate content issues
233 - Internal linking between related content helps crawlers discover depth
234
235 - Avoid JavaScript-only navigation that crawlers can't follow
236
237 ## Content Accessibility Signals
238
239 - Alt text on all images (descriptive, not keyword-stuffed)
240 - Proper link text (descriptive, not "click here")
241
242 - Language attribute on HTML tag
243 - Character encoding declaration (UTF-8)
244
245 ## robots.txt Considerations
246
247 Major AI crawlers use specific user agents. Be aware of these if you want to control AI engine access:
248
249 - `GPTBot` — OpenAI's crawler
250 - `Google-Extended` — Google's AI training crawler (separate from Googlebot)
251
252 - `CCBot` — Common Crawl (used by many AI training datasets)
253 - `PerplexityBot` — Perplexity's crawler
254
255 - `ClaudeBot` — Anthropic's crawler
256
257 To be cited by AI engines, ensure these crawlers are NOT blocked. If they are blocked in robots.txt, your content cannot be indexed or cited.