Portfolio

Proof, not promises.

If you are deciding whether to trust someone with your Google rankings, start here. These are before and after screenshots from my own client work: Google Business Profile rank grids, Search Console and Semrush, unedited. Clients stay anonymous. The numbers do not.

Local SEO and Google Business ProfileSEO auditsSchema and technicalContent that ranksAEO and AI search
9+Years doing SEO
93%Top-3 coverage, best local result
76+Business Profiles managed

Google Business Profile

Where your customers actually search from

Rankings are not one number. A plumber can be #1 from their own shop and invisible three suburbs over. Each dot below is a Google Maps search run from that exact spot: green means the business shows in the top 3, red means it is outside the top 20. Same grid, same keyword, same tool, before and after. This is how I report local SEO, so you always know where you are winning and where you are not yet.

From page two to the map pack across the whole grid: before and afterOpen full size

GBP project 1

From page two to the map pack across the whole grid

US local business, 9x9 grid at 1 km spacing, Oct 2025 to Jan 2026

Average grid rank11.44.1
Share of local voice14%51%

Three months of profile work, no ads. Before this, a customer searching from most of the service area never saw the business. Now most of those searches show it in the top 5.

Invisible outside a few blocks, then #2 almost everywhere: before and afterOpen full size

GBP project 2

Invisible outside a few blocks, then #2 almost everywhere

US local business, 13x13 grid at 1 km spacing, Jun to Oct 2024

Average total grid rank18.73.1
Share of local voice9%93%

The business was invisible on Maps beyond a few blocks. Four and a half months later it holds #2 across 93% of a 13 km wide area. This is what a fully worked Business Profile looks like.

Closing the gap in the half of town that was not ranking: before and afterOpen full size

GBP project 3

Closing the gap in the half of town that was not ranking

US local business, 9x9 grid at 1 km spacing, Jul to Nov 2025

Average grid rank7.05.2
Average total grid rank12.25.2

Half the service area did not rank at all. Four months in, it sits at positions 4 to 9 and is still climbing. I show the unfinished ones too, because that is what month four usually looks like.

Georgetown, Texas: fewer red pins, more green: before and afterOpen full size

GBP project 4

Georgetown, Texas: fewer red pins, more green

Georgetown, TX service business, monthly scans, Mar to May 2025

Points ranked "good"20%43%
Points out of the top 2014%4%
Points ranked "poor"23%14%

Two months between scans. Points outside the top 20 fell from 14% to 4%, which is the difference between a customer finding you and finding your competitor.

West Valley, Arizona: holding #1 and pushing east: before and afterOpen full size

GBP project 5

West Valley, Arizona: holding #1 and pushing east

Buckeye and Goodyear, AZ service business, 5x5 grid

Grid points at #111 of 2515 of 25
Grid points in the top 317 of 2518 of 25

The business already owned its home turf. The work here was pushing #1 east into the neighboring suburbs without losing the west side.

Average grid rank counts only the points where the business ranked at all. Average total grid rank counts every point, with unranked points as 20+. Share of local voice is the percentage of points in the top 3, weighted toward #1. These are the tracking tools' own definitions.

Organic search

Organic search, with the dips left in

Search Console compares the latest period with the one before it, straight from Google. Semrush charts are third-party estimates, useful for direction, not exact visits. I label which is which, because you should never have to guess where a number came from.

Clicks doubled while impressions fell: before and afterOpen full size

SEO win 1

Clicks doubled while impressions fell

Google Search Console, last 6 months vs the 6 before

Clicks3.69K7.61K
Average CTR0.1%0.4%
Average position40.426.8
Impressions2.82M2.03M

Clicks doubled while impressions fell, on purpose. Pruning off-topic pages dropped the noise and lifted the average position by 14 places. More customers, less vanity.

A new site goes from 3 clicks to 511: before and afterOpen full size

SEO win 2

A new site goes from 3 clicks to 511

