seo 0.11.0 → 0.12.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Privacy policy
2
2
 
3
- Last updated: 20 October 2026
3
+ Last updated: 22 October 2026
4
4
 
5
5
  This policy covers the official `seo` command-line tool, library, MCP server,
6
6
  the hosted MCP server at seoskill.dev/mcp with its account page, and the
@@ -13,7 +13,8 @@ keeps your Search Console or analytics data, your reports or a log of your
13
13
  requests. When you first sign up it also notes how you found it: the
14
14
  sign-in path, the agent or app, and the site that sent you there. The only
15
15
  thing kept about your use is an anonymous usage count (the event, report,
16
- agent, version and week).
16
+ agent, version and week). Accounts in the weekly site audit beta also have
17
+ their audited sites' crawl results kept, as described below.
17
18
 
18
19
  The command-line tool runs on your machine. It does not create an SEO
19
20
  account, upload reports to a hosted SEO service, or send reports or connected
@@ -38,6 +39,18 @@ Cloudflare D1 with only these things:
38
39
  - **Your linked Bing account, if you link one.** Its refresh and access
39
40
  tokens, with read-only access to Bing Webmaster Tools, and a name made
40
41
  from its sites.
42
+ - **Search Console folders you add from the Beta tab.** "Create these in
43
+ Search Console" asks Google, at that moment, for permission to add and
44
+ manage your Search Console properties. The server uses it once, to add
45
+ the folders listed on the page, and does not keep that permission or its
46
+ token. It keeps which folders it added and whether Google verified them.
47
+ - **Alerts, for accounts in the weekly-audit beta.** Which alerts you want
48
+ by email and by webhook, your webhook URL and its signing secret, and
49
+ each alert sent in the last 30 days: the site, the pages that changed
50
+ and whether it was delivered. Alert email goes to your first linked
51
+ Google account's address through PostShiba, our email provider, which
52
+ receives that address and the alert's text to send it. A webhook gets
53
+ the same alert at the URL you save.
41
54
  - **Your API keys, if you save them.** A DataForSEO login and password, an
42
55
  Ahrefs key and a TypeSafe key.
43
56
  - **Your Clicky sites, if you save them.** Each site's numeric site ID,
@@ -55,6 +68,9 @@ Cloudflare D1 with only these things:
55
68
  used. A linked machine asks for short-lived Google and Bing tokens and your
56
69
  keys, and makes the Google and Bing requests itself. Nothing it fetches is
57
70
  sent back.
71
+ - **Beta features turned on for you.** The name of each beta feature the
72
+ maintainer turned on for your account, and when. Only the maintainer sets
73
+ these; most accounts have none.
58
74
  - **How you signed up.** Written once, when your person id is created, and
59
75
  never changed:
60
76
  - the way you signed up: an MCP client, the account page, or `seo login`;
@@ -80,7 +96,47 @@ it. The token your MCP client keeps carries only your person id.
80
96
 
81
97
  The server keeps nothing else. It does not keep reports, Search Console
82
98
  or Google Analytics rows, lists of your sites, or the pages it checked.
83
- Request logs are turned off.
99
+ Request logs are turned off. The one exception is the weekly site audit
100
+ beta, below, and only for the sites you add to it.
101
+
102
+ ### Weekly site audit (beta)
103
+
104
+ The maintainer turns this beta on for chosen accounts; no one else has it.
105
+ For each Search Console property you add on the account page, the server
106
+ crawls the site once a week, up to 5,000 pages, as `SEOSkillBot`, and
107
+ follows the site's `robots.txt`. It keeps, per site:
108
+
109
+ - the property name, when you added it and when the next crawl is due;
110
+ - the latest crawl and the one before it: each page's URL, status,
111
+ redirect target, title, description, first heading, canonical, robots
112
+ settings, word count and the internal links on it with their link text;
113
+ - the findings worked out from them (such as broken links or missing
114
+ titles), with when each was first seen and resolved; resolved findings
115
+ are removed after 90 days;
116
+ - a one-line summary of each of the last 52 crawls (counts only);
117
+ - Google's URL Inspection result for each known URL of the site (the
118
+ sitemap's, the crawl's and the Search Console pages with clicks or
119
+ impressions, up to 50,000 from the sitemap and crawl): its indexing
120
+ reason and Google's details, when it was checked and is due again, the
121
+ reason before it last changed, and when it last dropped out of or came
122
+ back to Google's index. The server checks these in the background each day, within
123
+ Google's 2,000 checks a day per property, and `seo_page` and `seo_index`
124
+ read and add to the same results;
125
+ - for each of those Search Console pages, its clicks and impressions in the
126
+ last 28 days and its clicks in the 28 days before, replaced each day;
127
+ - how many URL Inspection checks each property used today;
128
+ - how many pages a day Google can check for the site, and the folders worth
129
+ adding as their own Search Console properties, with which of them you
130
+ added from the account page.
131
+
132
+ If you click Create these in Search Console, Google asks you for
133
+ permission to manage Search Console for that Google account. The server
134
+ uses that permission once, to add the listed folders as properties and
135
+ read back whether each is verified. It asks for no refresh token and
136
+ keeps no token afterwards.
137
+
138
+ Remove a site on the account page and all of this is deleted at once.
139
+ Delete everything deletes it for every site.
84
140
 
