Competitor keyword analysis by hand, with free data

You do not need a suite to see what rivals rank for. You need the right rivals, their sitemap, and a method. This guide shows how to find the queries they win, the ones you can take, and the pages to build.

By , founder of Porteur · Updated 13 September 2026 · Markdown

Pick the right rivals for SEO, not sales

Your SEO rivals are the sites that take the clicks on the queries you want. They might not sell what you sell. They often are category guides, directories, and templates.

  1. Start from three core queries

    Pick three non‑branded queries like "time tracking software", "timesheet template", "how to track billable hours". These span product, adjacent resource, and problem.

  2. Search in an incognito window

    Use your country and device. Note the top 10 for each. Include comparison and list posts if they rank, like "best time tracking tools".

  3. List recurring domains

    Any domain that shows up across your three queries is a rival for search. Add them to a sheet. Ignore obvious junk and global marketplaces unless they match your intent.

Example: for yourproduct.com, "time tracking software" shows vendor sites and review lists. "timesheet template" shows template libraries. "how to track billable hours" shows guides. Your rivals span all three.

Read their sitemap to map page families

A sitemap shows the site’s structure faster than clicking around. You want page families you can mirror, not one‑offs.

  1. Find the sitemap

    Try /sitemap.xml, /sitemap_index.xml, or check robots.txt for a Sitemap: line. If there are multiple, open the one for pages, blog, or categories.

  2. Skim for patterns

    Scan URLs. Note folders like /blog/, /use-cases/, /industries/, /integrations/, /templates/, /compare/, /alternatives/, /pricing/, /guides/.

  3. Group into families

    Create rows: Templates, Use cases, Industries, Integrations, Comparisons, Alternatives, How‑to guides, Feature pages, Pricing. Add URL counts per family.

  4. Pick what fits your product

    If you are a SaaS, Templates and Integrations often scale. If you are a store, Categories, Buyer’s guides, and Comparison pages matter.

A fixed plan looks like: 40 template URLs, 15 integration pages, 10 comparison pages, and 12 how‑to guides. You now see their content engine, not just a few posts.

Free sources that reveal their keywords

You cannot see a rival’s Search Console. You can infer their queries from public pages and the search results. Use free sources first.

SourceWhat you getHow to use it quickly
Google results pageTitles, URLs, People also ask, related searches, snippetsSearch your target query. Copy the top 10 URLs. Expand two People also ask trees.
AutocompleteLong‑tails and modifiersType your seed. Note modifiers like "for contractors", "free", "template". Do A to Z if needed.
People also askQuestion clustersUse AlsoAsked or expand PAA manually to map follow‑ups.
Site search operatorIndexed pages by themeSearch site:rival.com templates, or site:rival.com "time tracking" to find clusters.
Sitemap filesCanonical list of pagesExport and label families at scale.
Your Search ConsoleYour current queries and gapsPull your queries and pages. You will use this to subtract what you already cover.

AnswerThePublic and AlsoAsked are handy for questions. They pull autocomplete and People also ask ideas into visual maps. Use them to confirm themes you already see.

Google Keyword Planner can size a theme. Treat its ranges as directional. You are picking page types and queries, not forecasting revenue.

Find the queries they win and you do not

You need a manual gap list: a rival URL, its likely primary query, and whether you have an equivalent page. This is slow the first time and then fast.

  1. Choose 3 to 5 rivals from your list

    Pick the ones that repeat across your core queries. Include one content site if it ranks in your space.

  2. Sample each page family

    From their sitemap, open 10 URLs per family that fits your product. For example, 10 /templates/ and 10 /integrations/.

  3. Infer the primary query

    Read each page’s title and H1. Search that phrase. If the rival URL sits on page one for it, log that as the primary query.

  4. Check if you have the page

    Search site:yourproduct.com "that phrase". Or check your own sitemap. Mark Yes or No for an equivalent page.

  5. Subtract your coverage

    If you have the page and rank on page one, skip it. If you have it but rank on page 2 to 3, mark as upgrade. If you do not have it, mark as new.

Your sheet now has three states: New page, Upgrade page, Ignore. That is your backlog, ordered by family and theme. Add a simple priority next.

Judge search intent and page type

