Getting found is three different problems now.
A ranking on Google. A place in the map pack when somebody searches "near me". And being one of the sources an AI quotes when it answers instead of listing links. They are not the same job, and most sites are built for the first one only.
I am Mark Aguado, an SEO consultant and web developer in Ottawa. Seven years, most of it running the search and organic channel inside one company's stack, and the rest building sites for small businesses here and in the Philippines.
Get a free site audit What the three are
Free 20 minute audit · no sales pitch · reply within 24 hours
Three places a customer can find you
Each one is decided by something different. Work on the first and ignore the other two, which is the usual arrangement, and you are invisible in two of the three.
-
01
The ten blue links
Decided byRelevance, technical health and what else is competing. Crawlable markup, sane headings, page speed, internal links, and pages that actually answer the query rather than circling it.
Keyword research in SEMrush and Ahrefs, technical SEO, and content built against real search intent rather than a word count. Search Console wired up so you can see which queries you appear for and where you sit.
-
02
The map pack, for "near me"
Decided byProximity, prominence and relevance. Your Google Business Profile, categories, hours, photos, review volume and recency, and whether your name, address and phone match everywhere they appear.
Profile set up and worked properly, service area pages that are about the area and not a template with the town swapped, a review flow that asks at the right moment, and NAP consistency across Ottawa, Kanata, Nepean, Orleans and Barrhaven.
-
03
The answer, when there are no links
Decided byWhether a machine can read your page, work out what your business is, and lift a sentence from it with confidence. AI Overviews, ChatGPT and Perplexity assemble answers from sources they can parse. An unparseable site is not in the running.
Structured data so the entity is unambiguous, headings that map to real questions, answers stated plainly in the first sentence rather than buried, and consistent facts across your site and your listing. I have run a site's search channel through Google's AI Overview rollout and watched which pages survived it.
Nobody can promise you a citation in an AI answer, and anyone who does is selling something. What can be done is make the page eligible: readable, unambiguous, and consistent with everything else that describes you. That part is checkable, which is the next section.
Machine readable is not a side quest
The same properties that let a screen reader work through a page let a crawler and an answer engine parse it. Semantic headings, labelled controls, real text instead of pictures of text, structured data, no layout that collapses at 320 pixels. So I check it mechanically, and the report below is this page's own output, pasted from the run.
=== ALL CHECKS PASSED === CONTRAST (187 text elements) PASS all text meets WCAG 2.0 AA STRUCTURE PASS exactly one h1 found 1 PASS no skipped heading levels 1,2,3,3,3,2,2,3,3,3,3,2,2,3,3,3,3,3,3,3,3,2,3,3,3,3,2 PASS html[lang] set en PASS has <title> PASS zoom not disabled (1.4.4) PASS skip link first + target exists (2.4.1) PASS no duplicate id (breaks label[for] and getElementById) IMAGES & ICONS PASS every <img> has alt PASS every <img> actually loaded PASS decorative svg aria-hidden 0 unlabelled PASS aspect-ratio not defeated by width/height attrs (needs height:auto) PASS asset paths are root-absolute (survive cleanUrls, no trailing slash) FORMS (4 controls) PASS every control labelled (1.3.1/4.1.2) PASS checkbox group in fieldset/legend PASS has aria-live status region LINKS PASS no dead in-page anchors PASS tel / sms / wa.me links are E.164 WIDGETS PASS aria-expanded controls are buttons with a real target @ 1280px PASS no horizontal scroll (1.4.10) scrollWidth=1280 PASS every link/button has an accessible name @ 390px PASS no horizontal scroll (1.4.10) scrollWidth=390 PASS every link/button has an accessible name @ 320px PASS no horizontal scroll (1.4.10) scrollWidth=320 PASS every link/button has an accessible name FORM BEHAVIOUR PASS empty submit is blocked & announced invalid=name,email,msg PASS focus moves to first bad field (3.3.1) PASS valid submit reaches success state Thanks, I will reply within 24 hours.
These map largely to WCAG 2.0 AA, which AODA asks of a great many Ontario businesses. Very few small business sites pass. It is among the cheapest things in the world to check, and it is the same groundwork that makes a page quotable.
Four steps, each one leaves something behind
Every stage produces something you keep, so at no point are you taking my word for how it went.
-
01
Audit all three surfaces first
Twenty minutes across your site, your Google Business Profile and what an AI currently says when asked about your trade in your area. What you rank for now, what is broken, and what a competitor is doing that you are not.
You keepA written summary in plain terms, whether or not you hire me.
-
02
Content that traces back to something
Your real reviews, your real photos, your real hours. If a claim cannot be traced to a source it does not go on the page. That rules out most of what fills a small business website, and it is also what makes a page safe for an answer engine to quote.
You keepA page where every claim has an origin you can check.
-
03
Built, marked up, then mechanically checked
Structured data for the business, the services and the reviews. Then the audit above runs at three widths, and a Playwright rig sweeps the live site for broken links, layout shifts, accessibility gaps and missing meta.
You keepThe audit report, green, before launch.
-
04
Measured from day one, not later
GA4, Google Tag Manager and Search Console wired up at launch, with events on the things that matter: calls, form sends, direction taps. Not pageviews. Search Console is what tells you which queries you newly appear for.
You keepA monthly report, and the accounts, in your name.
What I cannot show you yet
I do not have a case study that says traffic rose 340 percent. Most of my seven years has been in house, where the numbers belong to my employer, and the small business sites are recent enough that the interesting data is not in yet.
Anyone opening with a number like that on a first call either has one unusual client or made it up. I would rather say so than show you a chart I drew myself.
So the offer is not a promise about rankings. It is that the work is checkable at every step, and you keep the evidence.
When there are real numbers they will appear here, with the client named and the date attached. Until then this section stays exactly as it is.
Sites and systems that are live
Client websites across two countries, and the tooling I built to do the work faster and check it properly.
Client websites
-
ProStyle Martial Arts
Kanata, Ontario
A martial arts school running kids, teens and adults programs. WordPress, a trial class booking funnel, mobile first, and local SEO aimed at people searching for martial arts in Kanata.
-
Kelly's Clinic
Canada · healthcare
A hormone optimization and HRT practice. Built around a virtual appointment platform with patient intake questionnaires, clear service pages, and a booking flow that does not lose people halfway.
-
Globe Telecom Shop
Philippines · e-commerce
The online shop for one of the country's largest telecom providers. Enterprise storefront work: complex catalogues, checkout, and performance under heavy traffic.
-
Pannzian Beach and Farm Resort
Pagudpud, Philippines
Brand and booking site for a beach and farm resort. WordPress with AWS media storage, image heavy by necessity, and SEO built to catch travel intent searches.
Tools I built to do the work
-
Automated web quality assurance
Playwright · CI
A Playwright rig that sweeps live sites for broken links, layout and visual regressions, accessibility gaps, and SEO or meta errors across every page. It is what turns "I checked it" into a report with a date on it.
In house
-
Accessibility and layout audit
Node · headless Chrome
The 23 check audit whose output is at the top of this page. It measures contrast against each element's real computed background, drives the contact form through an invalid and a valid submit, and refuses to pass a page that scrolls sideways at 320 pixels.
In house
-
AI content and SEO pipeline
Next.js · Supabase · Claude API
A four phase pipeline, outline to draft to SEO to humanize, built with Next.js, Supabase, Pinecone, n8n and the Claude API. It cuts hours of manual content and SEO work down to minutes, with a person reviewing everything before it ships.
In house
-
soontobecanadian.com
Side project
A Canadian immigration timeline tracker built end to end. Structured, SEO driven content and a multi agent content system, serving organic search traffic with strong session engagement.
What it costs
Fixed price, quoted in writing within 24 hours of the audit. No hourly billing, and no number that moves after you have said yes.
-
01
Website build
A fast, mobile first WordPress site with a clear booking or contact path, ready to rank and passing the audit before it goes live.
$500 to $2,000one time
-
02
SEO and analytics setup
GA4, Tag Manager and Search Console wired up, keyword research in SEMrush and Ahrefs, and on page optimization.
$300 to $600one time
-
03
Local SEO and growth retainer
Google Business Profile, content, reviews, lead automation, and a monthly report showing what moved and what did not.
$300 to $800per month
-
04
Marketing automation
HubSpot landing pages, workflows, and AI or n8n automations that capture and follow up leads without anyone having to remember.
Customscoped first
Start with the audit
Twenty minutes on your site and your Google listing, and a written summary of what is holding your visibility back. Yours to keep whether you hire me or not.
mark@buildwithmark.ca github.com/markaguado linkedin.com/in/mark-aguado
Based inOttawa, Ontario. Working with businesses across Ottawa, Kanata, Nepean, Orleans and Barrhaven, and remotely in the Philippines.
BackgroundComputer Programming Diploma from Algonquin College, Dean's Honours, and a B.Sc. in Information Technology. Day to day I run the SEO and organic channel for an Ottawa tech company, owning 19 WordPress plugins and the analytics stack across GA4, Tag Manager and Search Console.
LanguagesEnglish and Filipino.