seomd-cli 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/package.json +1 -2
- package/src/commands/analyze.js +10 -10
- package/src/commands/init.js +13 -26
- package/src/commands/status.js +19 -7
- package/src/commands/sync.js +6 -6
- package/src/generators/directory.js +33 -65
- package/src/templates/blog/SEO.md +0 -115
- package/src/templates/ecommerce/SEO.md +0 -115
- package/src/templates/local/SEO.md +0 -115
- package/src/templates/marketplace/SEO.md +0 -115
- package/src/templates/saas/SEO.md +0 -115
- package/src/utils/writeback.js +44 -52
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
### spec v1.0 | <https://seomd.dev>
|
|
6
6
|
|
|
7
|
-
#### generated: {{date}}
|
|
8
|
-
|
|
9
|
-
## FIELD OWNERSHIP
|
|
10
|
-
|
|
11
|
-
### no prefix = founder declares (you own this)
|
|
12
|
-
|
|
13
|
-
### _analysis: = platform writes back (do not edit manually)
|
|
14
|
-
|
|
15
7
|
## Site
|
|
16
8
|
|
|
17
9
|
site:
|
|
@@ -36,8 +28,6 @@ identity:
|
|
|
36
28
|
|
|
37
29
|
keywords:
|
|
38
30
|
|
|
39
|
-
### FOUNDER DECLARES
|
|
40
|
-
|
|
41
31
|
primary: "{{primary_keyword}}"
|
|
42
32
|
secondary: [] # add your secondary keywords
|
|
43
33
|
negative: # terms that dilute your intent signal
|
|
@@ -52,30 +42,10 @@ keywords:
|
|
|
52
42
|
long_tail: [] # add long-tail variations
|
|
53
43
|
seasonal: null # add seasonal terms if applicable
|
|
54
44
|
|
|
55
|
-
### PLATFORM WRITES BACK
|
|
56
|
-
|
|
57
|
-
_analysis:
|
|
58
|
-
source: null
|
|
59
|
-
primary_search_volume: null
|
|
60
|
-
primary_intent_type: null
|
|
61
|
-
primary_trend: null
|
|
62
|
-
recommended_secondary: []
|
|
63
|
-
negative_additions_suggested: []
|
|
64
|
-
last_analyzed: null
|
|
65
|
-
next_analysis: null
|
|
66
|
-
|
|
67
45
|
## Intent
|
|
68
46
|
|
|
69
47
|
intent:
|
|
70
48
|
|
|
71
|
-
### FOUNDER DECLARES
|
|
72
|
-
|
|
73
|
-
#### Add queries your buyers actually type into AI engines
|
|
74
|
-
|
|
75
|
-
#### Tip: think about what someone asks ChatGPT or Perplexity
|
|
76
|
-
|
|
77
|
-
#### when they are looking for a solution like yours
|
|
78
|
-
|
|
79
49
|
informational:
|
|
80
50
|
priority: low
|
|
81
51
|
queries:
|
|
@@ -108,47 +78,11 @@ intent:
|
|
|
108
78
|
- "best {{primary_keyword}}"
|
|
109
79
|
- "top {{primary_keyword}} 2026"
|
|
110
80
|
|
|
111
|
-
### PLATFORM WRITES BACK
|
|
112
|
-
|
|
113
|
-
_analysis:
|
|
114
|
-
source: null
|
|
115
|
-
last_analyzed: null
|
|
116
|
-
next_analysis: null
|
|
117
|
-
informational:
|
|
118
|
-
citation_rate: null
|
|
119
|
-
top_cited_competitor: null
|
|
120
|
-
gap_score: null
|
|
121
|
-
trend: null
|
|
122
|
-
comparison:
|
|
123
|
-
citation_rate: null
|
|
124
|
-
top_cited_competitor: null
|
|
125
|
-
gap_score: null
|
|
126
|
-
trend: null
|
|
127
|
-
transactional:
|
|
128
|
-
citation_rate: null
|
|
129
|
-
top_cited_competitor: null
|
|
130
|
-
gap_score: null
|
|
131
|
-
trend: null
|
|
132
|
-
reputational:
|
|
133
|
-
citation_rate: null
|
|
134
|
-
top_cited_competitor: null
|
|
135
|
-
gap_score: null
|
|
136
|
-
trend: null
|
|
137
|
-
category:
|
|
138
|
-
citation_rate: null
|
|
139
|
-
top_cited_competitor: null
|
|
140
|
-
gap_score: null
|
|
141
|
-
trend: null
|
|
142
|
-
|
|
143
81
|
## Pages
|
|
144
82
|
|
|
145
83
|
pages:
|
|
146
84
|
site_type: ecommerce
|
|
147
85
|
|
|
148
|
-
### FOUNDER DECLARES
|
|
149
|
-
|
|
150
|
-
#### status: live | draft | planned
|
|
151
|
-
|
|
152
86
|
required:
|
|
153
87
|
- id: homepage
|
|
154
88
|
url: /
|
|
@@ -192,21 +126,10 @@ pages:
|
|
|
192
126
|
status: planned
|
|
193
127
|
priority: 7
|
|
194
128
|
|
|
195
|
-
### PLATFORM WRITES BACK
|
|
196
|
-
|
|
197
|
-
_analysis:
|
|
198
|
-
source: null
|
|
199
|
-
last_analyzed: null
|
|
200
|
-
pages: []
|
|
201
|
-
missing_pages: []
|
|
202
|
-
build_order_recommendation: []
|
|
203
|
-
|
|
204
129
|
## Copy
|
|
205
130
|
|
|
206
131
|
copy:
|
|
207
132
|
|
|
208
|
-
### FOUNDER DECLARES
|
|
209
|
-
|
|
210
133
|
h1_contains_primary_keyword: true
|
|
211
134
|
meta_description_length: 150-160
|
|
212
135
|
meta_description_includes_cta: true
|
|
@@ -221,8 +144,6 @@ copy:
|
|
|
221
144
|
|
|
222
145
|
structure:
|
|
223
146
|
|
|
224
|
-
### FOUNDER DECLARES
|
|
225
|
-
|
|
226
147
|
answer_first: true # direct answer in first 50 words
|
|
227
148
|
faq_section_required: true # on all key pages
|
|
228
149
|
faq_minimum_questions: 6
|
|
@@ -235,8 +156,6 @@ structure:
|
|
|
235
156
|
|
|
236
157
|
authority:
|
|
237
158
|
|
|
238
|
-
### FOUNDER DECLARES
|
|
239
|
-
|
|
240
159
|
cite_sources: true
|
|
241
160
|
expert_quotes: false # set true when you have quotes
|
|
242
161
|
eeat_signals:
|
|
@@ -249,8 +168,6 @@ authority:
|
|
|
249
168
|
|
|
250
169
|
schema:
|
|
251
170
|
|
|
252
|
-
### FOUNDER DECLARES
|
|
253
|
-
|
|
254
171
|
types:
|
|
255
172
|
- Product
|
|
256
173
|
- Organization
|
|
@@ -264,8 +181,6 @@ schema:
|
|
|
264
181
|
|
|
265
182
|
crawl:
|
|
266
183
|
|
|
267
|
-
### FOUNDER DECLARES
|
|
268
|
-
|
|
269
184
|
sitemap: /sitemap.xml
|
|
270
185
|
robots_txt: /robots.txt
|
|
271
186
|
allow_ai_bots: true
|
|
@@ -288,8 +203,6 @@ crawl:
|
|
|
288
203
|
|
|
289
204
|
performance:
|
|
290
205
|
|
|
291
|
-
### FOUNDER DECLARES
|
|
292
|
-
|
|
293
206
|
lcp: 2.5s
|
|
294
207
|
cls: 0.1
|
|
295
208
|
fid: 100ms
|
|
@@ -300,10 +213,6 @@ performance:
|
|
|
300
213
|
|
|
301
214
|
aeo:
|
|
302
215
|
|
|
303
|
-
### FOUNDER DECLARES
|
|
304
|
-
|
|
305
|
-
### AI Engine Optimization rules
|
|
306
|
-
|
|
307
216
|
answer_first_format: true
|
|
308
217
|
faq_on_all_key_pages: true
|
|
309
218
|
structured_data_priority: high
|
|
@@ -311,27 +220,10 @@ aeo:
|
|
|
311
220
|
competitors_to_monitor:
|
|
312
221
|
{{competitors_to_monitor}}
|
|
313
222
|
|
|
314
|
-
### PLATFORM WRITES BACK
|
|
315
|
-
|
|
316
|
-
_analysis:
|
|
317
|
-
source: null
|
|
318
|
-
overall_citation_rate: null
|
|
319
|
-
overall_gap_score: null
|
|
320
|
-
engines_tracked:
|
|
321
|
-
- chatgpt
|
|
322
|
-
- perplexity
|
|
323
|
-
- claude
|
|
324
|
-
- gemini
|
|
325
|
-
- grok
|
|
326
|
-
last_analyzed: null
|
|
327
|
-
next_analysis: null
|
|
328
|
-
|
|
329
223
|
## Monitoring
|
|
330
224
|
|
|
331
225
|
monitoring:
|
|
332
226
|
|
|
333
|
-
### FOUNDER DECLARES
|
|
334
|
-
|
|
335
227
|
sync_schedule: monthly # monthly | weekly | on_demand
|
|
336
228
|
auto_commit: false # platform commits directly to repo
|
|
337
229
|
pr_mode: true # open PR instead of direct commit
|
|
@@ -341,14 +233,7 @@ monitoring:
|
|
|
341
233
|
|
|
342
234
|
## Platform Connection
|
|
343
235
|
|
|
344
|
-
### Connect at <https://seomd.dev/connect>
|
|
345
|
-
|
|
346
|
-
### Add SEOMD_API_KEY to your .env file
|
|
347
|
-
|
|
348
|
-
### Never commit your API key to version control
|
|
349
|
-
|
|
350
236
|
platform:
|
|
351
237
|
provider: null # foxcite | manual | ahrefs | semrush
|
|
352
238
|
project_id: null
|
|
353
239
|
|
|
354
|
-
### api_key: loaded from SEOMD_API_KEY environment variable
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
### spec v1.0 | <https://seomd.dev>
|
|
6
6
|
|
|
7
|
-
#### generated: {{date}}
|
|
8
|
-
|
|
9
|
-
## FIELD OWNERSHIP
|
|
10
|
-
|
|
11
|
-
### no prefix = founder declares (you own this)
|
|
12
|
-
|
|
13
|
-
### _analysis: = platform writes back (do not edit manually)
|
|
14
|
-
|
|
15
7
|
## Site
|
|
16
8
|
|
|
17
9
|
site:
|
|
@@ -36,8 +28,6 @@ identity:
|
|
|
36
28
|
|
|
37
29
|
keywords:
|
|
38
30
|
|
|
39
|
-
### FOUNDER DECLARES
|
|
40
|
-
|
|
41
31
|
primary: "{{primary_keyword}}"
|
|
42
32
|
secondary: [] # add your secondary keywords
|
|
43
33
|
negative: # terms that dilute your intent signal
|
|
@@ -52,30 +42,10 @@ keywords:
|
|
|
52
42
|
long_tail: [] # add long-tail variations
|
|
53
43
|
seasonal: null # add seasonal terms if applicable
|
|
54
44
|
|
|
55
|
-
### PLATFORM WRITES BACK
|
|
56
|
-
|
|
57
|
-
_analysis:
|
|
58
|
-
source: null
|
|
59
|
-
primary_search_volume: null
|
|
60
|
-
primary_intent_type: null
|
|
61
|
-
primary_trend: null
|
|
62
|
-
recommended_secondary: []
|
|
63
|
-
negative_additions_suggested: []
|
|
64
|
-
last_analyzed: null
|
|
65
|
-
next_analysis: null
|
|
66
|
-
|
|
67
45
|
## Intent
|
|
68
46
|
|
|
69
47
|
intent:
|
|
70
48
|
|
|
71
|
-
### FOUNDER DECLARES
|
|
72
|
-
|
|
73
|
-
#### Add queries your buyers actually type into AI engines
|
|
74
|
-
|
|
75
|
-
#### Tip: think about what someone asks ChatGPT or Perplexity
|
|
76
|
-
|
|
77
|
-
#### when they are looking for a solution like yours
|
|
78
|
-
|
|
79
49
|
informational:
|
|
80
50
|
priority: medium
|
|
81
51
|
queries:
|
|
@@ -108,47 +78,11 @@ intent:
|
|
|
108
78
|
- "best {{primary_keyword}}"
|
|
109
79
|
- "top {{primary_keyword}} 2026"
|
|
110
80
|
|
|
111
|
-
### PLATFORM WRITES BACK
|
|
112
|
-
|
|
113
|
-
_analysis:
|
|
114
|
-
source: null
|
|
115
|
-
last_analyzed: null
|
|
116
|
-
next_analysis: null
|
|
117
|
-
informational:
|
|
118
|
-
citation_rate: null
|
|
119
|
-
top_cited_competitor: null
|
|
120
|
-
gap_score: null
|
|
121
|
-
trend: null
|
|
122
|
-
comparison:
|
|
123
|
-
citation_rate: null
|
|
124
|
-
top_cited_competitor: null
|
|
125
|
-
gap_score: null
|
|
126
|
-
trend: null
|
|
127
|
-
transactional:
|
|
128
|
-
citation_rate: null
|
|
129
|
-
top_cited_competitor: null
|
|
130
|
-
gap_score: null
|
|
131
|
-
trend: null
|
|
132
|
-
reputational:
|
|
133
|
-
citation_rate: null
|
|
134
|
-
top_cited_competitor: null
|
|
135
|
-
gap_score: null
|
|
136
|
-
trend: null
|
|
137
|
-
category:
|
|
138
|
-
citation_rate: null
|
|
139
|
-
top_cited_competitor: null
|
|
140
|
-
gap_score: null
|
|
141
|
-
trend: null
|
|
142
|
-
|
|
143
81
|
## Pages
|
|
144
82
|
|
|
145
83
|
pages:
|
|
146
84
|
site_type: local
|
|
147
85
|
|
|
148
|
-
### FOUNDER DECLARES
|
|
149
|
-
|
|
150
|
-
#### status: live | draft | planned
|
|
151
|
-
|
|
152
86
|
required:
|
|
153
87
|
- id: homepage
|
|
154
88
|
url: /
|
|
@@ -198,21 +132,10 @@ pages:
|
|
|
198
132
|
status: planned
|
|
199
133
|
priority: 8
|
|
200
134
|
|
|
201
|
-
### PLATFORM WRITES BACK
|
|
202
|
-
|
|
203
|
-
_analysis:
|
|
204
|
-
source: null
|
|
205
|
-
last_analyzed: null
|
|
206
|
-
pages: []
|
|
207
|
-
missing_pages: []
|
|
208
|
-
build_order_recommendation: []
|
|
209
|
-
|
|
210
135
|
## Copy
|
|
211
136
|
|
|
212
137
|
copy:
|
|
213
138
|
|
|
214
|
-
### FOUNDER DECLARES
|
|
215
|
-
|
|
216
139
|
h1_contains_primary_keyword: true
|
|
217
140
|
meta_description_length: 150-160
|
|
218
141
|
meta_description_includes_cta: true
|
|
@@ -227,8 +150,6 @@ copy:
|
|
|
227
150
|
|
|
228
151
|
structure:
|
|
229
152
|
|
|
230
|
-
### FOUNDER DECLARES
|
|
231
|
-
|
|
232
153
|
answer_first: true # direct answer in first 50 words
|
|
233
154
|
faq_section_required: true # on all key pages
|
|
234
155
|
faq_minimum_questions: 6
|
|
@@ -241,8 +162,6 @@ structure:
|
|
|
241
162
|
|
|
242
163
|
authority:
|
|
243
164
|
|
|
244
|
-
### FOUNDER DECLARES
|
|
245
|
-
|
|
246
165
|
cite_sources: true
|
|
247
166
|
expert_quotes: false # set true when you have quotes
|
|
248
167
|
eeat_signals:
|
|
@@ -255,8 +174,6 @@ authority:
|
|
|
255
174
|
|
|
256
175
|
schema:
|
|
257
176
|
|
|
258
|
-
### FOUNDER DECLARES
|
|
259
|
-
|
|
260
177
|
types:
|
|
261
178
|
- LocalBusiness
|
|
262
179
|
- FAQPage
|
|
@@ -270,8 +187,6 @@ schema:
|
|
|
270
187
|
|
|
271
188
|
crawl:
|
|
272
189
|
|
|
273
|
-
### FOUNDER DECLARES
|
|
274
|
-
|
|
275
190
|
sitemap: /sitemap.xml
|
|
276
191
|
robots_txt: /robots.txt
|
|
277
192
|
allow_ai_bots: true
|
|
@@ -294,8 +209,6 @@ crawl:
|
|
|
294
209
|
|
|
295
210
|
performance:
|
|
296
211
|
|
|
297
|
-
### FOUNDER DECLARES
|
|
298
|
-
|
|
299
212
|
lcp: 2.5s
|
|
300
213
|
cls: 0.1
|
|
301
214
|
fid: 100ms
|
|
@@ -306,10 +219,6 @@ performance:
|
|
|
306
219
|
|
|
307
220
|
aeo:
|
|
308
221
|
|
|
309
|
-
### FOUNDER DECLARES
|
|
310
|
-
|
|
311
|
-
### AI Engine Optimization rules
|
|
312
|
-
|
|
313
222
|
answer_first_format: true
|
|
314
223
|
faq_on_all_key_pages: true
|
|
315
224
|
structured_data_priority: high
|
|
@@ -317,27 +226,10 @@ aeo:
|
|
|
317
226
|
competitors_to_monitor:
|
|
318
227
|
{{competitors_to_monitor}}
|
|
319
228
|
|
|
320
|
-
### PLATFORM WRITES BACK
|
|
321
|
-
|
|
322
|
-
_analysis:
|
|
323
|
-
source: null
|
|
324
|
-
overall_citation_rate: null
|
|
325
|
-
overall_gap_score: null
|
|
326
|
-
engines_tracked:
|
|
327
|
-
- chatgpt
|
|
328
|
-
- perplexity
|
|
329
|
-
- claude
|
|
330
|
-
- gemini
|
|
331
|
-
- grok
|
|
332
|
-
last_analyzed: null
|
|
333
|
-
next_analysis: null
|
|
334
|
-
|
|
335
229
|
## Monitoring
|
|
336
230
|
|
|
337
231
|
monitoring:
|
|
338
232
|
|
|
339
|
-
### FOUNDER DECLARES
|
|
340
|
-
|
|
341
233
|
sync_schedule: monthly # monthly | weekly | on_demand
|
|
342
234
|
auto_commit: false # platform commits directly to repo
|
|
343
235
|
pr_mode: true # open PR instead of direct commit
|
|
@@ -347,14 +239,7 @@ monitoring:
|
|
|
347
239
|
|
|
348
240
|
## Platform Connection
|
|
349
241
|
|
|
350
|
-
### Connect at <https://seomd.dev/connect>
|
|
351
|
-
|
|
352
|
-
### Add SEOMD_API_KEY to your .env file
|
|
353
|
-
|
|
354
|
-
### Never commit your API key to version control
|
|
355
|
-
|
|
356
242
|
platform:
|
|
357
243
|
provider: null # foxcite | manual | ahrefs | semrush
|
|
358
244
|
project_id: null
|
|
359
245
|
|
|
360
|
-
### api_key: loaded from SEOMD_API_KEY environment variable
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
### spec v1.0 | <https://seomd.dev>
|
|
6
6
|
|
|
7
|
-
#### generated: {{date}}
|
|
8
|
-
|
|
9
|
-
## FIELD OWNERSHIP
|
|
10
|
-
|
|
11
|
-
### no prefix = founder declares (you own this)
|
|
12
|
-
|
|
13
|
-
### _analysis: = platform writes back (do not edit manually)
|
|
14
|
-
|
|
15
7
|
## Site
|
|
16
8
|
|
|
17
9
|
site:
|
|
@@ -36,8 +28,6 @@ identity:
|
|
|
36
28
|
|
|
37
29
|
keywords:
|
|
38
30
|
|
|
39
|
-
### FOUNDER DECLARES
|
|
40
|
-
|
|
41
31
|
primary: "{{primary_keyword}}"
|
|
42
32
|
secondary: [] # add your secondary keywords
|
|
43
33
|
negative: # terms that dilute your intent signal
|
|
@@ -52,30 +42,10 @@ keywords:
|
|
|
52
42
|
long_tail: [] # add long-tail variations
|
|
53
43
|
seasonal: null # add seasonal terms if applicable
|
|
54
44
|
|
|
55
|
-
### PLATFORM WRITES BACK
|
|
56
|
-
|
|
57
|
-
_analysis:
|
|
58
|
-
source: null
|
|
59
|
-
primary_search_volume: null
|
|
60
|
-
primary_intent_type: null
|
|
61
|
-
primary_trend: null
|
|
62
|
-
recommended_secondary: []
|
|
63
|
-
negative_additions_suggested: []
|
|
64
|
-
last_analyzed: null
|
|
65
|
-
next_analysis: null
|
|
66
|
-
|
|
67
45
|
## Intent
|
|
68
46
|
|
|
69
47
|
intent:
|
|
70
48
|
|
|
71
|
-
### FOUNDER DECLARES
|
|
72
|
-
|
|
73
|
-
#### Add queries your buyers actually type into AI engines
|
|
74
|
-
|
|
75
|
-
#### Tip: think about what someone asks ChatGPT or Perplexity
|
|
76
|
-
|
|
77
|
-
#### when they are looking for a solution like yours
|
|
78
|
-
|
|
79
49
|
informational:
|
|
80
50
|
priority: medium
|
|
81
51
|
queries:
|
|
@@ -108,47 +78,11 @@ intent:
|
|
|
108
78
|
- "best {{primary_keyword}}"
|
|
109
79
|
- "top {{primary_keyword}} 2026"
|
|
110
80
|
|
|
111
|
-
### PLATFORM WRITES BACK
|
|
112
|
-
|
|
113
|
-
_analysis:
|
|
114
|
-
source: null
|
|
115
|
-
last_analyzed: null
|
|
116
|
-
next_analysis: null
|
|
117
|
-
informational:
|
|
118
|
-
citation_rate: null
|
|
119
|
-
top_cited_competitor: null
|
|
120
|
-
gap_score: null
|
|
121
|
-
trend: null
|
|
122
|
-
comparison:
|
|
123
|
-
citation_rate: null
|
|
124
|
-
top_cited_competitor: null
|
|
125
|
-
gap_score: null
|
|
126
|
-
trend: null
|
|
127
|
-
transactional:
|
|
128
|
-
citation_rate: null
|
|
129
|
-
top_cited_competitor: null
|
|
130
|
-
gap_score: null
|
|
131
|
-
trend: null
|
|
132
|
-
reputational:
|
|
133
|
-
citation_rate: null
|
|
134
|
-
top_cited_competitor: null
|
|
135
|
-
gap_score: null
|
|
136
|
-
trend: null
|
|
137
|
-
category:
|
|
138
|
-
citation_rate: null
|
|
139
|
-
top_cited_competitor: null
|
|
140
|
-
gap_score: null
|
|
141
|
-
trend: null
|
|
142
|
-
|
|
143
81
|
## Pages
|
|
144
82
|
|
|
145
83
|
pages:
|
|
146
84
|
site_type: marketplace
|
|
147
85
|
|
|
148
|
-
### FOUNDER DECLARES
|
|
149
|
-
|
|
150
|
-
#### status: live | draft | planned
|
|
151
|
-
|
|
152
86
|
required:
|
|
153
87
|
- id: homepage
|
|
154
88
|
url: /
|
|
@@ -198,21 +132,10 @@ pages:
|
|
|
198
132
|
status: planned
|
|
199
133
|
priority: 8
|
|
200
134
|
|
|
201
|
-
### PLATFORM WRITES BACK
|
|
202
|
-
|
|
203
|
-
_analysis:
|
|
204
|
-
source: null
|
|
205
|
-
last_analyzed: null
|
|
206
|
-
pages: []
|
|
207
|
-
missing_pages: []
|
|
208
|
-
build_order_recommendation: []
|
|
209
|
-
|
|
210
135
|
## Copy
|
|
211
136
|
|
|
212
137
|
copy:
|
|
213
138
|
|
|
214
|
-
### FOUNDER DECLARES
|
|
215
|
-
|
|
216
139
|
h1_contains_primary_keyword: true
|
|
217
140
|
meta_description_length: 150-160
|
|
218
141
|
meta_description_includes_cta: true
|
|
@@ -227,8 +150,6 @@ copy:
|
|
|
227
150
|
|
|
228
151
|
structure:
|
|
229
152
|
|
|
230
|
-
### FOUNDER DECLARES
|
|
231
|
-
|
|
232
153
|
answer_first: true # direct answer in first 50 words
|
|
233
154
|
faq_section_required: true # on all key pages
|
|
234
155
|
faq_minimum_questions: 6
|
|
@@ -241,8 +162,6 @@ structure:
|
|
|
241
162
|
|
|
242
163
|
authority:
|
|
243
164
|
|
|
244
|
-
### FOUNDER DECLARES
|
|
245
|
-
|
|
246
165
|
cite_sources: true
|
|
247
166
|
expert_quotes: false # set true when you have quotes
|
|
248
167
|
eeat_signals:
|
|
@@ -255,8 +174,6 @@ authority:
|
|
|
255
174
|
|
|
256
175
|
schema:
|
|
257
176
|
|
|
258
|
-
### FOUNDER DECLARES
|
|
259
|
-
|
|
260
177
|
types:
|
|
261
178
|
- WebSite
|
|
262
179
|
- Organization
|
|
@@ -270,8 +187,6 @@ schema:
|
|
|
270
187
|
|
|
271
188
|
crawl:
|
|
272
189
|
|
|
273
|
-
### FOUNDER DECLARES
|
|
274
|
-
|
|
275
190
|
sitemap: /sitemap.xml
|
|
276
191
|
robots_txt: /robots.txt
|
|
277
192
|
allow_ai_bots: true
|
|
@@ -294,8 +209,6 @@ crawl:
|
|
|
294
209
|
|
|
295
210
|
performance:
|
|
296
211
|
|
|
297
|
-
### FOUNDER DECLARES
|
|
298
|
-
|
|
299
212
|
lcp: 2.5s
|
|
300
213
|
cls: 0.1
|
|
301
214
|
fid: 100ms
|
|
@@ -306,10 +219,6 @@ performance:
|
|
|
306
219
|
|
|
307
220
|
aeo:
|
|
308
221
|
|
|
309
|
-
### FOUNDER DECLARES
|
|
310
|
-
|
|
311
|
-
### AI Engine Optimization rules
|
|
312
|
-
|
|
313
222
|
answer_first_format: true
|
|
314
223
|
faq_on_all_key_pages: true
|
|
315
224
|
structured_data_priority: high
|
|
@@ -317,27 +226,10 @@ aeo:
|
|
|
317
226
|
competitors_to_monitor:
|
|
318
227
|
{{competitors_to_monitor}}
|
|
319
228
|
|
|
320
|
-
### PLATFORM WRITES BACK
|
|
321
|
-
|
|
322
|
-
_analysis:
|
|
323
|
-
source: null
|
|
324
|
-
overall_citation_rate: null
|
|
325
|
-
overall_gap_score: null
|
|
326
|
-
engines_tracked:
|
|
327
|
-
- chatgpt
|
|
328
|
-
- perplexity
|
|
329
|
-
- claude
|
|
330
|
-
- gemini
|
|
331
|
-
- grok
|
|
332
|
-
last_analyzed: null
|
|
333
|
-
next_analysis: null
|
|
334
|
-
|
|
335
229
|
## Monitoring
|
|
336
230
|
|
|
337
231
|
monitoring:
|
|
338
232
|
|
|
339
|
-
### FOUNDER DECLARES
|
|
340
|
-
|
|
341
233
|
sync_schedule: monthly # monthly | weekly | on_demand
|
|
342
234
|
auto_commit: false # platform commits directly to repo
|
|
343
235
|
pr_mode: true # open PR instead of direct commit
|
|
@@ -347,14 +239,7 @@ monitoring:
|
|
|
347
239
|
|
|
348
240
|
## Platform Connection
|
|
349
241
|
|
|
350
|
-
### Connect at <https://seomd.dev/connect>
|
|
351
|
-
|
|
352
|
-
### Add SEOMD_API_KEY to your .env file
|
|
353
|
-
|
|
354
|
-
### Never commit your API key to version control
|
|
355
|
-
|
|
356
242
|
platform:
|
|
357
243
|
provider: null # foxcite | manual | ahrefs | semrush
|
|
358
244
|
project_id: null
|
|
359
245
|
|
|
360
|
-
### api_key: loaded from SEOMD_API_KEY environment variable
|