seo 0.2.20 → 0.2.22
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 +34 -5
- package/dist/cli.js +115 -115
- package/dist/cli.js.map +1 -1
- package/dist/{dist-CtDv7OFQ.js → dist-DNsXiggv.js} +122 -122
- package/dist/dist-DNsXiggv.js.map +1 -0
- package/dist/{dist-DXAAiZSX.js → dist-DhQXrgg2.js} +1 -1
- package/dist/{esm-DvJj2-vq.js → esm-insIkRuo.js} +2 -2
- package/dist/{esm-DvJj2-vq.js.map → esm-insIkRuo.js.map} +1 -1
- package/dist/index.d.ts +828 -158
- package/dist/index.js +2327 -640
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +2501 -662
- package/dist/mcp.js.map +1 -1
- package/evals/link-evidence.json +13 -0
- package/evals/local-search-demand.json +41 -0
- package/package.json +1 -1
- package/skills/seo/SKILL.md +4 -3
- package/dist/dist-CtDv7OFQ.js.map +0 -1
package/README.md
CHANGED
|
@@ -70,7 +70,8 @@ through adding your own desktop OAuth client.
|
|
|
70
70
|
|
|
71
71
|
Research providers are optional and connected separately. Start with the main
|
|
72
72
|
report, then add DataForSEO when keyword estimates, live results, domain
|
|
73
|
-
footprints, ranking pages,
|
|
73
|
+
footprints, ranking pages, competitor research, or exact local result context
|
|
74
|
+
would change the decision.
|
|
74
75
|
|
|
75
76
|
That is the normal path. The `seo` command is then available in every terminal,
|
|
76
77
|
script, CI job, and local MCP client on the machine.
|
|
@@ -133,6 +134,8 @@ Use `seo help all` for the longer command list.
|
|
|
133
134
|
ranks.
|
|
134
135
|
- Detect repeated first-party and competitor page patterns, then return bounded
|
|
135
136
|
data-source research briefs before proposing a new programmatic template.
|
|
137
|
+
- Find location-specific Search Console demand and repeated local page patterns,
|
|
138
|
+
then add a few exact local result snapshots when the decision needs them.
|
|
136
139
|
- Give scripts and agents deterministic JSON, Markdown, stable rule IDs, and a
|
|
137
140
|
compact local MCP surface.
|
|
138
141
|
|
|
@@ -209,6 +212,7 @@ commands:
|
|
|
209
212
|
seo reports describe keyword-research --json
|
|
210
213
|
seo reports describe domain-overview --json
|
|
211
214
|
seo reports describe competitor-keyword-gap --json
|
|
215
|
+
seo reports describe local-search-demand --json
|
|
212
216
|
|
|
213
217
|
seo reports run domain-overview \
|
|
214
218
|
--params '{"domain":"example.com","countryCode":"GB","languageCode":"en"}' \
|
|
@@ -228,13 +232,21 @@ The research flow now covers:
|
|
|
228
232
|
community, or marketplace;
|
|
229
233
|
- `competitor-keyword-gap` for comparing up to three relevant domains with
|
|
230
234
|
retained Search Console themes, the site's provider-observed rankings, and
|
|
231
|
-
programmatic page patterns
|
|
235
|
+
programmatic page patterns;
|
|
236
|
+
- `local-search-demand` for matching explicit place names, nearby phrases, and
|
|
237
|
+
postal codes in retained Search Console rows, reviewing repeated local page
|
|
238
|
+
patterns, and optionally adding up to three exact local result snapshots;
|
|
239
|
+
- `link-evidence` for a current link summary, one representative backlink per
|
|
240
|
+
referring domain, and linked-target checks against saved crawl and Search
|
|
241
|
+
Console evidence.
|
|
232
242
|
|
|
233
243
|
Provider traffic, volume, difficulty, intent, visibility, and ranking history
|
|
234
244
|
are estimates. Search Console remains the evidence for measured search
|
|
235
245
|
performance on a property you own. A live result snapshot remains the evidence
|
|
236
246
|
for one query, market, device, and observation time. Reports can combine these
|
|
237
247
|
sources without blending their meanings or turning a missing row into zero.
|
|
248
|
+
Local query wording does not establish the searcher's physical location, and an
|
|
249
|
+
observed local pack does not establish that a particular listing appeared.
|
|
238
250
|
|
|
239
251
|
Read the [research provider guide](https://seoskill.dev/docs/research-providers)
|
|
240
252
|
for setup, costs, caching, country-level limits, competitor classification, and
|
|
@@ -269,18 +281,35 @@ evidence remain distinct. Bing's `inIndex` crawl statistic is provider
|
|
|
269
281
|
evidence, not URL-level proof that a page is indexed. A query or page missing
|
|
270
282
|
from a weekly top list is unknown, not zero.
|
|
271
283
|
|
|
272
|
-
|
|
273
|
-
|
|
284
|
+
Review a bounded set of referring links from DataForSEO, Bing or a local
|
|
285
|
+
export:
|
|
274
286
|
|
|
275
287
|
```sh
|
|
288
|
+
seo links --provider dataforseo --target example.com --json
|
|
289
|
+
seo links --provider dataforseo --target example.com \
|
|
290
|
+
--search-site sc-domain:example.com --json
|
|
276
291
|
seo links --project example --json
|
|
277
292
|
seo links --file ./links.csv --row-limit 10000 --json
|
|
278
293
|
```
|
|
279
294
|
|
|
295
|
+
The DataForSEO path makes two sequential paid requests by default: one summary
|
|
296
|
+
and up to 100 live representative backlinks, one per referring domain. Current
|
|
297
|
+
endpoint prices, estimated and actual cost, task ids, cache state, provider
|
|
298
|
+
filters, row coverage and omitted rows stay in the result. A cached repeat
|
|
299
|
+
does not repeat paid work during the retention window.
|
|
300
|
+
|
|
301
|
+
When a matching saved crawl or Search Console property is available, the same
|
|
302
|
+
report checks linked target pages for observed error responses, redirects,
|
|
303
|
+
canonical conflicts and non-indexable states. Search Console metrics add
|
|
304
|
+
first-party context without turning a missing retained page row into zero.
|
|
305
|
+
Verify the live target and the referring page before changing anything.
|
|
306
|
+
|
|
280
307
|
CSV and JSONL imports stream from disk. Regular JSON arrays have a smaller
|
|
281
308
|
file limit to avoid a memory spike. Every result includes the number of rows
|
|
282
309
|
read, rejected, deduplicated, omitted, or stopped by a limit. It is evidence
|
|
283
|
-
from the selected source, not a complete backlink index
|
|
310
|
+
from the selected source, not a complete backlink index. Provider rank and
|
|
311
|
+
spam metrics keep their provider-specific names and scales. They are context,
|
|
312
|
+
not search-engine ranking factors or universal authority scores.
|
|
284
313
|
|
|
285
314
|
## Create an HTML report for a client
|
|
286
315
|
|