85
141
  - **Your data.** Search Console, Google Analytics, Clicky and provider responses are
86
142
  fetched for each request, returned to your MCP client and not kept. Pages checked live are fetched for the request and not kept.
@@ -109,7 +165,8 @@ Request logs are turned off.
109
165
 
110
166
  Sign in at [seoskill.dev/account](https://seoskill.dev/account) and choose
111
167
  **Delete everything**. It deletes your person id, linked accounts, keys,
112
- Clicky sites, linked machines and how you signed up,
168
+ Clicky sites, linked machines, beta features, audited sites with their
169
+ crawl data and how you signed up,
113
170
  and revokes the Google sign-ins. Your agents will ask you to sign in again if
114
171
  you use the hosted server later. You can also revoke SEO Skill in your
115
172
  [Google Account connections](https://myaccount.google.com/connections), which
@@ -200,14 +257,17 @@ local token record.
200
257
 
201
258
  Google Analytics and Search Console API responses are cached locally so repeat
202
259
  commands do not make the same request unnecessarily. A cached response is
203
- eligible for reuse for up to 24 hours. Expired cache rows are removed during
260
+ eligible for reuse for up to 24 hours. URL Inspection results (Google's index
261
+ status for each URL, keyed by property and URL) are kept so `seo index` can
262
+ page through or repeat a result without asking Google again; each is reused
263
+ for up to 7 days. Expired cache rows are removed during
204
264
  automatic cache maintenance, which also removes cache rows older than 30 days
205
265
  and enforces local size limits. On a machine where the command is no longer
206
266
  run, expired rows may remain in the local cache file until you delete them.
207
267
 
208
268
  Run `seo cache clear --provider google-analytics` to remove cached Google
209
269
  Analytics responses immediately. Run `seo cache clear --provider gsc` to do
210
- the same for Search Console. Run `seo cache clear --provider clicky` to remove
270
+ the same for Search Console, including saved URL Inspection results. Run `seo cache clear --provider clicky` to remove
211
271
  cached Clicky responses. Settings and saved provider credentials remain until
212
272
  you delete them with the relevant command or run `seo reset --yes`. The reset
213
273
  command removes Google tokens, local configuration, caches, logs, any
@@ -331,9 +391,10 @@ contain the raw error or command arguments. Nothing is sent to GitHub unless
331
391
  you open the link, and you can review the form before submitting it.
332
392
 
333
393
  Aggregate event counts are public at
334
- [seoskill.dev/stats](https://seoskill.dev/stats). Failure counts are not
335
- shown there; the maintainer reads them privately to find and fix bugs,
336
- including a weekly Telegram message with failure totals by version. The
394
+ [seoskill.dev/stats](https://seoskill.dev/stats). Failure counts, setup
395
+ completions and retention are not shown there; the maintainer reads them
396
+ privately to find and fix problems, including a weekly Telegram message with
397
+ failure totals, first audit rates and retention by version. The
337
398
  public counts are described as installs, active machines, and audits, never
338
399
  users. One person can have several installs, and clearing local state creates
339
400
  a new install.
package/README.md CHANGED
@@ -145,7 +145,7 @@ ends with the command to run next, so your agent always knows where to go.
145
145
  | [`seo report`](https://seoskill.dev/docs/report) | Your Search Console overview, then the top rows of each section |
146
146
  | [`seo page`](https://seoskill.dev/docs/page) | One URL: the live page, its Google index status and its queries |
147
147
  | [`seo compare`](https://seoskill.dev/docs/compare) | Before and after a date, with Google updates |
148
- | [`seo index`](https://seoskill.dev/docs/indexing) | Pages that lost their clicks, checked live and with Google |
148
+ | [`seo index`](https://seoskill.dev/docs/indexing) | Google's indexing reasons for known URLs, labelled from live checks, and pages that lost their clicks |
149
149
  | [`seo research`](https://seoskill.dev/docs/research) | Keywords, search results, competitors and backlinks from your own key |
150
150
  | [`seo data`](https://seoskill.dev/docs/data) | Raw Search Console or Bing rows |
151
151
  | [`seo analytics`](https://seoskill.dev/docs/analytics) | Landing pages from Google Analytics or Clicky |