Where we are
Google Search Console, three months to 29 July 2026. Our own data, not a tool's estimate.
Where each commercial term sits. Further left is better. The shaded band is page one, the aqua line is the top 5, which is where we are trying to get.
| Term | Position | Impressions |
|---|---|---|
| ai seo agency | 9.7 | 13,224 |
| seo company | 10.3 | 28,333 |
| seo agency | 10.7 | 48,699 |
| seo services | 11.1 | 30,692 |
| ecommerce seo agency | 11.9 | 10,621 |
| ai seo | 16.8 | 41,546 |
| enterprise seo agency | 17.0 | 3,965 |
| seo consultant | 18.3 | 15,510 |
| Site totals, same period | Value |
|---|---|
| Impressions | 6,562,595 |
| Clicks | 9,864 |
| Click-through rate | 0.15% |
| Average position | 15.97 |
| Distinct queries | 24,761 |
| Sessions (Analytics, to 3 Aug) | 49,272 |
| Conversions | 1,635 |
| Conversion rate | 3.32% |
The one idea that explains everything else
Most people assume an SEO problem is a visibility problem. Nobody can find us, so we need more pages and more content.
That is not our problem. We appear in front of people 6.5 million times a quarter. We are on the last line of page one for the terms that pay.
Our problem is two positions and a click.
Position 11 gets almost no clicks. Position 8 gets some. Position 3 gets a lot. The distance between them is small. The difference in outcome is enormous.
So the plan is ordered around that. Convert what we already have before we build anything new. Every task either moves one of those six terms up a few places, or gets more people to click when we appear.
The number we do not chase: impressions
We have 6.5 million of them and they are not the constraint. If a change makes impressions go up and clicks stay flat, it did not work. This is the single most common way an SEO report tells a comforting lie.
How the work is ordered, and why
Five stages. Each one earns the right to the next.
| Stage | What it is | Why it comes here |
|---|---|---|
| 1. Measure | Find out what is working and what is dead weight | You cannot improve what you have not measured, and we have never measured our own quality ratio |
| 2. Convert | Title tags and click-through on pages that already rank | Fastest visible result on the whole plan. Nothing needs to be built |
| 3. Fix | Pages that are invisible or technically broken | No point sending authority to a page Google will not show |
| 4. Strengthen | Internal linking and the services hub | Multiplies the effect of everything already on the site |
| 5. Build | New pages, only where there is proven demand | Last, deliberately. Building first is the default mistake |
Most agencies start at stage 5 because building is visible and satisfying. It is also the slowest way to move a position.
The rules we work to
Not preferences. Each one exists because breaking it costs something real.
Every number states where it came from and when
"Position 10.7 (Search Console, 29 July 2026)", never "about ten".
Never mix two tools' numbers in one comparison
Different tools use different scales. Pick one per analysis and say which.
"Not measured" is not the same as zero
If we have never checked, write that. Do not estimate and do not round to nothing.
Check before asserting
Pull the live page, read the status code, look at the actual result. Tools are wrong often enough to matter. We have had a tool report position 92 when the truth was top 10.
Page count is not progress
Report movement in position and conversion, never pages shipped.
Copy changes go through the content workflow
Metadata, alt text, internal links and structured data are on-page fixes. Rewriting the body of a page is not.
One change at a time on a page we are measuring
Change the title and the copy together and you will never know which one did it.
Who does what
Lawrence finds the work. Lily does the work on the page. Both of us check it.
| Lawrence | Lily | |
|---|---|---|
| Finds the problem | Yes | . |
| Decides the fix | Yes, with her | . |
| Makes the change on the page | . | Yes |
| Checks it went live correctly | . | Yes |
| Measures whether it worked | Together | Together |
Every task is handed over by Loom
1. Why this matters. What the fix does and what happens if nobody does it. No jargon without explaining it once.
2. What to do specifically. The actual pages, the actual change, the actual place in the CMS.
3. What done looks like. Including how she checks her own work, so she can be sure before saying it is finished.
Each task also names the thing she will be able to do afterwards. The website improving is the by-product.
How changes get made
All AU on-page work happens in the HubSpot page editor. Never the Design Manager, because that edits the template and affects every page using it. Template and code changes go through the dev repo, and Lawrence handles those.
First: the eight words you need
You do not need to know SEO to start. You need these.
| Word | What it means |
|---|---|
| Impression | Our page appeared in someone's search results. They may not have looked at it. |
| Click | They clicked through to us. This is the one that matters. |
| Click-through rate | Clicks divided by impressions. Ours is 0.15%, which is low. |
| Position | Where we appear. Position 1 is the top. Position 11 is the top of page two, where almost nobody goes. |
| Title tag | The blue clickable headline in a search result. Not the heading on the page. |
| Meta description | The grey text under the blue headline. |
| H1 | The main visible heading on the page itself. There should be exactly one. |
| Canonical | A hidden tag saying "this is the real address for this page". |
The one to internalise early: a title tag and an H1 are two different things. The title tag is what a searcher sees before they arrive. The H1 is what they see after. People conflate these constantly.
L1. Ship the nine title tags Lily First task
Stage: Convert. The specs are already written and waiting.
Why this mattersThe Loom
We appear in search results about 6.5 million times every three months, and people click through 9,864 times. That is 0.15%. For every thousand people who see us, one and a half click.
That is not a ranking problem. We are on page one for the terms that matter. They are seeing us and choosing something else.
Think about how you use Google. You scan, you read three or four headlines, and you pick one. You are not evaluating websites, you are picking a headline. That headline is the title tag.
The nine are already written. Your job is to ship them and then find out whether they worked. That second part is the real lesson. Anyone can change a title and say traffic went up. Traffic goes up and down on its own.
What to do
Record the before state, all nine, first
Current title, current description, and clicks, impressions, click-through and average position for the last 28 days. Before you touch anything. You cannot recreate it afterwards.
Open the page in the HubSpot page editor
Settings, then the SEO panel. Never the Design Manager.
Swap in the specced title and description
From
title-tag-rewrites-phase1.md.Publish, and write down the date
Per page. Everything we measure later hangs off it.
Annotate each one in SEOtesting
What changed, which page, what date.
Re-measure at 14 days and 28 days
Same metrics, same length of window.
Check your own workNo need to ask
- Open the live page, right click, View Page Source, search for
<title>. Your new text should be there. If the old text shows, it did not publish or it is cached. - Check the length. Roughly 60 characters before Google truncates the title, about 155 for the description.
- A few days later, google the page title in quotes and see whether the new one is showing.
Watch for
- Change nothing else on those nine pages during the measurement window.
- Compare equal windows. 28 days against 28 days, never against "since we shipped".
- Watch position as well as click-through. If position moved too, the title may not be the cause.
- A title change can lose you clicks. That is normal, and exactly why we measure. If it drops we revert and we have still learned something.
A result of "no change" gets written up exactly the same as a win. A measured negative is worth more than an unmeasured positive.
What you will be able to do afterwards
Change something on a page and prove whether it worked. This is the skill that separates SEO from opinion, and most people never learn it.
L2. Fix the worst click-through pages Lily
Stage: Convert. Depends on Lawrence's W2 analysis.
Why this mattersThe Loom
One page makes the point. /seo-services/link-building/ gets about 84,000 impressions and 9 clicks. Google shows that page to a lot of people and essentially none of them want it.
Nothing is broken. It ranks. But when someone sees it, they choose something else. Every one of those 84,000 impressions is a chance we already earned and threw away.
The skill here is writing for the search result rather than for the page. Stop thinking "what is this page about" and start thinking "what did the person type, and what would make them feel this page answers it".
What to do, and what to watch for
- For each page, look at the top three search terms it actually appears for. Write for those, not for what you assume the page is about.
- Record the before state, same as L1.
- Aim for about 60 characters on the title, 155 on the description.
- Ship in batches of five, so if something goes wrong you know which batch.
- Annotate each batch. Measure at 14 and 28 days.
- Do not keyword-stuff. "SEO Agency Melbourne | SEO Services Melbourne" reads as spam to a person, and people are who click.
- Every title must be different. Two pages with the same title compete with each other.
- A page at position 25 with low click-through is normal. A page at position 6 with low click-through is a real defect. Those are the priority.
L3. Heading structure pass Lily
Stage: Strengthen. Self-contained, depends on nothing.
Why this mattersThe Loom
Headings are not decoration. They are how a page explains its own structure.
Google does not see your design. It sees an outline: this is the subject (H1), these are its sections (H2s), these are the parts within them (H3s). If that outline is a mess, the page is harder to understand and harder to rank.
Three problems come up constantly, and you will find all three on our site: more than one H1, skipped levels (an H2 followed by an H4), and headings chosen for how big the text looked rather than what the content is.
What to do, and how to check it
- List every heading in order with its level, for each priority page.
- Check: exactly one H1, no skipped levels, every heading describes what is beneath it.
- Fix by changing the heading level, not the styling. If something needs to look smaller, that is a CSS job.
The check: read only the headings, top to bottom, ignoring everything else. It should read like a sensible summary of the page. If it does not make sense on its own, the structure is wrong.
If fixing a heading level changes how the page looks, stop and flag it. That means styling is attached to the heading level, which is a template issue and Lawrence's side.
L4. Add internal links into body content Lily
Stage: Strengthen. Depends on Lawrence's W1 audit.
Why this mattersThe Loom
This is the least understood thing in SEO and it has the best return for the effort.
Every link on our site passes value to the page it points at. The way we link between our own pages is us telling Google which of our pages matter. Most websites never decide this on purpose, so all the value pools on the homepage and whatever the menu links to.
Direction matters. Blog posts and case studies are what other websites link to. Service pages make money. So the flow goes from blog posts and case studies towards service and location pages. Not the reverse.
A link inside body text is worth more than a link in the menu. The menu links to everything, so it says nothing about what is important. A link inside a sentence is a choice.
What to do, and what to watch for
- Work from the source-to-target plan Lawrence gives you.
- Find a place in the body where the link genuinely fits the sentence. If it does not fit naturally, do not force it. Flag it and move on.
- Vary the anchor text. First exact match, then partial, then branded or natural.
- Maximum two links to the same destination from any one page.
- Keep a record: source, target, anchor text, date.
- Do not link from dead pages. A page with no traffic has no value to pass. This is why W1 comes first.
- Do not link two different pages using the same anchor text. They will compete.
- Click every link you added on the live page. Confirm it goes where you meant and does not 404.
L5. Complete the Google Business Profiles Lily Never measured
Stage: Fix. The fastest feedback loop on the plan.
Why this mattersThe Loom
Everything else here is about the website. This one is not, and that is why it is worth doing.
Search "seo agency melbourne". Before the blue links there is a map with three businesses. That block is not driven by the website at all. It is driven by the Business Profile, the reviews, and whether the business details match everywhere they appear online.
We have never checked ours. Not once, for Melbourne or Sydney. We do not know whether the information is complete, whether there are photos, or whether there are old duplicate listings nobody is watching.
Website changes take weeks to show. Profile changes can show the same day.
What to do, and what to watch for
- Inventory first. Search the business name and each office address. Look for duplicates and old listings, not just the ones we know about.
- Record everything: name, address, phone, primary and secondary categories, hours, description, photo count, video count, last post date, review count, review replies.
- Consistency check. Compare the name, address and phone character by character against the website. "St" against "Street" counts as a difference.
- Fill the gaps. Photos matter more than people expect.
- Record who currently holds the three map slots for "seo agency melbourne" and "seo agency sydney".
Duplicate listings are the most damaging thing you will find. Flag them to Lawrence rather than deleting anything yourself. And never put keywords in the business name, which breaks Google's rules and can get the listing suspended.
L6. Fix the thin pages Lily
Stage: Strengthen. Depends on Lawrence's W1 audit.
Why this mattersThe Loom
A page with very little on it is not neutral. It costs you. Google forms a view of a website as a whole, so a site with a lot of thin pages is judged as a thinner site, and that drags on the good pages too.
Here is the comparison. An agency ranking number one for "seo agency" in the UK has zero pages under a thousand words. Not a few. Zero. Their median page is around four thousand. Not because long pages rank better mechanically, but because they decided every page has to earn its place and held to it.
The judgement I want you making: some thin pages should not be fixed, they should be merged or removed. If a page has nothing more to say, adding words to hit a count makes it worse. Adding filler is the failure mode here.
What to do
- Before writing anything, ask what the page is missing rather than how to make it longer. Usually one of: does not answer the obvious follow-up, has no examples, has no proof, does not say what happens next.
- This is body copy, so it goes through the content workflow. Lawrence walks you through it on the first one.
- If the honest answer is that nothing is missing, say so and send it back for merge or removal.
- Word count is a symptom, not a goal. A useful 700-word page beats a padded 1,500-word one.
- Never copy content from another page to fill space. That creates two pages competing.
L7. Refresh the six decaying pages Lily
Stage: Fix.
Why this mattersThe Loom
Rankings are not permanent. A page that did well two years ago and has not been touched is usually doing worse now, because competitors updated theirs and it stood still.
We measured in April. /seo-sydney/ went from 235 clicks a month to 143. The homepage from 590 to 531. /seo-services/local-seo/ went from 14 to zero.
Nobody did anything wrong, and that is the point. Doing nothing is a decision, and this is what it costs.
Counter-intuitive and important: a refresh can lose you rankings. If you strip out the part that was actually working, you go backwards. Before you change a page, find out what it currently ranks for. Protect that, then improve around it.
What to do
- Get the terms each page currently ranks for from Lawrence. That is what you are protecting.
- Record the before state and the date.
- Goes through the content workflow. This is a copy change, it does not skip the gate.
- Update what is factually out of date, examples that have aged, statistics with old years, and questions the page does not answer.
- Do not change the URL. If it has to change, that is a redirect job and Lawrence's call.
- Measure at 28 days. Refreshes are slower to show than metadata changes, so do not judge at 14.
L8. Add structured data Lily Last, most technical
Stage: Strengthen. Lawrence provides the code.
Why this mattersThe Loom
Structured data is a block of code that describes a page in a way machines read directly. A person reads "StudioHawk, 03 1234 5678, open 9 to 5". The code version says explicitly: this is an Organization, this is its phone number, these are its hours. No interpretation required.
It matters for two reasons. It is how you become eligible for the extra things in search results, like star ratings and FAQ dropdowns. And increasingly it is how AI systems read a page, because they read the structured version rather than guessing from the layout.
Our Australian and UK sites have this. Our US site has none at all, which is one reason it is close to invisible.
This is last on purpose. It will make far more sense after a few weeks of looking at how pages are built.
What to do, and what to watch for
- Add the code block Lawrence gives you, per page.
- Test the live page in Google's Rich Results Test. Fix errors. Warnings are usually optional fields and fine to leave.
- View source and confirm the block appears once. Duplicates cause conflicts.
Never describe something that is not on the page. Structured data claiming a rating the page does not show is a policy violation and can cost you the feature entirely. If the Rich Results Test errors and the fix is not obvious, hand it to Lawrence. Broken structured data is worse than none.
W1 to W7 Lawrence
These produce the work lists, or need a decision that is expensive to reverse.
| # | Task | Note |
|---|---|---|
| W1 | Quality node audit | 480 URLs against 12 months of Search Console. Produces the keep, merge and remove list, which feeds L4 and L6 |
| W2 | Click-through analysis | Produces the 20-page list for L2, with the top search terms per page |
| W3 | Canberra and Hobart diagnosis | Both show zero impressions despite tool-reported positions. 10,370 and 1,270 searches a month behind them. Two pages, same symptom, so diagnose once. May be site-level |
| W4 | Topical map build | Blocks the 239-post blog refresh. Without it, a refresh is 239 individual guesses |
| W5 | Services hub rebuild | About 3,180 searches a month recoverable |
| W6 | Keep, merge or delete decisions | The uncomfortable one. It means deleting work people did |
| W7 | Sydney suburb pilot scope | Three to five suburbs, not 67. Local tracking on before it ships |
Recoverable volume
Roughly 32,470 searches a month identified across 13 existing pages.
Read with a caveat
Built against a benchmark competitor who, on the 30 July 2026 overlap measurement, does not share our search results. The page-level volumes stand. The head-to-head framing does not.
| Page | Volume/mo | Note |
|---|---|---|
/seo-canberra/ | 10,370 | Invisible All 4 priority queries at zero impressions |
/seo-sydney/ | 7,750 | "seo consultant sydney" at 17 while the main term is top 3 |
/seo-services/ | 3,180 | Restructure as a hub with a child-page grid |
/seo-services/link-building/ | 2,750 | Worst click-through on the site: 84K impressions, 9 clicks |
/seo-services/seo-website-migrations/ | 1,950 | Refresh and reframe |
/seo-services/technical-seo/ | 1,850 | Already close. Push with internal links |
/seo-hobart/ | 1,270 | Invisible Same pattern as Canberra. Diagnose together |
/blog/enterprise-seo-tools | 1,150 | Already top 5, small lift |
/seo-services/b2b-seo/ | 970 | Real bug is /seo-brisbane/ cannibalising B2B terms |
/seo-services/saas-seo/ | 440 | Cross-link with B2B |
/seo-services/youtube-seo/ | 310 | Position 2, small lift to 1 |
/seo-services/ai-seo/ | 230 | Tighten on generative AI terminology |
/industry/seo-for-jewellery/ | 200 | Position 3, small lift |
The only genuine build gap: /seo-darwin/ at 4,070/mo.
Content decay
Clicks lost per month against a 12-month peak, measured 1 April 2026. Not re-measured since. Re-run before acting.
| Page | Peak | Then current | Clicks lost |
|---|---|---|---|
/seo-sydney/ | 235 | 143 | 92 |
/ | 590 | 531 | 59 |
/seo-services/ | 182 | 126 | 56 |
/seo-brisbane/ | 39 | 10 | 29 |
/seo-services/local-seo/ | 14 | 0 | 14 |
/seo-services/link-building/ | 15 | 2 | 13 |
/blog/what-is-ai-seo/ | 11 | 3 | 8 |
/blog/how-to-rank-in-searchgpt/ | 7 | 0 | 7 |
/seo-services/enterprise-seo/ | 7 | 0 | 7 |
Page inventory
Live sitemap crawl, 5 August 2026. Australia is the reference build for the other two markets.
| Type | Count |
|---|---|
| Total URLs | 480 |
| Blog posts | 241 |
| About us pages | 73 |
| Case studies | 59 |
| Service pages | 30 |
| Industry pages | 22 |
| Location pages | 13 |
The blog is the open question. 241 posts carrying 50.5% of site impressions at 0.09% click-through. W1 will tell us how many of them earn anything. That number decides whether the 239-post refresh is a refresh or a cull.
Eight-week schedule
| Week | Lily | Lawrence |
|---|---|---|
| 1 | L1 title tags, record before and ship | W1 quality node audit, W3 Canberra diagnosis |
| 2 | L3 heading structure pass | W2 click-through analysis, W6 decisions |
| 3 | L1 measure at 14 days, start L2 batch 1 | W4 topical map |
| 4 | L2 batches 2 to 4 | W4 continues |
| 5 | L1 measure at 28 days, L5 profiles | W5 services hub |
| 6 | L4 internal links, L6 thin pages | W7 suburb scope |
| 7 | L7 page refreshes | Review and re-plan |
| 8 | L8 structured data |
Week 3 is the date that matters. That is the first measurement on the title tags, and the first time Lily sees a number move because of something she did. Worth making a moment of.
Blockers and targets
Before week 1
- Lily needs Search Console access. L1 opens with pulling the before state, so she stalls on step one without it.
- Lily needs HubSpot page-editor access. Page editor, not Design Manager.
- Confirm the title tag specs are still current against W2, which is more recent evidence.
Open on the AU roadmap
- Does Contact Click count as a conversion? 1,366 in three months, currently counted as nothing.
- Glossary follow-up has no owner. 161 terms, Tier 1 is 132 of them.
- Website deploys wait on the deploy-day process.
What we are aiming at
Four of the six near-page-one terms inside the top 5. Site click-through from 0.15% towards 0.40%. Canberra and Hobart earning measurable impressions, from zero today. Every page classified keep, merge or remove.
And separately: Lily can run an on-page SEO audit on any site, explain why each finding matters, and prove whether a change worked.
Search data is Google Search Console for the three months to 29 July 2026. Behaviour data is Google Analytics to 3 August 2026. Page counts are a live sitemap crawl on 5 August 2026. Where something has never been measured, this page says so rather than estimating.
StudioHawk · Australia