Module 03 · Technical foundations

Control URLs, duplicates, internal links, and faceted navigation

Create one clear route for each important page and manage variations without hiding useful choices or creating uncontrolled duplicate paths.

Lesson 08Technical foundations · Practical courseLast updated
22% through the course

What you will learn

Most duplicate problems are product and navigation problems before they are SEO problems. Filters, tracking parameters, alternate routes, printer pages, variants, and campaign URLs can all describe the same thing. This lesson helps you decide which versions users need and which version should represent the content in search.

By the end of this lesson: You can design a URL policy, use canonical and redirect signals correctly, improve internal linking, and set practical rules for faceted navigation.

Why this matters

01

Duplicate paths split attention. Customers may share an ugly or unstable URL, analytics becomes noisy, crawl resources are spent on low-value combinations, and teams lose confidence in which page to update. A clear URL policy makes the whole site easier to maintain.

02

At the same time, overzealous cleanup can remove useful filters, break campaigns, or redirect customers away from an exact product choice. The aim is not the fewest URLs. It is a navigable system with deliberate rules.

Keep the boundary clear: Canonical tags are hints, not commands. Redirect only when the destination is a genuine replacement. Never collapse distinct products, languages, or customer choices simply because their pages look similar.

One purpose, many paths

Field note 08One purpose, many pathsChoose one preferred route

Each URL state has a different job. A canonical page is the preferred durable representative. A useful filter helps a customer refine a list. A tracking parameter serves measurement. A duplicate route should be controlled. A retired page may redirect only to a relevant replacement.

Core concepts

01

URL policy is a product decision

Document stable, readable URL patterns, trailing-slash conventions, parameters, pagination, sorting, filters, case rules, canonical targets, and redirect expectations. Build the policy into templates and QA, not a one-time cleanup spreadsheet.

Use it when: Can an engineer, marketer, and content editor predict the preferred URL for a new page?

02

Canonicals describe equivalent content

Use a self-referential canonical on the preferred page and point true duplicates toward it when the same main content is available through several URLs. Do not canonicalize a meaningful category, filtered selection, language, or product variation to a page that does not satisfy the same need.

Use it when: Would a user consider these pages effectively the same answer?

03

Internal links set the default path

Navigation, breadcrumbs, body links, XML sitemaps, feeds, and canonical tags should usually agree on the preferred URL. Mixed signals make it harder for systems and teammates to understand which route matters.

Use it when: Do the site’s main internal routes consistently point to the URL you want people to use?

04

Facets require thresholds

Filters can be essential for shoppers or directory users. Decide which combinations have enough inventory, distinct value, stable demand, and useful text to receive links or indexing eligibility. Keep empty, nonsensical, or nearly identical combinations out of the main crawl paths.

Use it when: Does this filter state help a customer make a distinct decision, with enough real choices to support it?

The practical method

  1. 01

    Inventory URL patterns

    Collect routes from analytics, crawls, server logs, sitemaps, product feeds, ads, and support. Group them by template and parameter behaviour.

  2. 02

    Classify the purpose

    Mark each pattern as canonical content, useful user state, measurement-only, duplicate route, retired page, error, or unknown. Unknown patterns deserve investigation before a blanket rule.

  3. 03

    Set the preferred route

    Choose the human-readable, stable URL that represents each core resource. Update templates, internal links, sitemaps, canonicals, and feeds to agree.

  4. 04

    Design facet rules

    Set inventory minimums, index eligibility, link exposure, empty-state behaviour, pagination, canonical targets, and monitoring for filters and sorts.

  5. 05

    Map redirects carefully

    For changed or retired URLs, match each old route to the closest relevant replacement. Preserve useful content when there is no meaningful equivalent.

  6. 06

    Test customer and crawler paths

    Check sharing, bookmarks, navigation, analytics, cache behavior, canonical visibility, redirect chains, and representative crawler discovery after release.

Guided workshop

Make a URL-control decision before duplicate paths multiply

This section turns the lesson into a bounded working session. It is designed to leave you with a URL decision matrix covering preferred destinations, duplicate patterns, filters, pagination, internal links, and safe customer routes.

Practice scenario

Practice scenario: An outdoor retailer has product categories, colour filters, size filters, sort orders, search pages, and campaign parameters. Some filtered pages are helpful for a shopper, while others create thousands of near-duplicate URLs. Different teams have added canonical rules over time, so the site sometimes points a useful filtered page to an unrelated root category.

The team begins with customer intent rather than directives. It identifies which combinations represent a stable, useful product set and which only change presentation. It then decides how users can reach each type, whether a URL needs a discoverable destination, and what the site should signal consistently.

The matrix does not attempt to index every variant. It protects useful shopping routes while making duplicate behaviour understandable to the engineering and merchandising teams that create it.

Build it step by step

01

Inventory URL patterns by purpose

Group category, filter, search, sort, pagination, campaign, product-variant, and parameter URLs. Describe what changes on the page and whether a shopper could reasonably expect a distinct destination.

Make it tangible: Save a URL-pattern inventory. It helps the team decide which patterns deserve individual evaluation. Check judging every URL from its query string alone before moving forward.

02

Define the preferred customer route

For each useful task, choose the page that should own the answer. Consider landing-page intent, product selection, category context, and what a shopper needs to compare before acting.

Make it tangible: Save a preferred-route statement. It helps the team decide which URL should be linked and maintained. Check sending all variants to a broad category regardless of intent before moving forward.

03

Separate useful filters from presentation changes

A filter may be useful when it creates a stable product set with clear demand and enough inventory. A sort order often changes presentation without creating a new customer task. Document the difference.

