Emmanuel LopesTechnical SEO Specialist

Technical SEO
at scale.

I fix crawl, indexation and Core Web Vitals on sites with hundreds of thousands of pages. Classifieds marketplaces, programmatic city and category systems, and editorial, in Canadian and US search.

  • +40%organic clicks, classifieds
  • +73%impressions, one quarter
  • 6client domains, CA and US
  • 4+ yrstechnical SEO
Classifieds marketplace homepage on a laptop
Selected work

Real projects. Real numbers.

The lead case is the one to read: programmatic SEO across thousands of marketplace pages.

Canadian classifieds marketplace homepage on a laptop
Programmatic SEO · Classifieds marketplace · Client under NDA

Canadian Classifieds Marketplace

Problem A multi-city marketplace in Canada generating thousands of category and city pages across Real Estate, For Sale, Services and Jobs, with weak indexation and inconsistent per-city metadata.

Action Rebuilt the XML sitemap by city, category and subcategory, cleared sitewide redirect chains, fixed per-city metadata at the template level and built out the city pages Search Console showed real demand for. Every fix went out as a dev-ready Laravel/Blade spec, so it scaled across every page at once.

Result Clicks and impressions up in one quarter, with the growth landing in the mid-sized cities I prioritized.

+40%organic clicks
+73%impressions
1 qtrtimeframe
Programmatic SEO Sitemap architecture Template metadata Schema / FAQ
Read the full case study

Challenge

The client (name withheld under NDA) runs two storefronts, one in Canada and one in the United States, on a Laravel and Bootstrap 5 stack with GA4 and GTM. A classifieds platform like this generates pages by the thousand, because every city, category and listing is its own URL, which pushes the total into the hundreds of thousands. That scale is both the opportunity and the risk. When a template is wrong, the same mistake repeats across hundreds of thousands of pages. When I came in, indexation was uneven, category and city metadata was inconsistent across templates, and the US domain was barely visible in search. My job was to find what held the site back at the template level and fix it once, so the fix carried across the whole tree.

Approach

I worked four fronts at the same time: technical SEO, information architecture, content and search data analysis.

On the technical side, I audited the site page by page, covering every template type: Real Estate, For Sale, Services, Personals, city pages, province pages and the individual listing view. I delivered each audit as current code next to corrected code, so the engineering team could ship without reverse engineering my intent. The audits focused on heading structure, breadcrumbs with proper Schema.org BreadcrumbList markup, and the listing carousels.

For indexation, I worked from the Search Console coverage report and split the backlog into two buckets: a discovery gap, where Google could not reach pages efficiently, and a quality and trust gap. That split set the order of the work, and the same read told me which of the two domains needed structure first and which needed trust first.

What I delivered

  • Page-by-page technical audits with current versus corrected code for Real Estate, For Sale, Services, Personals, city, province and listing templates, including heading fixes, BreadcrumbList schema and carousel corrections.
  • A city-pages program across more than ten markets, including Toronto, Ottawa, Calgary, Edmonton, Vancouver, Winnipeg, Montreal, London ON, Hamilton and Kitchener-Waterloo. I built it on a hybrid workflow: dense pages for cold markets that still had to earn trust, and a faster version at about 80% of the depth for cities already showing search demand, with priority set by Search Console impression data.
  • An indexation recovery plan prioritized into faceted navigation, sitemap restructuring and a cleaner subcategory layer, sized to cover the large majority of the backlog.
  • A full three-level Services taxonomy (top, mid-level and leaf categories), with a matching sitemap restructure and internal cross-linking plan.
  • Introductory content blocks for the footer of dozens of city and category combinations, written to a strict natural-tone standard so the pages read like a person wrote them, not a generator.
  • A recurring quarterly Search Console routine: filter queries by position, group by page type, and sort opportunities into Quick Win, Medium and Low, which became a phased action plan the team could work through.

Result

In one quarter, organic clicks rose 39.7% and impressions 73.5%. Growth landed where I prioritized: mid-sized markets grew between 67% and 72% while the majors stayed flat, and the job listings started earning clicks as rich results. Both figures were cross-checked against a second independent Search Console export, agreeing within 0.7% on clicks and 0.13% on impressions.

US classifieds category page on mobile
Indexation recovery · Technical SEO · Client under NDA

US Classifieds Marketplace

The US site of the same marketplace, with a different problem. The sitemap was handing Google more than 100k URLs, so the pages that mattered were getting lost in the pile. I consolidated it into a curated set and set index-control rules on the template pages, and in one quarter sitewide impressions went up 745% and clicks 98%. Separately I caught a Cloudflare rule returning 403 to Googlebot while the site looked fine in any browser, and I confirmed the fix with a live URL Inspection test, because testing with a fake Googlebot user agent gives you a false result.

+745%impressions
+98%organic clicks
1 qtrtimeframe
SyTechZone tech publication
Editorial · WordPress · Core Web Vitals

SyTechZone.com

My own publication, and the one project where I can show the debugging instead of describing it. Mobile PageSpeed kept returning NO_LCP with a healthy FCP and a fully painted page, so nothing in the report pointed at the cause. I bisected it with Puppeteer request interception and a buffered LCP observer: scroll-behavior smooth on a scroll-snap carousel made Chrome read the first snap as a pre-paint scroll and stop emitting LCP entries for the entire page. One CSS value. Mobile 92, custom theme, full editorial pipeline.

Visit site
How I work

Three phases, no fluff.

A structured process, not a retainer for slides nobody reads.

01

Crawl

Full Screaming Frog crawl. I map indexation, redirect chains, orphan pages and Core Web Vitals, then rank every issue by traffic impact.

02

Fix

Canonicals, templates, schema and metadata at scale. When it needs a developer, I write the Laravel/Blade spec myself, ready to merge.

03

Report

I track clicks and impressions in Search Console and report the delta, not vanity charts. You see what moved and why.

Stack

The tools I use daily.

4+ years building and optimising websites end to end.

Focus
Programmatic SEO Technical SEO Core Web Vitals Classifieds Editorial
SEO
On-Page Off-Page Crawlability & Indexation Keyword Research Link Building SEO Strategy
Tools
GA4 Search Console SEMrush Ahrefs Screaming Frog PageSpeed Insights Rank Math
Code
HTML5 CSS3 JavaScript PHP WordPress Laravel / Blade specs Accessibility CRO
Languages
Portuguese (native) English (fluent) Spanish (advanced)

Want a free mini-audit?

15 minutes, no commitment, you keep every finding.