seo 0.13.2 → 0.14.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.
Files changed (88) hide show
  1. package/PRIVACY.md +37 -8
  2. package/dist/cli.js +84 -80
  3. package/dist/cli.js.map +1 -1
  4. package/dist/{dist-BBszRLUG.js → dist-4Yam8ps7.js} +1 -1
  5. package/dist/dist-B_2zww72.js +427 -0
  6. package/dist/dist-B_2zww72.js.map +1 -0
  7. package/dist/{esm-Dmtr8qrP.js → esm-BmuxgZyN.js} +95 -188
  8. package/dist/{esm-Dmtr8qrP.js.map → esm-BmuxgZyN.js.map} +1 -1
  9. package/dist/index.d.ts +92 -406
  10. package/dist/index.js +1558 -646
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp.d.ts +0 -14
  13. package/dist/mcp.js +1130 -889
  14. package/dist/mcp.js.map +1 -1
  15. package/dist/provider-sdk.d.ts +0 -2
  16. package/dist/provider-sdk.js +1 -2
  17. package/package.json +6 -5
  18. package/site-kit/README.md +13 -0
  19. package/site-kit/guide/build.md +70 -0
  20. package/site-kit/guide/data.md +49 -0
  21. package/site-kit/guide/golden-page.md +50 -0
  22. package/site-kit/guide/grow.md +58 -0
  23. package/site-kit/guide/launch.md +55 -0
  24. package/site-kit/guide/market.md +57 -0
  25. package/site-kit/guide/plan.md +49 -0
  26. package/site-kit/guide/scale.md +41 -0
  27. package/site-kit/guide/setup.md +59 -0
  28. package/site-kit/guide/writing.md +55 -0
  29. package/site-kit/starter/.github/workflows/refresh-data.yml +88 -0
  30. package/site-kit/starter/.node-version +1 -0
  31. package/site-kit/starter/AGENTS.md +65 -0
  32. package/site-kit/starter/README.md +11 -0
  33. package/site-kit/starter/astro.config.mjs +31 -0
  34. package/site-kit/starter/gitignore +7 -0
  35. package/site-kit/starter/llms.config.mjs +38 -0
  36. package/site-kit/starter/package.json +31 -0
  37. package/site-kit/starter/pnpm-workspace.yaml +5 -0
  38. package/site-kit/starter/public/_headers +5 -0
  39. package/site-kit/starter/public/favicon.svg +1 -0
  40. package/site-kit/starter/public/fonts/InterLatinVF.woff2 +0 -0
  41. package/site-kit/starter/public/fonts/JetBrainsMonoLatinVF.woff2 +0 -0
  42. package/site-kit/starter/public/fonts/LICENSE-inter.txt +93 -0
  43. package/site-kit/starter/public/fonts/LICENSE-jetbrains-mono.txt +93 -0
  44. package/site-kit/starter/scripts/deploy.mjs +60 -0
  45. package/site-kit/starter/scripts/markdown-rewrites.mjs +33 -0
  46. package/site-kit/starter/scripts/refresh-data.mjs +60 -0
  47. package/site-kit/starter/scripts/validate-data.mjs +47 -0
  48. package/site-kit/starter/site.config.json +9 -0
  49. package/site-kit/starter/src/components/Breadcrumbs.astro +27 -0
  50. package/site-kit/starter/src/components/Button.astro +46 -0
  51. package/site-kit/starter/src/components/Card.astro +54 -0
  52. package/site-kit/starter/src/components/CodeBlock.astro +62 -0
  53. package/site-kit/starter/src/components/FactTable.astro +45 -0
  54. package/site-kit/starter/src/components/FaqAccordion.astro +143 -0
  55. package/site-kit/starter/src/components/Footer.astro +34 -0
  56. package/site-kit/starter/src/components/FormInput.astro +18 -0
  57. package/site-kit/starter/src/components/FormSelect.astro +34 -0
  58. package/site-kit/starter/src/components/Header.astro +17 -0
  59. package/site-kit/starter/src/components/HugeIcon.astro +36 -0
  60. package/site-kit/starter/src/components/Logo.astro +21 -0
  61. package/site-kit/starter/src/components/PageHeader.astro +33 -0
  62. package/site-kit/starter/src/components/SectionHeading.astro +18 -0
  63. package/site-kit/starter/src/components/ui/button.ts +51 -0
  64. package/site-kit/starter/src/data/parks.json +106 -0
  65. package/site-kit/starter/src/data/sources.json +11 -0
  66. package/site-kit/starter/src/integrations/og-images.ts +49 -0
  67. package/site-kit/starter/src/integrations/sitemaps.ts +104 -0
  68. package/site-kit/starter/src/layouts/Base.astro +69 -0
  69. package/site-kit/starter/src/lib/cn.ts +5 -0
  70. package/site-kit/starter/src/lib/narrative.ts +115 -0
  71. package/site-kit/starter/src/lib/og/card.ts +85 -0
  72. package/site-kit/starter/src/lib/og/path.ts +14 -0
  73. package/site-kit/starter/src/lib/og/render.ts +30 -0
  74. package/site-kit/starter/src/lib/parks.ts +84 -0
  75. package/site-kit/starter/src/lib/seo.ts +97 -0
  76. package/site-kit/starter/src/pages/404.astro +30 -0
  77. package/site-kit/starter/src/pages/about.astro +39 -0
  78. package/site-kit/starter/src/pages/index.astro +52 -0
  79. package/site-kit/starter/src/pages/parks/[slug].astro +95 -0
  80. package/site-kit/starter/src/pages/regions/[region].astro +58 -0
  81. package/site-kit/starter/src/pages/robots.txt.ts +16 -0
  82. package/site-kit/starter/src/site.ts +29 -0
  83. package/site-kit/starter/src/styles/globals.css +561 -0
  84. package/site-kit/starter/tsconfig.json +5 -0
  85. package/site-kit/starter/wrangler.jsonc +16 -0
  86. package/skills/seo/SKILL.md +19 -1
  87. package/dist/dist-7TxFytBp.js +0 -420
  88. package/dist/dist-7TxFytBp.js.map +0 -1
