Seven steps, in this order, and the first four produce no new writing at all. Label every main URL with one rung, split the pages holding two, build the five-column link map, then write only the pages a missing rung forces you to write. The two templates below are free, ungated, and carry their own attribution line inside the file. Start with the specification open in another tab.
Before you start: three things to have open
This plan assumes you already know what Decision Ladder Navigation is and are ready to apply it, so it does not re-explain the rungs. What it does assume is three artefacts open in front of you, because every step below reads from at least one of them and guessing at any of the three turns the labelling pass into an argument.
- A list of every main URL. Pages a visitor can reach from the menu or from search. Not every URL on the site, and not tag pages.
- Your menu, exactly as it renders. Not the sitemap and not the intended menu. The labels a visitor sees are the ones being assessed.
- One sentence saying what the site is for. If two people on the team write different sentences, stop here. Steps 2 and 4 cannot be completed until that disagreement is settled.
The seven steps, in order
These seven steps are ordered so that each one consumes the output of the one before it, and skipping ahead is what produces restructures that have to be redone. In particular, steps 1 through 4 create no new pages: they tell you which pages you actually need, and the answer is usually fewer than the list you started with.
Step 1: Label every main URL with exactly one rung
Open the labelling sheet and put one row per URL. For each page write the rung and one sentence saying why that rung. The sentence matters more than the letter, because a page you cannot justify in one sentence is a page holding two rungs and you have just found it.
Step 2: Mark and split the pages that hold two rungs
Any page whose justification needs the word "and" is a candidate. The commonest case by far is a pricing page that also handles enquiries, which is Rate and Act stacked on one URL. Split it, and note the redirect each split creates in the same row so nothing gets lost between the sheet and the server.
Step 3: Fix the menu before touching the articles
Five to seven items, each carrying one decision role, plus a route to price and a route to action. Labels use visitor language and never the letters of the rungs. Do this before the article work because the menu is what tells you which pillars actually exist, and half the time that count is different from what the team believes.
Step 4: Build the five-column link map
One row per link: anchor text, context sentence, from URL, to URL, and the rung of the target. The context sentence is not decoration, it is the test. A link you cannot write a natural sentence around is a link with no role, and a link with no role does not get built.
Step 5: Write only the pages a missing rung forces
Look for rungs with zero pages. On most sites there are one or two, almost always Rate and Act. Write those, and resist writing anything else at this stage, because the pages that feel most urgent to write are usually Orient pages that support nothing yet.
Step 6: Make the required links data rather than prose
The links back to the pillar and up to the tier-one parent should be generated from the map, not typed into each article. Sixty hand-written links are sixty places to forget, and forgetting does not raise an error. If your platform cannot generate them, at minimum keep the map as the source of truth and treat the articles as a rendering of it.
Step 7: Instrument the four rails, then stop changing things
Set up one metric per rail: Orient to Choose, Choose to Prove, Choose to Rate, Rate to Act. Then change one variable at a time and read the result 14 to 28 days later. A restructure followed immediately by three more restructures produces no readable measurement of any of them.
The labelling sheet: one row per URL
The labelling sheet is the artefact that carries steps 1 and 2, and its value is that it forces a single answer per page. Seven columns, one row per main URL, and the two columns people want to skip are the two that do the work.
| Column | What goes in it | Why it is there |
|---|---|---|
| URL | The address as it renders, with trailing slash | The unit being labelled is the address, not the article |
| Page title | The title a visitor sees | So the sheet is readable by someone who did not write it |
| Rung | One of O, C, P, R, A | One decision role per URL is the first operating rule |
| Why this rung | One sentence, no conjunctions | A justification needing "and" has found a page with two rungs |
| Next step URL | The single onward route | One next step per page is the second operating rule |
| Links back to pillar | yes or no | Everything links up. A no here is an orphan |
| Holds two rungs | yes or no | The split list, and the redirect list, both come from this column |
The link matrix: five columns, every column filled
The link matrix carries step 4, and it has exactly five columns because a sixth would let a link in without a role. Every row is a link that will be built, and a row that cannot be completed is the framework telling you that the link should not exist.
| Column | Rule |
|---|---|
| Anchor text | Descriptive. Never "click here", "read more" or "learn more". Target under 20 percent generic anchors across the site |
| Context sentence | The sentence the link sits inside. If it cannot be written naturally, the link has no role |
| From URL | The page the link is on |
| To URL | The page it points at |
| Rung | The rung of the target page, so that the four rails can be counted |
Two checks run off this sheet once it is populated. Sort by target URL to find pages with zero inbound rows, which are your orphans. Sort by anchor text to find two URLs receiving the same anchor from the same keyword, which is cannibalisation and will cost you both pages.
Download the two templates
Both templates are plain CSV, open in any spreadsheet, and carry an attribution line as the first row inside the file so that they stay identifiable after they have been copied, renamed and passed around. Nothing is gated and no email address is collected.
- Labelling sheet template, CSV. One row per URL, seven columns, with one worked example row.
- Link matrix template, CSV. One row per link, five columns, with one worked example row.
Applying this in your own work, including paid client work, needs no permission. Reproducing the pages themselves does. The full split is set out in the rights section of the specification.
How to know the implementation is correct
An implementation of Decision Ladder Navigation is correct when four counts come out clean, and all four can be produced from the two sheets plus one crawl. Run them after step 6 and before step 7, because instrumenting rails that are not built yet measures nothing.
- Orphans. No URL with zero inbound internal links.
- Anchors. Generic anchors under 20 percent across the site.
- Cannibalisation. No two URLs receiving the same anchor from the same entity keyword.
- Dead ends. No article without a next step, and none without a contextual link back to its pillar.
A worked example of these counts on a real 60-page cluster, including the one that came back at 4 percent, is published as a separate case.
Questions about running the implementation
Running the implementation raises four questions more often than any others: how long the labelling pass takes, whether a small site needs the link map at all, what to do with a page that genuinely serves two rungs, and how far the rungs can be renamed.
How long does the labelling pass take?
It is one decision per main URL, so the honest answer is that it scales with your URL count and with how many pages turn out to hold two rungs. Count both numbers before starting rather than accepting an estimate in hours from anyone, including this page.
Do I have to build the link map if my site is small?
No. Below roughly forty main URLs the map costs more to maintain than it tells you. Apply the two operating rules, give every page one rung and one next step, and skip the cluster layer entirely until the site grows into it.
What if a page genuinely serves two rungs?
Then it is two pages, and this is not a technicality. A page serving two rungs has two opening paragraphs, two audiences and two next steps, so every visitor receives the wrong half first. Splitting costs one URL and one redirect, and settles the question permanently.
Can I rename the rungs to fit my industry?
Rename the reader-facing labels freely, because the letters never appear on the front end anyway. Do not reorder or re-verb the rungs themselves, and do not call the result Decision Ladder Navigation if you have changed what the rungs mean. The names are what let a reader tell the original from a variant.