Tidemark by Quelris

Canny SEO teardown: a healthy site with 994 tag pages to review

Every observation below was made on 2026-11-02 from public pages, without login. I have no access to Canny's Search Console, so I can't say how any of this affects indexing, rankings, or traffic.

This is a diagnosis example, not a client or a prospect. Canny's main site runs on Framer with a WordPress blog, and my paid offer needs a marketing site in Git.

Canny's marketing site is in good shape. Apart from the items below, the titles, descriptions, and canonicals I checked across the 311 pages in the main and post sitemaps were in order, and /compare already covers 11 comparisons. The largest open questions are in the blog's tag archive and in how far the comparison pages reach.

What I'd fix first

1. Review the 994 blog tag pages

https://canny.io/blog/post_tag-sitemap.xml lists 994 tag pages. https://canny.io/blog/post-sitemap.xml lists 220 posts.

I fetched 80 of the tag pages chosen at random. All 80 returned 200, had a self-referencing canonical, and had no noindex. On 63 of the 80 (79%), the page linked to only one post.

For example, https://canny.io/blog/tag/charm-pricing/ lists one post, a guide to experimenting with product pricing. That post already has its own URL, so the tag page adds little for a reader.

Many tags are also near-duplicates. The sitemap lists both https://canny.io/blog/tag/bug-vs-feature/ and https://canny.io/blog/tag/bug-versus-feature/, as well as https://canny.io/blog/tag/buyer-persona/ and https://canny.io/blog/tag/buyer-personas/.

Why it matters: the sitemap is telling search engines that these pages are among those worth showing. Most of them offer less than the post they point to. I don't know whether this has any effect on Canny's results. It's a question worth answering, because the tag pages outnumber the posts more than four to one.

The fix:

  1. In Search Console, export the tag pages that have received clicks or impressions, and keep those.
  2. The blog's HTML identifies All in One SEO as its plugin, which has robots settings for taxonomies and sitemap controls. Set the remaining tags to noindex and take them out of the sitemap.
  3. Merge near-duplicate tags and limit new posts to a short approved list.

Don't do this before step 1. If a tag page does earn search visits, you'll want to know first.

2. Give the demo page a real title and description

https://canny.io/request-demo has the title Canny and no meta description, both in the served HTML and after rendering in a browser. It's linked from 91 of the 391 pages I fetched, so it's clearly a key page.

Why it matters: this page may be among the highest-intent pages on the site. Its heading ("See Canny in action with a demo from our team") is good, and the metadata just doesn't reflect it yet. People who see this tab or result get no sense of what the page offers.

Draft:

3. Add the competitors missing from /compare

https://canny.io/compare covers 11 comparisons, including Productboard, UserVoice, Pendo, and Aha. Several smaller feedback-board tools aren't among them: https://canny.io/compare/featurebase, https://canny.io/compare/frill, https://canny.io/compare/nolt, and https://canny.io/compare/upvoty all return 404.

Those vendors do write about Canny. Featurebase, for example, publishes Top 16 Canny Alternatives in 2026, which presents its own product against Canny and lists Upvoty, Frill, and Nolt too.

Why it matters: a buyer comparing two feedback tools may read only the competitor's version, as Canny has none to offer them. I have no search volume data for these queries, so check demand before deciding on the order.

The page to ship: start with /compare/featurebase, using the newer template from https://canny.io/compare/productboard:

Frill, Nolt, and Upvoty can follow if the first page earns interest.

Worth fixing soon

4. Link to the comparison pages that are hard to reach

Among the 391 pages I fetched, two comparison pages have one internal link each, both from https://canny.io/compare:

By contrast, https://canny.io/compare/uservoice is linked from nearly every page, through the footer. My count excludes the 914 tag pages I didn't fetch, so treat it as a lower bound.

https://canny.io/compare/build-in-house may deserve the most attention. Its heading says "AI made software cheap to build, not cheap to own," and https://canny.io/pricing already opens with a related theme ("Canny costs less than building the wrong features"). The pricing page doesn't link to it.

The fix: link to /compare/build-in-house from /pricing, and to /compare/pendo from relevant posts such as https://canny.io/blog/best-product-management-software.

5. Bring older comparison pages in line with the newer ones

Newer pages name both products in the title. Older ones don't:

PageCurrent title
https://canny.io/compare/productboardThe Best Productboard Alternative: Canny vs Productboard
https://canny.io/compare/uservoiceThe Best UserVoice Alternative: Canny vs UserVoice
https://canny.io/compare/ahaAha Alternative | Canny
https://canny.io/compare/pendoThe Feedback-Driven Pendo Alternative | Canny
https://canny.io/compare/trelloTrello Roadmap Alternative | Canny

Moving these to the newer pattern takes minutes. While you're there, add a "prices checked on" date to pages that quote competitors. https://canny.io/compare/pendo says Pendo's paid plans "start at $7,000 per year" with no date beside it, and buyers will want to know how current that is.

6. Small cleanups

What I didn't check

Method

I fetched https://canny.io/robots.txt, both sitemaps, every URL in the main sitemap and post sitemap, and a random sample of 80 tag pages as plain HTML. I loaded key pages in a browser to confirm results after JavaScript.

Published by Noel Kim, Tidemark by Quelris. Canny didn't request or review this teardown.

Want this for your own site?

$400 fixed price for one diagnosis and one comparison page, delivered as a pull request. No ranking or traffic guarantees.

Apply for a diagnosis