package/PRIVACY.md CHANGED
@@ -13,7 +13,7 @@ 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). Accounts in the weekly site audit beta also have
16
+ agent, version and week). Accounts with the weekly site audit also have
17
17
  their audited sites' crawl results kept, as described below.
18
18
 
19
19
  The command-line tool runs on your machine. It does not create an SEO
@@ -68,6 +68,12 @@ Cloudflare D1 with only these things:
68
68
  used. A linked machine asks for short-lived Google and Bing tokens and your
69
69
  keys, and makes the Google and Bing requests itself. Nothing it fetches is
70
70
  sent back.
71
+ - **How much metered work the server did for you.** One number a day per
72
+ kind of work: the browser time and pages the weekly audit rendered with
73
+ JavaScript, the Google URL Inspection checks made for you, and how many
74
+ research calls you made with each provider. It holds no URLs, page
75
+ content or research results. It is kept to
76
+ see what the hosted features cost to run.
71
77
  - **Beta features turned on for you.** The name of each beta feature the
72
78
  maintainer turned on for your account, and when. Only the maintainer sets
73
79
  these; most accounts have none.
@@ -96,12 +102,16 @@ it. The token your MCP client keeps carries only your person id.
96
102
 
97
103
  The server keeps nothing else. It does not keep reports, Search Console
98
104
  or Google Analytics rows, lists of your sites, or the pages it checked.
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.
105
+ Request logs are turned off. The one exception is the weekly site audit,
106
+ below, and only for the sites you add to it.
101
107
 
102
- ### Weekly site audit (beta)
108
+ ### Weekly site audit
103
109
 
104
- The maintainer turns this beta on for chosen accounts; no one else has it.
110
+ The weekly site audit is a paid plan, and the maintainer also turns it on
111
+ for some beta accounts. If you pay for it, Stripe takes the payment and
112
+ keeps your card details; the server keeps only your Stripe customer,
113
+ subscription and open checkout ids, the subscription's status and how many sites you pay
114
+ for. Deleting your account cancels the subscription.
105
115
  For each Search Console property you add on the account page, the server