Google Search Console, last 6 months vs the 6 before, to Oct 2025

Clicks3511
Impressions4.11K46.9K
Average CTR0.1%1.1%
Average position48.531

A new site with no content and 3 clicks to its name. Six months of real content later, 511 clicks and a 10x rise in impressions. Small numbers, honest start, every one moving the right way.

Clicks tripled over six months for a poultry education site: before and afterOpen full size

SEO win 3

Clicks tripled over six months for a poultry education site

Google Search Console, Apr 16 to Oct 15, 2026 vs the 6 months before

Clicks3.18K9.78K
Impressions1.33M2.7M
Average CTR0.2%0.4%
Average position7.06.8

Rewritten breed guides and rebuilt topic hubs. One guide alone earned 3,849 clicks, about 58% of the gain, and then dropped out of the results in August. The full case study covers both the win and the loss, because a client deserves to know where the traffic came from.

A commercial keyword jumps 85 places in one month: before and afterOpen full size

SEO win 4

A commercial keyword jumps 85 places in one month

Semrush Position Tracking, US, May 24 to Jun 22, 2026

"trunk case" position10015
Tracked keywords in the top 2014
Content assets published36

A US custom road case maker on Shopify. Twenty-four audience-specific articles plus 12 supporting posts in the first weeks, and the money keywords started moving: "trunk cases" to #10, "trunk case" up 85 places to #15, one modest on-page push from page one.

Users up 67% and sessions up 77% on the same store: before and afterOpen full size

SEO win 5

Users up 67% and sessions up 77% on the same store

Google Analytics 4, last 30 days vs previous 30, to Jun 21, 2026

Users1,8603,100
Sessions2,1503,800
Engagement rate86%

Same road case maker, same month. These are all-channel GA4 numbers, so I report them as site growth, not an organic-only win. Semrush showed estimated organic traffic roughly flat in the same window, and the report says so.

The most-cited source in AI answers about its own practice area: before and afterOpen full size

SEO win 6

The most-cited source in AI answers about its own practice area

Semrush AI Search visibility, Tampa personal injury firm, Jun to Jul 2026

Citations of the firm in AI answers6
AI-search mentions17
Keywords sitting on page two356

Not a traffic win, and the report does not dress it up as one: organic clicks fell 18% a day in July while click-through rate improved. What the firm got was an honest diagnosis, the AI visibility it did have, and a plan built on the 356 keywords one page away from earning traffic.

Estimated organic traffic triples after a content rebuild: before and afterOpen full size

SEO win 7

Estimated organic traffic triples after a content rebuild

Semrush Domain Overview, all time, to early 2026

Est. monthly organic visitsunder 700about 2K

Semrush estimates, not analytics, so treat the shape as the story. The jump at the right edge followed a rewrite of the core service pages. Same business, same site, better pages.

Keywords climb from about 1K to 4.7K: before and afterOpen full size

SEO win 8

Keywords climb from about 1K to 4.7K

Semrush Domain Overview, all time, 2022 to 2026

Ranking keywordsabout 1.2K4.7K peak
Est. monthly organic visitsabout 1K9K peak

Three years of steady publishing took the site from about 1K to 4.7K ranking keywords. Traffic eased after the 2024 peak and is climbing again, which is what durable SEO looks like.

Client work

What clients hand me

The screenshots above are the end of the story. This is the work that gets a business there: the audits, schema builds, content systems and link programs I have delivered for clients in the US, Australia and New Zealand. If your situation looks like one of these, I have done it before. Clients stay anonymous; the industry, market and deliverable are exact.

Audits and reports

Residential roofing, siding and windows contractor

Twin Cities, Minnesota

Consolidated SEO audit covering crawl health, indexing, on-page gaps and keyword opportunities, written as a prioritized fix list rather than a tool export.

Google Search Console, Semrush, Screaming Frog

Hair extensions and wigs retailer (Shopify)

New Zealand, Australia and global stores

