Two pages appearing for related queries is not automatically keyword cannibalization. They may serve different jobs, formats, countries, or stages of a decision. A useful Hermes Agent workflow does not declare a conflict and start merging pages. It creates a small review queue, learns from corrections, and proves that a changed rule performs better on a fixed sample before you reuse it.
Hermes Agent is built around tools, skills, memory, and a learning loop. That makes it a reasonable fit for a process that gets better through explicit editorial feedback. The thing that learns is the review procedure. It does not get permission to redirect, delete, canonicalize, or rewrite pages.
The first lesson: shared words are weak evidence
Start with a GSC page-query export for a controlled date range and a page-purpose inventory. A simple export might include query, page, clicks, impressions, CTR, and average position. Add a human-written column that describes each page's current purpose.
Signal | What it may suggest | What it cannot settle alone |
|---|---|---|
Similar query phrasing across two pages | A possible overlap worth reviewing | That one page should be removed |
Both pages receive impressions | Search systems surface both in some contexts | That users see them as substitutes |
Similar titles | A content-design problem | The correct fix |
One page has weak clicks | A reason to inspect intent and SERP context | A reason to redirect it |
Definition of done for the first run: every candidate has evidence, confidence, a stated competing-page hypothesis, and a human review action. None has an automated site change.
Make a small, explicit review skill
Create a project-local skill file. This is not a universal truth about SEO. It is a documented set of rules for one team's review process.
---
name: seo-cannibalization-review
description: Create a human-review queue for possible page-query overlap from an authorised GSC export and page-purpose inventory. Never make site changes.
---
# SEO cannibalization review
## Inputs
- `input/gsc-page-query.csv`
- `input/page-purpose.csv`
- `input/review-corrections.csv`
## Rules
- Treat shared query wording as a lead, not proof.
- Compare page purpose, audience, format, market, language, and conversion task.
- Output `possible_overlap`, `likely_distinct`, or `needs_more_evidence`.
- For each row include the source fields, reason, confidence, and human question.
- Never edit pages, set canonicals, redirect URLs, merge content, or delete files.
- Keep a skill version and record rule changes.
## Output
Write `reports/cannibalization-review.csv` and `reports/review-summary.md`.The narrow labels matter. needs_more_evidence is often the most responsible result, especially when a page's purpose is missing or the query is broad.
Create the first queue from documented evidence
Ask Hermes Agent to run the skill against a small sample before you make it recurring.
Use $seo-cannibalization-review with the provided GSC export and page-purpose
inventory. Review no more than 40 candidate page pairs. Keep the raw input
unchanged. For every pair, show the query evidence, page purposes, confidence,
and one human question. Use `needs_more_evidence` when the source does not
support a decision. Do not change any website, CMS, redirect, canonical, or
content file.Expected output: a queue that makes the editorial disagreement visible. A pair of pages may be distinct because one helps a buyer compare options while the other explains setup. The skill should say that plainly instead of treating shared language as a bug.
Correct the queue in a way the next run can use
Review the output with the content owner. Put corrections in a structured file, not only in a chat thread.
pair_id,agent_label,human_label,reason,rule_change_candidate
17,possible_overlap,likely_distinct,"comparison page versus implementation guide",check_page_format
23,likely_distinct,needs_more_evidence,"page purpose is stale",require_current_page_inventory
31,possible_overlap,possible_overlap,"same audience and same task",noneThe correction file does two jobs. It records the decision for future reviewers, and it tells Hermes which rule was weak. Do not accept a "learning" update that cannot name the correction it used.

A table makes it much harder to confuse a similar keyword with a duplicate page job.
Update the skill, then test the change against a fixed sample
When several corrections point to the same weakness, update the skill version. For example, version 1.1 might add a rule that an explainer and a comparison page are not treated as duplicates until their audience and decision task also match.
Keep a small fixed evaluation set, such as 20 previously reviewed pairs. Run the old and new versions on the same set.
Check | Keep the new rule when | Revisit it when |
|---|---|---|
False positives | Fewer distinct pages are wrongly flagged | It merely moves errors to another label |
Missed overlaps | Known overlaps still enter the queue | The rule becomes so cautious that it finds nothing useful |
Explainability | Reviewers can understand the stated reason | The skill relies on opaque language or unstated context |
Scope | The output remains a review queue | It starts proposing redirects or content deletion |
This is a regression check, not a claim that the agent has solved cannibalization. The point is to avoid making the review process worse while it gets more specific.
Turn the output into an editorial decision, not an agent action
For each possible_overlap row, choose one of these human-owned paths:
- Keep both pages and clarify their distinct roles.
- Change one page's scope or internal links after an approved content brief.
- Consolidate only after checking intent, historical value, links, conversions, and technical migration implications.
- Request more evidence when the export or page inventory is incomplete.
If consolidation becomes the answer, start a separate change request. Redirects and canonical changes need their own target mapping, release review, and post-release verification. Hermes' candidate queue should never sneak that decision into a classification label.
A weekly cadence that does not create noise
Run the skill on a fixed cadence only after the sample is reliable. Keep each review batch small. A useful weekly operation has three columns: new candidates, corrections to prior labels, and rule changes waiting for a test.
If the team stops reviewing corrections, pause the learning loop. An agent that updates itself from stale or unexamined feedback is not getting smarter for your site. It is preserving old mistakes more efficiently.
FAQ
Can Hermes decide which page should rank?
No. It can organise evidence for a human review. Search results vary by query, user, time, and context, while the site's page purpose is an editorial and business decision.
Is one query on two pages always cannibalization?
No. Broad or ambiguous queries can reasonably surface different pages. Look at intent, audience, format, market, and the action each page supports.
Can the skill learn from a correction automatically?
It can record and propose a rule change if your Hermes setup supports skills and learning. Keep the correction ledger and test the proposed rule on a fixed set before making it the default.
Author: Tessa Clarke, Content Governance Lead for 120+ Editorial Systems at Auspia. Tessa writes about review loops, versioned editorial rules, and the limits that keep automation useful.