106
116
  crawls the site once a week, up to 5,000 pages, as `SEOSkillBot`, and
107
117
  follows the site's `robots.txt`. It keeps, per site:
@@ -109,7 +119,9 @@ follows the site's `robots.txt`. It keeps, per site:
109
119
  - the property name, when you added it and when the next crawl is due;
110
120
  - the latest crawl and the one before it: each page's URL, status,
111
121
  redirect target, title, description, first heading, canonical, robots
112
- settings, word count and the internal links on it with their link text;
122
+ settings, word count and the internal links on it with their link text,
123
+ and for pages rendered with JavaScript (below) the raw HTML's values where
124
+ rendering changed them;
113
125
  - the findings worked out from them (such as broken links or missing
114
126
  titles), with when each was first seen and resolved; resolved findings
115
127
  are removed after 90 days;
@@ -124,11 +136,26 @@ follows the site's `robots.txt`. It keeps, per site:
124
136
  read and add to the same results;
125
137
  - for each of those Search Console pages, its clicks and impressions in the
126
138
  last 28 days and its clicks in the 28 days before, replaced each day;
139
+ - the issues list, only when you or your agent ask for it (`seo_report`
140
+ section `issues`): the striking distance, low CTR and quick win queries
141
+ and pages it found from Search Console (with their position, impressions,
142
+ clicks and CTR when last found), the crawl findings and index drops it
143
+ found, when each was found and checked, and what you marked each one,
144
+ with any note you gave; at most 500 issues per site;
127
145
  - how many URL Inspection checks each property used today;
128
146
  - how many pages a day Google can check for the site, and the folders worth
129
147
  adding as their own Search Console properties, with which of them you
130
148
  added from the account page.
131
149
 
150
+ Some sites build their titles, canonicals and links with JavaScript. To
151
+ read those, the crawl loads a few pages of each part of the site in
152
+ Cloudflare Browser Run, a browser Cloudflare runs for the server, and if
153
+ JavaScript changes what they show, it loads every HTML page of that part
154
+ there too. It also loads pages whose HTML looks built by JavaScript. The
155
+ server keeps which parts of the site need this for 28 days.
156
+ Browser Run fetches the page from the site as `SEOSkillBot` and returns
157
+ the page after its scripts run. The server asks it not to cache pages.
158
+
132
159
  If you click Create these in Search Console, Google asks you for
133
160
  permission to manage Search Console for that Google account. The server
134
161
  uses that permission once, to add the listed folders as properties and
@@ -166,7 +193,7 @@ Delete everything deletes it for every site.
166
193
  Sign in at [seoskill.dev/account](https://seoskill.dev/account) and choose
167
194
  **Delete everything**. It deletes your person id, linked accounts, keys,
168
195
  Clicky sites, linked machines, beta features, audited sites with their
169
- crawl data and how you signed up,
196
+ crawl data, your plan's Stripe ids (after cancelling it) and how you signed up,
170
197
  and revokes the Google sign-ins. Your agents will ask you to sign in again if
171
198
  you use the hosted server later. You can also revoke SEO Skill in your
172
199
  [Google Account connections](https://myaccount.google.com/connections), which
@@ -230,7 +257,9 @@ The hosted MCP server itself does not read Bing data.
230
257
  ## How Google data is protected
231
258
 
232
259
  The software stores settings, OAuth tokens, cached API responses, and logs in
233
- local user directories. It does not save reports or crawls. It does not
260
+ local user directories. It does not save reports or crawls, except the
261
+ issues list you ask for with `seo report --section issues`, which it keeps
262
+ in `issues.json` in its config folder. It does not
234
263
  upload Google API responses to a hosted SEO account or project database.
235
264
  Google API requests go directly from your machine to Google over HTTPS. The
236
265
  software does not send Search Console data to a research provider. `seo