Took the account over from an agency: reviewed the technical audit and traffic-decline files they left, rebuilt collection page briefs and a CTR test plan, then ran the blog for both stores.

Shopify, Google Search Console, Semrush

Specialty tea retailer (Shopify)

United States

Monthly Search Console performance reports as branded Word documents, alongside refreshes of older blog posts with verified internal links and no health claims.

Google Search Console, Shopify

Schema and technical SEO

Roofing and solar contractor

Denver, Colorado

Per-page JSON-LD schema for the whole site, built from the client's intake form to an agency advanced-schema SOP, then deployed and validated.

WordPress, Elementor, Rank Math PRO

Roofing and remodeling contractor

Gainesville, Georgia

Page-by-page schema implementation pack plus a validation workbook, acting as the schema partner for the agency on the account.

JSON-LD, Rich Results Test, Schema Markup Validator

Backyard poultry education site

United States

Rebuilt breed guides as structured pages from a content system that checks live data, flags broken media and validates each page before publishing. The 52-day case study came from this work.

WordPress, Google Search Console, custom build and check scripts

Local SEO and strategy

Solar-powered site security camera hire (Webflow)

Australia

Competitor analysis against the market leader, a marketing strategy presented to the team in person, and a blog pipeline that ships each article with FAQ and Article schema.

Webflow, Semrush, JSON-LD

76+ Google Business Profiles

United States and Australia

Ongoing profile management for local service businesses: categories, services, posts, reviews, Q&A and monthly geo-grid rank tracking. The rank grids above come from this work.

Google Business Profile, geo-grid trackers

Content systems and link building

Network of nine plumbing businesses

Sydney and the Blue Mountains, Australia

High-volume blog and Web 2.0 articles with a quick-answer box, verified internal links, funnel-staged calls to action and FAQ schema, delivered as Google Docs.

WordPress, JSON-LD, Google Docs

Network of about 93 garage door, locksmith and safe companies

Dallas, Houston and New York

Keyword focus per site and a Web 2.0 article program for link building across the network.

Semrush, Web 2.0 properties

Insurance brand (six US states)

California, Texas, Illinois, Pennsylvania, Ohio, Florida

A batch of 58+ article pairs, each a blog post plus FAQPage schema, across every insurance line, with state availability rules applied to each piece.

Markdown, JSON-LD

Personal injury law firm

Tampa, Florida

Location-targeted Web 2.0 articles for link building, each checked against the current Florida statute it cites.

Web 2.0 properties, legal source checks

Every audit and report I send follows the same rule as this page: findings over promises. Each issue is scored against a written rubric, the data source is named, and the fix is spelled out in plain English so you can act on it with or without me.

How I work

What hiring me actually looks like

1

You get the audit before you pay for anything

Send your site and I send back what I would fix first, ranked by impact and scored against a written rubric. No sales call needed to read it.

2

You get a plan with an order of operations

Technical blockers first, then Google Business Profile and local signals, then content that answers what your customers actually search. You will always know what is being done this month and why.

3

You get reports that look like this page

Before and after, source named, dips included. Rank grids for local work, Search Console for organic, plus where you appear in AI Overviews and ChatGPT when that matters for your market.

4

You never get a guaranteed #1

Google itself says to walk away from anyone who promises rankings. What I promise is the work, the data and a straight answer when something is not moving.

Nine years in SEO, 76+ Google Business Profiles managed for US and Australian businesses, and a master’s in teaching mathematics that is the reason every report comes with its data attached.

Want the full story?

Read the Field Notes.

Every chart here has a case study behind it: what was broken, what I changed, in what order, and what did not work. Read one and you will know exactly how I would approach your site.

Your business next?

Start with a free audit.

Send me your website and your service area. Within 24 hours you get back the three things I would fix first and why, in plain English, free and with no obligation. If it makes sense to keep going, we talk about a project, part-time or full-time arrangement. If it does not, you still have the list.

error: Content is protected !!