Make it tangible: Save a filter decision record. It helps the team decide whether a route needs discovery support or only user access. Check using one directive for every parameter before moving forward.

04

Align links, canonicals, and controls

Check that navigation, sitemaps, canonical signals, redirects, and metadata support the same preferred route. When systems disagree, fix the source rule rather than adding exceptions without ownership.

Make it tangible: Save a signal-alignment checklist. It helps the team decide where the technical system sends conflicting messages. Check assuming one canonical tag solves a navigation problem before moving forward.

05

Protect crawl and user paths

Reduce infinite combinations, broken facets, empty sets, and low-value sort routes. Keep helpful filters easy to use and ensure a person can return to a clear category or product context.

Make it tangible: Save a path-risk list. It helps the team decide which route needs engineering or UX work first. Check blocking a useful route simply because it has parameters before moving forward.

06

Test with real inventory states

Review high-stock, low-stock, out-of-stock, seasonal, and discontinued cases. Check how filters, pagination, internal links, and canonicals behave when the catalog changes.

Make it tangible: Save a catalog-state test set. It helps the team decide whether the rule remains safe outside the ideal state. Check testing only the most complete category before moving forward.

Working template

Use these fields in a document, task, or spreadsheet. Keep the evidence close to the decision.

  1. URL pattern: Describe the route structure and what changes in content or presentation. An engineer and merchandiser should recognise the same pattern.
  2. Customer task: State the shopping task this URL may serve, if any. A UX reviewer should be able to say whether the route helps a buyer.
  3. Preferred destination: Name the URL that should own the task and explain why. A content or category owner should approve the choice.
  4. Internal access: List how shoppers and crawlers reach the route through navigation, links, or search. A reviewer should see whether access is intentional.
  5. Control decision: Record the canonical, indexability, sitemap, parameter, and redirect behaviour where relevant. A technical owner should be able to implement the pattern consistently.
  6. Edge state: Test empty, seasonal, unavailable, paginated, and promoted inventory states. The team should know how the rule behaves when the catalog changes.

Quality review before you ship

Use these checks while the evidence, owners, and customer context are still easy to correct.

  1. Take one duplicate-looking route and explain, in one sentence, which version a customer should use and why. If the team cannot answer, the canonical, redirect, and navigation decisions are probably premature.
  2. Try the filters that create the most parameters, including pagination and sort orders. Document which routes are useful customer destinations and which are merely temporary ways to view the same product set.
  3. Review each redirect from the user's perspective. The destination should satisfy the original need or clearly explain the change; a technically valid redirect can still create a poor customer handoff.

Decision rules for the real world

A filtered page has clear shopper value

Do: Give it a stable purpose, useful content, and deliberate internal access before considering wider discovery.

Avoid: Do not rely on a parameter alone to make it a destination.

A filter produces empty or near-empty results

Do: Handle it as a user experience state and prevent it from becoming an accidental dead end.

Avoid: Do not leave a successful-looking page with no useful products.

Two routes show the same product set

Do: Choose one preferred customer route and reduce conflicting links and signals.

Avoid: Do not maintain duplicate routes because separate teams created them.

The rule fails during inventory changes

Do: Fix the underlying catalogue or template logic and retest a representative set.

Avoid: Do not apply manual exceptions to thousands of URLs.

Coach notes

  • URL control is a customer-path decision first and a crawler-control decision second.
  • Useful filters deserve a clear product set, not just a different parameter string.
  • The best URL rules remain understandable when inventory and merchandising plans change.

Worked example: an outdoor equipment retailer

The retailer has thousands of combinations for brand, size, colour, activity, price, availability, sort order, and tracking parameters. Some filtered pages have useful product choice; others show zero products or the same products in a different order. Category links point to a mixture of parameter formats.

The team keeps customer-facing filters, but defines indexable landing states only for high-inventory, durable categories with clear demand. It uses stable canonical URLs for main categories, keeps sort and tracking parameters out of sitemap and primary links, and fixes links so the navigation chooses one route consistently.

What changed: Customers retain useful refinement controls. The site removes unnecessary crawl paths without hiding meaningful category choices or redirecting every variation to a generic parent.

Make it stronger

Pagination needs an honest user path

Paginated lists should work for people who browse them. Link pages sequentially, preserve filters predictably, and avoid using a canonical that hides distinct paginated inventory unless the product experience provides an equivalent consolidated view.

Audit parameter handling after platform changes

Commerce platforms, analytics tools, A/B tests, and ad systems can introduce parameters without SEO review. Add parameter checks to release and vendor-change processes.

Measure link equity as access and context

Instead of treating internal links as a secret score, ask whether valuable pages receive contextual routes from relevant pages and whether a visitor can find the next decision without backtracking.

Lesson artifact

URL-control decision matrix

Write a short URL and facet policy for one template family.

Patterns: List the canonical route, alternative routes, parameters, filters, pagination, and tracking states you observe.

Customer value: For each state, say whether it helps a customer make a distinct decision or merely changes presentation.

Rules: Specify internal-link behaviour, sitemap inclusion, canonical target, index eligibility, and empty-state handling.

Migration check: Identify one old or inconsistent URL pattern and map its safest correction, including a test for shared links and analytics.

Done looks like this: You have rules that preserve useful choices while making the preferred route clear to people, crawlers, and your own team.

Before you move on

  • The preferred URL is stable, readable, and used consistently across the site.
  • Canonical tags are used for genuinely equivalent content.
  • Internal links and sitemaps reinforce the preferred route.
  • Facet states have customer-value and inventory thresholds.
  • Redirects point to relevant replacements and are tested end to end.

Put the lesson into practice.

Create a free Spacebrain account and use the SEO suite with your own data providers.

Start for free →