Illustrative case study

A fictional business. The figures are a modelled scenario, not a client result.

SEO case study · Bytewren Repair

Laptop & phone repair, three shops · Portland · Portland, North America

How a three-shop repair business took the map pack across Portland's neighbourhoods

8 months of local work for three shops: Google Business Profile, Location pages, Review generation, LocalBusiness schema.

No. 0001

Fixed

Repair job · all 3 shops

+184%

calls from Google

Turnaround: 8 months

01 · Intake

Three benches, one blurry pin on the map.

National repair chains and franchise sites dominated 'phone repair near me', while Bytewren's three shops shared one generic profile page.

Someone with a cracked screen in Sellwood was shown a franchise kiosk across the river, because Google only knew about one Bytewren address. The site had no page per shop, reviews had stalled, and the directory listings disagreed about the phone number. Customers who did find the shop often rang the wrong counter.

Diagnosis sheet

6 faults found
  1. GBP-01Profile

    One Google Business Profile carried three addresses in its description. Sellwood and Alberta had no verified profile, so Google showed one pin for a 6-mile spread of the city.

  2. GBP-02Profile

    Primary category was 'Computer store'. 'Cell phone repair shop' and 'Computer repair service' were missing, which kept the shop out of most repair queries.

  3. NAP-03Citations

    41 directory listings with five spellings of the name and two retired phone numbers. Yelp, Apple Maps and Bing Places disagreed on opening hours.

  4. WEB-04Site

    A single /locations page listed all three shops in one paragraph. No per-shop URL meant nothing to link each profile to and nothing to rank for neighbourhood terms.

  5. SCH-05Schema

    No structured data at all. No LocalBusiness, no opening hours, no geo coordinates, no service list for Google to read.

  6. REV-06Reviews

    About 1.4 new reviews per shop per month, none answered since spring. Chains nearby were adding 20+ a month and replying to every one.

02 · The fix

Four parts, fitted in order.

The work runs on our Local plan. Each shop was treated as its own business with its own profile, page, reviews and markup, then tied together under one brand.

A

Google Business Profile

Split into three verified profiles, one per shop, each with its own phone line for call tracking. Primary category set to Cell phone repair shop, with Computer repair and Tablet repair as secondaries. 34 services listed with price ranges, real bench photos uploaded weekly, and Q&A seeded with the questions customers actually ring about.

B

Location pages

Three neighbourhood pages: /hawthorne, /alberta-arts and /sellwood. Each has its own hours, parking and transit notes, repair turnaround times, the devices that bench sees most, and an embedded directions link. Each profile's website field now points to its own page, not the homepage.

C

Review generation

A short text goes out when a repair ticket is closed, with a direct link to that shop's review form. Staff answer every review within 48 hours, naming the repair. No incentives and no filtering, so the system stays inside Google's policies.

D

LocalBusiness schema

Each location page carries ElectronicsRepairShop markup (a LocalBusiness subtype) with address, geo, openingHoursSpecification, priceRange and a makesOffer list of services, all tied to its profile through sameAs. Validated in Rich Results Test and checked monthly.

03 · Job log

8 months on the line.

  1. M1

    Audit & split

    Citation audit; two new profiles requested and verified by video; old profile moved to Hawthorne.

  2. M2

    Categories & NAP

    Categories and services rebuilt; 41 citations corrected; duplicate listings merged.

  3. M3

    Location pages live

    Three neighbourhood pages launched with schema; profiles linked to their own URLs.

  4. M4

    Review loop

    Ticket-close review texts start; reply playbook in use at all three counters.

  5. M5

    Photo & Q&A cadence

    Weekly bench photos and seasonal posts; Q&A covers water damage and data recovery.

  6. M6

    Neighbourhood links

    Listed with three business associations and two local news repair guides.

  7. M7

    Service expansion

    Console and e-reader repairs added to profiles and pages after call-log analysis.

  8. M8

    Grid tracking

    Map-pack position measured on a 7×7 grid per shop; gaps fed back into posts.

04 · Results, per shop

Back on the board, tagged and fixed.

Each tag is one shop. Flip it to read that shop’s month-8 numbers.

05 · All three shops together

Calls from Google profiles+184%
0100200300M0M1M2M3M4M5M6M7M8284

Calls placed from the three profiles, month 0 = 100.

Map-pack visibility
68%from 21% at month 0

21% → 68%

Share of 7×7 grid points where a Bytewren shop shows in the top 3.

Reviews per shop38 → 210
Walk-in repairs

+41%

Month 0
Month 8

Repairs logged at the counter, indexed to month 0.

Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.

Month 0phone repair near me
  1. 1National repair chain 4.6 (1,204) · Ad-backed franchise
  2. 2Franchise kiosk, Lloyd Center 4.3 (688) · Mall kiosk
  3. 3Big-box tech desk 3.9 (2,310) · Retail
Month 8phone repair near me
  1. 1Bytewren Repair · Hawthorne 4.9 (246) · Open · repairs in 45 min
  2. 2National repair chain 4.6 (1,311) · Ad-backed franchise
  3. 3Bytewren Repair · Sellwood 4.9 (186) · Open · same-day screens

Rankings ticket

Local pack / organic position from the nearest shop, month 0 against month 8.

Search termShopBeforeAfter
phone repair near meHawthorne142
iphone screen repair portlandHawthorne181
macbook repair portlandAlberta Arts233
computer repair alberta artsAlberta Arts121
ipad screen repair sellwoodSellwoodNot top 501
laptop battery replacement portlandAlberta Arts314
water damage phone repair portlandSellwoodNot top 502
samsung charging port repairHawthorne275

Your ticket

Get a plan like this

More than one location, one tangled profile? We start with the same diagnosis sheet.