Website and SEO

Search intent report

Every crawled page read as informational, commercial, transactional or navigational; pairs competing for one search with a fix; missing links; SERP.

Updated · 4 min read

Google generally shows no more than two pages from one site in its top results for a search (its site diversity system), and it prefers the page whose intent matches the searcher's. Two pages on one site aiming at the same subject with the same intent split the links and the relevance between them, so Google may show either one, and often neither does as well as one stronger page would. The fix is rarely "improve both".

Plan: Starter and up. Free of charge on top of a crawl: the report is arithmetic over signals the crawl already stored. No page is re-fetched and nothing is bought.

Where

  • Web: a domain's SEO & search tab, Search intent.
  • iOS: SEO & accessibility, Search intent.
  • API/MCP: GET /api/deep-seo/intent/:domainId, tool get_seo_intent_conflicts.

How a page is read

Each page's path, title, H1, heading outline, opening text, schema types, forms and link anchors are scored (the server crawl, which runs while the app is closed, has stored all of these since 2026-10-11; before that it kept only the title and H1, so a crawl from before then reads less reliably until it is re-run) for markers of four intents:

Intent Markers
Informational "how", "what is", "guide", a long opening, Article schema, no form
Commercial "best", "vs", "pricing", "compare", comparison tables
Transactional "buy", "book", "quote", "call", a form, Service or Product schema
Navigational The brand name, "login", "contact", "about"

The markers found are listed on each page so the verdict can be checked.

Conflicts

Two pages with the same subject and the same intent are shown as a pair with the page to keep and the steps for the other:

  • Redirect the weaker page to the stronger one.
  • Merge the content and redirect.
  • Differentiate by changing one page's intent, with a suggested title.
  • Split a page that is trying to be two things.

City pages and product variants are read as siblings, never as rivals: "Roof repair Canton" and "Roof repair Akron" are not a conflict. City pages that are copies of each other with the town swapped are a different problem, reported by the crawl as templated pages.

Guides that never link to the service page on their subject are listed. An informational page that does not send the reader to the transactional one is a lost step.

SERP disagreements

Once an organic rank check has run (Local SEO), the report adds phrases whose top results want a different kind of page than the one you are aiming at them, and phrases where Google ranks a different page of yours than the one you intended.

What the rank checks saw

Where organic rank checks have been recorded for a phrase and Google has ranked two or more different pages of your site for it across recent checks, the phrase is listed under url flips (url_flips in the API) with each page, how often it ranked and its best position. That is cannibalisation observed rather than inferred, so the pair is a conflict at high severity, with the page that ranked best kept, even when the crawl's own reading of the two pages did not pair them.

Stored with the crawl

Since 2026-10-11 the same conflicts are written onto the crawl itself when it finishes: the page to change carries a Competing Pages check in its findings, so the fix list, the whole-site score, the API's audit_domain and get_deep_seo_scan_pages, and the AI fix plan all see it. Pages that share one title or one description get a Duplicate Title or Duplicate Meta Description check the same way. The AI plan is also given one line per page saying what it is for, and its rules forbid aiming two pages at one phrase.

Mark handled

In the app, "Mark handled" is remembered on the device only. The verdicts themselves are the server's, and the web shows the same ones.

Common questions

It says two pages compete but they are about different products. Read the markers. If both titles are generic ("Our services", "What we do") the pages look identical to a crawler and probably to Google.

Why is there no report? Run a crawl first. The report reads the newest crawl and needs at least two pages.

Still stuck?

Ask the people who run the scanner.

Send the domain and what you expected to see. We look at the same scan you are looking at and write back with what it means and what to change.