A page ranks when it matches the dominant intent and format. You will see this by scanning page one for your inferred query.

  • Commercial investigation: list posts like "best time tracking tools". Your page type: comparison or alternatives.
  • Transactional: "time tracking software". Your page type: product or category page with features and proof.
  • Informational how‑to: "how to track billable hours". Your page type: guide with steps and examples.
  • Navigational or branded: "yourproduct vs rival". Your page type: comparison page with a clear table.
  1. Scan the top 10

    Count page types. If 7 of 10 are templates, the winning format is a template library page, not a pure blog post.

  2. Note common blocks

    See repeated blocks like pros and cons, pricing tables, FAQs, schema types. Your page should include the blocks that answer the query.

  3. Write a fit note

    Add a one‑line intent note to your sheet: "Template intent, downloadable", or "Guide intent, step‑by‑step with screenshots".

A fixed page looks like: /templates/consulting-timesheet with the file, usage notes, variations, and internal links to your product and related templates.

Turn the gap list into pages you can ship

Group your New and Upgrade items into small releases. Build families in runs to reuse layouts and speed up internal links.

  1. Pick one family to start

    Choose the one with the most New items and a clear format. Templates, Integrations, or Alternatives are common starting points for SaaS.

  2. Draft structure once

    Create one reusable page layout with H1, intro, key block, supporting blocks, FAQ, and links. Use it for all pages in the family.

  3. Name URLs cleanly

    Keep them human. /integrations/slack, /alternatives/harvest, /templates/consulting-timesheet. Avoid dates and query stuffing.

  4. Write titles that match the query

    About 60 characters. Include the head term and a useful modifier. Example: Consulting timesheet template, free Excel and Google Sheets.

  5. Link the family

    Add a hub page and cross‑links. From each template to its siblings and to your product page where relevant.

For Upgrades, keep the URL and improve the page to fit the observed intent. Tighten the title and H1, add the missing blocks, and update internal links.

Prioritise by effort and earliest wins

You do not need keyword difficulty scores to start. Judge by common sense: page type, your current authority, and production effort.

  • Ship pages that exist in your product already: integrations, features, pricing, and comparison pages.
  • Create templated assets next: calculators, templates, checklists, and glossaries that match queries you saw.
  • Avoid head terms first if page one is all giants and marketplaces. Aim for long‑tail and modifiers like industry, role, or format.
  • Upgrade anything you rank for on page 2 to 3. Those are striking distance queries you can pull up with better fit and links.

Use your own Search Console to spot upgrades. Filter by Position greater than 10 and less than 25. Map those queries to the nearest page and fix intent or titles first.

Track outcomes without a paid suite

You can track this with free tools. It will not be perfect, but it is enough to see movement and double down on what works.

  • Google Search Console: check the Performance report. Watch clicks, impressions, and queries for each new or upgraded page.
  • Google Analytics 4: watch sessions and conversions from organic to those pages. It is post‑click, so numbers will not match Search Console.
  • Manual rank checks: search your target queries in an incognito window weekly. Note rough positions. Do not obsess over daily noise.
  • Simple annotations: keep a changelog of shipped pages by date. Compare 28‑day windows before and after for each page.

Worked example: templates and comparisons for a SaaS

Say yourproduct.com is time tracking SaaS. Rivals on your core queries include a vendor, a template library, and a review list. You map their sitemaps and see two strong families: /templates/ and /alternatives/.

  1. List candidate pages

    From rival sitemaps you pull: /templates/consulting-timesheet, /templates/contractor-timesheet, /alternatives/harvest, /alternatives/toggl, /integrations/slack.

  2. Infer primary queries

    Search "consulting timesheet template", "harvest alternatives", "time tracking slack integration". Confirm rival URLs on page one and log them.

  3. Check your coverage

    You have /templates/consulting-timesheet, but it is a short post. No /alternatives/harvest page. No /integrations/slack page.

  4. Plan the build

    Upgrade the consulting template with files, variations, and FAQ. Create /alternatives/harvest with a clear table. Create /integrations/slack with setup steps and benefits.

  5. Ship and link

    Publish the three pages. Link them from a /templates/ hub and /alternatives/ hub, and from the product page.

The fixed pages now match intent. The template ranks for the exact template term, the alternatives page for "harvest alternatives", and the integration page for "slack time tracking" variants. You track clicks in Search Console and conversions in GA4.

Questions

Sources

Check my site, free

Paste your homepage URL into the free check and get three findings in about thirty seconds: it reads your site, the searches around it and the rivals on them, no login needed.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next