@seoagent-official/seoagent 1.107.0 → 1.107.2
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/index.js +9 -4
- package/package.json +1 -1
- package/skills/references/inbox.md +2 -2
package/index.js
CHANGED
|
@@ -345,7 +345,11 @@ ${m(`ack ${e.id}`)} --failed --reason "skipped; ..."
|
|
|
345
345
|
${r}: fill the gaps a searcher on those
|
|
346
346
|
queries expects, add the sections competitors cover and this page does not,
|
|
347
347
|
and link to it from related pages. If the topic does not fit the business,
|
|
348
|
-
decline the action instead
|
|
348
|
+
decline the action instead.`:`**Rewrite the \`<title>\` and meta description** to be more compelling for
|
|
349
|
+
${r}. The page ranks where the snippet is visible, so the body may be
|
|
350
|
+
fine and the snippet is what is losing the click. Check the result does not
|
|
351
|
+
restate what another page of this site already says in its own snippet \u2014 two
|
|
352
|
+
results making one claim on the same query is the usual cause at this depth.`}default:return"**Expand the page substantially and bring it up to date.**"}}function Dm(e){return e.length===0?"":`
|
|
349
353
|
## Queries this page already ranks for
|
|
350
354
|
|
|
351
355
|
Real Google Search Console queries from the last 28 days, most impressions
|
|
@@ -720,9 +724,10 @@ ${Ol(t)}
|
|
|
720
724
|
\u2192 product or comparison; \`informational\` \u2192 guide or pillar; \`navigational\` \u2192
|
|
721
725
|
probably already covered elsewhere).
|
|
722
726
|
2. Pick a URL slug from the keyword \u2014 short, hyphenated, no stop words.
|
|
723
|
-
3. Look at
|
|
724
|
-
strategy
|
|
725
|
-
|
|
727
|
+
3. Look at this site's keyword inventory for related keywords already in its
|
|
728
|
+
strategy \u2014 \`.seoagent/strategy/keywords/<cluster>.md\` once the cloud shards
|
|
729
|
+
them, \`.seoagent/keywords.md\` otherwise \u2014 so you can group this new page into
|
|
730
|
+
the right cluster and weave in the cluster's other keywords as secondaries.
|
|
726
731
|
4. **Write the article** following the skill's **content-production protocol**
|
|
727
732
|
(Phase 4 \u2014 match the article type's quality rules, add internal links, etc.).
|
|
728
733
|
Show the user the draft before publishing.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seoagent-official/seoagent",
|
|
3
|
-
"version": "1.107.
|
|
3
|
+
"version": "1.107.2",
|
|
4
4
|
"description": "The persistent AI SEO agent for Claude Code. Audits, keyword strategy, briefs, articles, real product screenshots from your repo, and the autopilot loop (cloud detects → CLI executes → ack closes) — other SEO tools write the prompt, SEOAgent runs it.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -66,7 +66,7 @@ Start by reading `.seoagent/inbox/README.md` (or `seoagent inbox`) to see the li
|
|
|
66
66
|
- **Find the page's source** for `page_url`. Apply the revision per `reason`:
|
|
67
67
|
- `declining_clicks` → refresh/expand the content.
|
|
68
68
|
- `rank_expansion` → the page already wins, or is in striking distance, for the queries in the body. Deepen **that** page against **those** queries; never spawn a new one.
|
|
69
|
-
- `low_ctr` → **read the body, not just the reason.** Past roughly position 20 nobody sees the snippet, so the body says "Lift ranking" and a title rewrite is wasted work: fill the gaps a searcher on the page's real queries expects, and add the vocabulary those queries use if the page answers them in different words. Only when the body says "Improve CTR" (shallow position) is rewriting the title + meta description the fix.
|
|
69
|
+
- `low_ctr` → **read the body, not just the reason.** Past roughly position 20 nobody sees the snippet, so the body says "Lift ranking" and a title rewrite is wasted work: fill the gaps a searcher on the page's real queries expects, and add the vocabulary those queries use if the page answers them in different words. Only when the body says "Improve CTR" (shallow position) is rewriting the title + meta description the fix — and write it against the **"Queries this page already ranks for"** section, which both depths now carry, not a keyword guessed from the slug. When one of those queries is the site's own brand name the page is competing with its own homepage, so check the new snippet does not restate what another of this site's results already says.
|
|
70
70
|
- `stale_thin` → expand and update.
|
|
71
71
|
- Follow the rewrite protocol (`references/rewrite-protocol.md`). Reversible edit — show the user the diff (confirm once per session, then proceed; interactive sessions can review the revised draft via `references/draft-review.md`).
|
|
72
72
|
- Acknowledge: `seoagent ack <action_id>` (or `--failed --reason "kept as-is; ..."`).
|
|
@@ -90,7 +90,7 @@ Start by reading `.seoagent/inbox/README.md` (or `seoagent inbox`) to see the li
|
|
|
90
90
|
### `cli_new_landing_page-<id>.md`
|
|
91
91
|
|
|
92
92
|
- `Read` it. The frontmatter has `action_id`, `keyword`, `opportunity` (`easy_win` | `competitor_gap`), `volume`, `difficulty`, and `intent`. The body explains why this keyword is worth a page.
|
|
93
|
-
- Cross-reference
|
|
93
|
+
- Cross-reference the site's keyword inventory for related keywords — they tell you which cluster this page belongs to and which secondary keywords to weave in. It is `.seoagent/strategy/keywords/<cluster>.md` (plus `unclustered.md`) once the cloud shards it, and `.seoagent/keywords.md` otherwise; a synced workspace usually has only one of the two.
|
|
94
94
|
- Pick an article type from `intent` (commercial/transactional → product or comparison page; informational → guide or pillar). Pick a clean URL slug from `keyword`.
|
|
95
95
|
- Write the article following the content-production protocol (Phase 4 — match the article type's quality rules, add internal links from related cluster pages, etc.). Show the user the draft before publishing (interactive sessions can use the visual review loop — `references/draft-review.md`).
|
|
96
96
|
- **If the action body has a "Screenshots to capture" section** (SaaS product), follow `references/screenshots.md` — a landing page for a SaaS product should lead with a real product screenshot in the hero + feature sections, captured from this repo's UI.
|