seo 0.3.0 → 0.4.1
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/PRIVACY.md +10 -10
- package/README.md +38 -27
- package/SECURITY.md +2 -2
- package/dist/cli.js +85 -229
- package/dist/cli.js.map +1 -1
- package/dist/dist-DjclF3Qk.js +334 -0
- package/dist/dist-DjclF3Qk.js.map +1 -0
- package/dist/{dist-C9P8dY80.js → dist-FO7n-64s.js} +1 -1
- package/dist/index.d.ts +507 -1657
- package/dist/index.js +11229 -14720
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +2 -2
- package/dist/mcp.js +5079 -8890
- package/dist/mcp.js.map +1 -1
- package/dist/{package-7H_jIpAz.js → package-CeYsRRpB.js} +2 -2
- package/dist/{package-7H_jIpAz.js.map → package-CeYsRRpB.js.map} +1 -1
- package/evals/seo.json +2 -2
- package/package.json +5 -4
- package/skills/seo/SKILL.md +10 -11
- package/dist/dist-wSAqXmM1.js +0 -698
- package/dist/dist-wSAqXmM1.js.map +0 -1
package/PRIVACY.md
CHANGED
|
@@ -86,9 +86,9 @@ read-only access to:
|
|
|
86
86
|
access.
|
|
87
87
|
|
|
88
88
|
The software uses this data to list properties, run the report you requested,
|
|
89
|
-
join search or analytics evidence to crawl findings
|
|
90
|
-
history
|
|
91
|
-
|
|
89
|
+
and join search or analytics evidence to crawl findings. It does not save
|
|
90
|
+
report history. It does not use Google data for advertising or to train
|
|
91
|
+
general-purpose AI models.
|
|
92
92
|
|
|
93
93
|
The shared desktop OAuth client identifies the `seo` app to Google. OAuth
|
|
94
94
|
tokens and API responses are returned to your machine, not to the project
|
|
@@ -105,7 +105,7 @@ site ID, sitekey, requested report type, date range, and row limit directly to
|
|
|
105
105
|
Clicky over HTTPS. It can read the traffic data that sitekey permits. The
|
|
106
106
|
project maintainer does not receive the request or response.
|
|
107
107
|
|
|
108
|
-
The site ID is saved in the
|
|
108
|
+
The site ID is saved in the local configuration. The sitekey uses the operating
|
|
109
109
|
system keychain when available, with a private local file fallback. Agents and
|
|
110
110
|
CI can use `SEO_CLICKY_SITEKEY` without saving it. Clicky responses are cached
|
|
111
111
|
locally for up to 24 hours, and cache keys and cached responses do not contain
|
|
@@ -123,8 +123,8 @@ server does not read Bing data.
|
|
|
123
123
|
|
|
124
124
|
## How Google data is protected
|
|
125
125
|
|
|
126
|
-
The software stores
|
|
127
|
-
|
|
126
|
+
The software stores settings, OAuth tokens, cached API responses, and logs in
|
|
127
|
+
local user directories. It does not save reports or crawls. It does not
|
|
128
128
|
upload Google API responses to a hosted SEO account or project database.
|
|
129
129
|
Google API requests go directly from your machine to Google over HTTPS. The
|
|
130
130
|
software does not send Search Console data to a research provider. `seo
|
|
@@ -159,10 +159,10 @@ run, expired rows may remain in the local cache file until you delete them.
|
|
|
159
159
|
Run `seo cache clear --provider google-analytics` to remove cached Google
|
|
160
160
|
Analytics responses immediately. Run `seo cache clear --provider gsc` to do
|
|
161
161
|
the same for Search Console. Run `seo cache clear --provider clicky` to remove
|
|
162
|
-
cached Clicky responses.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
cached Clicky responses. Settings and saved provider credentials remain until
|
|
163
|
+
you delete them with the relevant command or run `seo reset --yes`. The reset
|
|
164
|
+
command removes Google tokens, local configuration, caches, logs, any
|
|
165
|
+
histories or reports saved by earlier versions, and saved provider
|
|
166
166
|
credentials. It removes active keychain credentials before deleting local
|
|
167
167
|
files. If the keychain refuses a deletion, reset stops and tells you to unlock
|
|
168
168
|
it before trying again.
|
package/README.md
CHANGED
|
@@ -58,15 +58,16 @@ npm i -g seo
|
|
|
58
58
|
seo start
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
`seo start` signs you in with Google
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
`seo start` signs you in with Google. Then it offers to add an MCP server to
|
|
62
|
+
the agents it finds (the free hosted server is the first choice, or you can
|
|
63
|
+
run one locally) and to install the skill. That is all it asks. Nothing about
|
|
64
|
+
your site is saved: each command names the site it works on.
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
List the properties your sign-in can read, then run the main report for one:
|
|
67
67
|
|
|
68
68
|
```sh
|
|
69
|
-
seo
|
|
69
|
+
seo sites
|
|
70
|
+
seo report --site example.com
|
|
70
71
|
```
|
|
71
72
|
|
|
72
73
|
## Connect the hosted MCP server
|
|
@@ -110,7 +111,8 @@ agent which CLI command to run.
|
|
|
110
111
|
| `seo internal-links --url <url>` | `seo_internal_links` | Pages that could link to a target page (local only) |
|
|
111
112
|
|
|
112
113
|
Each command takes its target (a site, URL or property) and an optional date
|
|
113
|
-
window.
|
|
114
|
+
window. `--site` takes a domain, a URL or a Search Console property, and
|
|
115
|
+
`seo sites` lists the ones you can read. Commands that return rows also take `--detail summary|rows|full` and
|
|
114
116
|
`--offset`. Brand terms, minimum impressions and the comparison period are set
|
|
115
117
|
for you and shown in the output, so there is nothing else to tune.
|
|
116
118
|
|
|
@@ -122,7 +124,7 @@ The [command docs](https://seoskill.dev/docs) explain each one.
|
|
|
122
124
|
Run the report without a section first:
|
|
123
125
|
|
|
124
126
|
```sh
|
|
125
|
-
seo report
|
|
127
|
+
seo report --site example.com
|
|
126
128
|
```
|
|
127
129
|
|
|
128
130
|
It shows site totals against the previous period, the pages and queries that
|
|
@@ -130,7 +132,7 @@ moved, and a short count with top rows for each section. Then ask for the one
|
|
|
130
132
|
section that matters:
|
|
131
133
|
|
|
132
134
|
```sh
|
|
133
|
-
seo report --section quick-wins
|
|
135
|
+
seo report --site example.com --section quick-wins
|
|
134
136
|
```
|
|
135
137
|
|
|
136
138
|
The sections are `overview`, `quick-wins`, `low-ctr`, `striking-distance`,
|
|
@@ -142,21 +144,13 @@ Each result ends with the command to run next. A traffic drop usually leads to
|
|
|
142
144
|
moved:
|
|
143
145
|
|
|
144
146
|
```sh
|
|
145
|
-
seo compare --date 2026-09-15
|
|
147
|
+
seo compare --site example.com --date 2026-09-15
|
|
146
148
|
seo page --url https://example.com/pricing
|
|
147
149
|
```
|
|
148
150
|
|
|
149
151
|
Start with the summary. Ask for `--detail rows --offset 20` for the next page
|
|
150
152
|
of rows, or `--detail full` for every field, only when you need them.
|
|
151
153
|
|
|
152
|
-
Use `--project` when you have more than one saved project, or `--site` to work
|
|
153
|
-
without one:
|
|
154
|
-
|
|
155
|
-
```sh
|
|
156
|
-
seo report --project example
|
|
157
|
-
seo report --site sc-domain:example.com
|
|
158
|
-
```
|
|
159
|
-
|
|
160
154
|
## Add keyword and competitor data
|
|
161
155
|
|
|
162
156
|
Research uses your own provider account, so each request costs your credits
|
|
@@ -207,16 +201,21 @@ and pages by week, so a row missing from Bing's list is unknown, not zero.
|
|
|
207
201
|
|
|
208
202
|
## Add your analytics
|
|
209
203
|
|
|
210
|
-
Google Analytics comes with your Google sign-in.
|
|
211
|
-
|
|
204
|
+
Google Analytics comes with your Google sign-in. List your properties, then
|
|
205
|
+
pass the numeric property id to a Google Analytics command:
|
|
206
|
+
|
|
207
|
+
```sh
|
|
208
|
+
seo analytics google properties
|
|
209
|
+
seo ai-referrals --property 123456789
|
|
210
|
+
```
|
|
212
211
|
|
|
213
212
|
Clicky is available through the
|
|
214
213
|
[Clicky provider package](https://github.com/iannuttall/seoskill-clicky-provider).
|
|
215
|
-
Install it, then
|
|
214
|
+
Install it, then connect a site with its Clicky site ID:
|
|
216
215
|
|
|
217
216
|
```sh
|
|
218
217
|
seo providers install @seoskill/clicky-provider
|
|
219
|
-
seo
|
|
218
|
+
seo analytics clicky connect --site-id 12345
|
|
220
219
|
```
|
|
221
220
|
|
|
222
221
|
The hosted server reads Google Analytics only. Clicky runs on your machine,
|
|
@@ -235,7 +234,8 @@ evidence rules. If you skipped it during `seo start`, add it now:
|
|
|
235
234
|
seo skill install
|
|
236
235
|
```
|
|
237
236
|
|
|
238
|
-
|
|
237
|
+
`seo start` can add the hosted or the local MCP server for you. To add the
|
|
238
|
+
local MCP server later, to Codex, Claude Code, Claude Desktop or Cursor:
|
|
239
239
|
|
|
240
240
|
```sh
|
|
241
241
|
seo mcp install
|
|
@@ -266,6 +266,16 @@ installed provider packages.
|
|
|
266
266
|
Nothing here promises clicks, rankings or indexing. Check a change by running
|
|
267
267
|
the same command again over a later, complete window.
|
|
268
268
|
|
|
269
|
+
## Upgrading from 0.3
|
|
270
|
+
|
|
271
|
+
Saved project profiles are gone. Every command takes `--site` (or `--url`), and
|
|
272
|
+
`--project` or `--client` now stops with a note that says so. `seo projects`,
|
|
273
|
+
`seo client` and the commands that saved history between runs (`change-log`,
|
|
274
|
+
`tests`, `content-groups`, `monitoring`, `schedule`, `index-watch`,
|
|
275
|
+
`technical-watch`, `crawl-reports`, `crawl-diff` and `diagnose`) were removed.
|
|
276
|
+
Your agent keeps its own notes now. Each removed command names what to use
|
|
277
|
+
instead. To stay on the old version, run `npm i -g seo@0.2.41`.
|
|
278
|
+
|
|
269
279
|
## Upgrading from 0.2
|
|
270
280
|
|
|
271
281
|
Version 0.3.0 moved most reports into the eight commands. Old names such as
|
|
@@ -279,8 +289,8 @@ every old name and where it went.
|
|
|
279
289
|
|
|
280
290
|
## Use it in CI and scripts
|
|
281
291
|
|
|
282
|
-
Add `--json` to any command. JSON mode never prompts
|
|
283
|
-
|
|
292
|
+
Add `--json` to any command. JSON mode never prompts. Pass `--site` every
|
|
293
|
+
time.
|
|
284
294
|
|
|
285
295
|
```sh
|
|
286
296
|
seo report --site sc-domain:example.com --json
|
|
@@ -332,8 +342,9 @@ working example.
|
|
|
332
342
|
## Local data and Google access
|
|
333
343
|
|
|
334
344
|
Google tokens use your system keychain, with a private `0600` file fallback on
|
|
335
|
-
headless machines.
|
|
336
|
-
|
|
345
|
+
headless machines. Settings, provider keys and a short cache of Google
|
|
346
|
+
responses stay in your local config directory. Reports and crawls are not
|
|
347
|
+
saved: each run returns its results and your agent decides what to keep. A command still reaches the network when it needs Google,
|
|
337
348
|
your site or a provider you connected.
|
|
338
349
|
|
|
339
350
|
```sh
|
package/SECURITY.md
CHANGED
|
@@ -19,8 +19,8 @@ questions and non-sensitive bugs.
|
|
|
19
19
|
|
|
20
20
|
## Local data and credentials
|
|
21
21
|
|
|
22
|
-
`seo` is local-first.
|
|
23
|
-
|
|
22
|
+
`seo` is local-first. Settings, Google OAuth metadata, provider keys and
|
|
23
|
+
caches stay on the machine running the command. Access and refresh tokens
|
|
24
24
|
use the operating-system keychain when enabled; fallback token files and local
|
|
25
25
|
credential files use private file permissions.
|
|
26
26
|
|