Skip to content

SEO Strategy

Search engine optimization plan for MTL Rent — targeting Montreal rental search traffic in both French and English.

Current State Audit

What's Working

AreaStatusDetails
Bilingual URL routingOK/en/listings, /fr/listings with locale prefix always shown
Hreflang alternatesOKProper alternates.languages in all layout generateMetadata()
Neighborhood pagesOK76 neighborhoods with descriptions (EN/FR), highlights, walkability/transit scores
Blog/wiki systemOKArticles table with bilingual content, /blog and /wiki routes
Robots.txtOKAllows all crawlers, points to sitemap
Open Graph tagsOKog:locale set to en_CA / fr_CA per locale

Critical Gaps

GapStatusPriority
Incomplete sitemapDone — expanded to 9,000+ URLs (76 neighborhoods × 2 locales + 4,480 listings × 2 locales + articles)P0
No dynamic page metadataDonegenerateMetadata() on listings, neighborhoods, blog, wiki detail pagesP0
No Schema.org structured dataDone — JSON-LD on listings (RealEstateListing), neighborhoods (Place), articles (BlogPosting/Article)P1
Client-rendered detail pagesDone — server component wrappers with client component childrenP1
No Google Search ConsoleNot yet — needs manual setupP1
No internal linking strategyNeighborhood pages don't link to filtered listing views and vice versaP2
No FAQ/featured snippet targetingMissing FAQ sections on high-value pagesP2

Keyword Strategy

Bilingual Keyword Map

Montreal is the 2nd-largest French-speaking city in the world. French search volume is significant and less competitive than English. We must target both languages equally.

Tier 1 — High-Intent Transactional (hardest, highest value)

ENFRNotes
apartments for rent montrealappartement à louer montréalDominated by Kijiji, Rentals.ca, Zumper
condos for rent montrealcondo à louer montréal
houses for rent montrealmaison à louer montréal
montreal rentalslocation montréalBroad
studio for rent montrealstudio à louer montréal

Strategy: Too competitive for a new site. Build authority first, target these in 6-12 months. For now, focus ads here.

Tier 2 — Neighborhood (our biggest opportunity)

ENFRNotes
apartments for rent plateau montrealappartement à louer plateau mont-royalHigh search volume
rent in verdun montreallouer verdun montréal
griffintown apartmentsappartement griffintown
mile end rentalslocation mile end
NDG apartments for rentappartement à louer NDG
rent hochelaga montreallouer hochelaga montréal
rosemont apartmentsappartement rosemont

Strategy: We already have 76 neighborhood pages with rich content. Add proper metadata, expand sitemap, and these pages can rank within 2-3 months.

Tier 3 — Long-Tail (low competition, high conversion)

ENFRNotes
pet friendly apartments plateau montrealappartement animaux acceptés plateauFeature + location
2 bedroom apartment verdun4½ à louer verdunBedrooms + location
cheap apartments montreal under $1000appartement pas cher montréal moins de 1000$Price-filtered
furnished apartment downtown montrealappartement meublé centre-ville montréal
apartments near concordia universityappartement près de concordia
3½ à louer montréalQuebec-specific term (FR only)
4½ à louer plateauQuebec-specific term (FR only)

Strategy: Create programmatic pages for bedroom × neighborhood combinations. Target Quebec-specific terms like "3½" and "4½" that national platforms miss.

Tier 4 — Informational (traffic + authority building)

ENFRNotes
average rent montreal 2026loyer moyen montréal 2026Market reports
tenant rights quebecdroits des locataires québecEvergreen guide
july 1st moving day montreal1er juillet déménagement montréalSeasonal spike
quebec lease lawslois bail québecEvergreen
rent increase limits quebec 2026augmentation loyer québec 2026Annual update
how to find apartment montrealcomment trouver appartement montréalUltimate guide
best neighborhoods montreal rentersmeilleurs quartiers montréal locatairesNeighborhood hub

Strategy: Blog content aligned with content calendar. Drives traffic year-round, with major spikes around July 1st (moving day) and September (student season).

Seasonal Search Patterns

PeriodTrendAction
May-JunePeak "apartments for rent" searches (July 1st leases)Publish moving guides, boost neighborhood content
July 1stMassive spike — Montreal's universal moving day"Moving day survival guide", social blitz
August-SeptemberStudent rental season (McGill, Concordia, UdeM, UQAM)Student-focused content, university partnerships
October-FebruaryLow season, fewer searchesFocus on evergreen content, market reports, technical SEO
March-AprilSearches start climbing again for July leasesRefresh neighborhood pages with new stats

Programmatic SEO

Our biggest growth lever: we have structured data (76 neighborhoods, 279+ listings) that can generate hundreds of high-quality, indexable pages automatically.

Neighborhood Pages (already built — need optimization)

Current: 76 pages at /en/neighborhoods/{slug} and /fr/neighborhoods/{slug} = 152 URLs.

Each page already has:

  • Bilingual description and highlights (populated for all 76)
  • Walkability and transit scores
  • Per-bedroom price stats (avg, min, max, count)
  • Active listings in the neighborhood
  • Borough context

Missing (to fix):

  • generateMetadata() with dynamic title/description from neighborhood data
  • Inclusion in sitemap.ts
  • Schema.org Place structured data
  • FAQ section targeting featured snippets ("What's the average rent in {neighborhood}?")
  • Internal links to filtered listings view

Target titles:

  • EN: "Apartments for Rent in {Neighborhood} | MTL Rent"
  • FR: "Appartements à louer à {Neighborhood} | MTL Rent"

Target descriptions:

  • EN: "Find {count} apartments for rent in {Neighborhood}, Montreal. Average rent: ${avg}/mo. Walkability: {score}/100. Browse listings with photos, prices, and neighborhood insights."
  • FR: "Trouvez {count} appartements à louer à {Neighborhood}, Montréal. Loyer moyen : {avg}$/mois. Marchabilité : {score}/100. Parcourez les annonces avec photos et prix."

Listing Detail Pages (need metadata)

Current: 279+ pages at /en/listings/{id} and /fr/listings/{id}. Client-rendered, no server-side metadata.

To add:

  • generateMetadata() with listing title, price, location, bedrooms
  • Schema.org RealEstateListing + Apartment/House structured data
  • Inclusion in sitemap.ts (active listings only)
  • Canonical URLs

Target title: "{Title} — ${price}/mo in {Neighborhood} | MTL Rent"

Blog/Wiki Articles (need sitemap)

Current: Articles exist in DB with slugs. Routes at /blog/{slug} and /wiki/{slug}.

To add:

  • Include in sitemap.ts
  • Schema.org Article / BlogPosting structured data
  • Proper generateMetadata() from article title and excerpt

Future: Bedroom × Neighborhood Pages

Generate pages like:

  • /en/neighborhoods/plateau/2-bedroom → "2 Bedroom Apartments in Plateau Mont-Royal"
  • /fr/neighborhoods/verdun/3-bedroom → "Appartements 3 chambres à Verdun"

This creates 76 neighborhoods × ~4 bedroom counts × 2 locales = ~608 additional indexable URLs targeting high-intent long-tail queries.


Technical SEO Roadmap

Priority 0 — Sitemap Expansion

File: services/web/app/sitemap.ts

Expand from 14 static URLs to include:

  • All 76 neighborhoods (fetch slugs from API)
  • All active listings (fetch IDs from API)
  • All published articles (fetch slugs from API)

Estimated total: 14 static + 152 neighborhoods + 558 listings + articles = 700+ URLs.

Consider splitting into multiple sitemaps (sitemap-index.xml) if listings grow past 1000.

Priority 1 — Dynamic Page Metadata

Add generateMetadata() to:

  • /neighborhoods/[slug]/page.tsx — title from neighborhood name, description from stats
  • /listings/[id]/page.tsx — title from listing title, price, location
  • /blog/[slug]/page.tsx — title from article title

These pages are currently client-rendered. For metadata to work, they need a server component wrapper or a separate generateMetadata export that fetches data.

Priority 2 — Schema.org Structured Data

Add JSON-LD <script> tags:

Listing pages:

json
{
  "@context": "https://schema.org",
  "@type": "RealEstateListing",
  "name": "Spacious 2BR in Plateau",
  "url": "https://mtl-rent.fesenko.net/en/listings/abc",
  "datePosted": "2026-01-15",
  "offers": {
    "@type": "Offer",
    "price": "1450",
    "priceCurrency": "CAD",
    "availability": "https://schema.org/InStock"
  },
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Rue Saint-Denis",
    "addressLocality": "Montreal",
    "addressRegion": "QC",
    "postalCode": "H2X 1K8",
    "addressCountry": "CA"
  }
}

Neighborhood pages:

json
{
  "@context": "https://schema.org",
  "@type": "Place",
  "name": "Plateau Mont-Royal, Montreal",
  "description": "...",
  "geo": { "@type": "GeoCoordinates", "latitude": 45.52, "longitude": -73.58 }
}

All pages:

json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [...]
}

Priority 3 — Internal Linking

  • Neighborhood pages → link to "Browse all listings in {neighborhood}"
  • Listing detail → link to neighborhood profile
  • Blog articles → link to relevant neighborhoods and listings
  • Homepage → link to top neighborhoods
  • Footer → links to all borough/neighborhood hub pages

Priority 4 — Core Web Vitals

  • Lazy load listing images below the fold
  • Optimize Largest Contentful Paint (LCP) on listing grid pages
  • Minimize Cumulative Layout Shift (CLS) from async-loaded data
  • Consider ISR (Incremental Static Regeneration) for neighborhood pages

Priority 5 — Google Search Console

  • Verify site ownership
  • Submit expanded sitemap
  • Monitor indexing status
  • Track impressions, clicks, CTR by page type
  • Set up search performance alerts

Content SEO

Pillar Content Strategy

Each pillar page is a comprehensive guide that targets a high-volume keyword and links to supporting cluster pages.

PillarTarget keywordCluster pages
Neighborhood hub"best neighborhoods montreal renters"Individual neighborhood profiles (76)
Renter's guide"how to find apartment montreal"Lease laws, tenant rights, moving guide
Market report"montreal rent prices 2026"Per-neighborhood price pages, trend charts
Landlord guide"list apartment for rent montreal"Listing tips, photography, pricing

Neighborhood Pages as SEO Moat

Our 76 populated neighborhood pages are a competitive moat. National platforms (Kijiji, Zumper) have generic neighborhood data. We have:

  • Bilingual descriptions written for local context
  • Walkability and transit scores
  • Per-bedroom price breakdowns
  • Real-time listing counts
  • Local highlights (parks, transit, restaurants)

Action items:

  1. Add FAQ schema to each neighborhood page
  2. Add "Related neighborhoods" links for internal linking
  3. Refresh content seasonally with updated stats
  4. Add user-generated content (reviews, tips) in the future

Blog Content Calendar (SEO-aligned)

Publish 2-4 articles per month, timed to search demand:

MonthArticle (EN)Article (FR)Target keyword
March"Montreal Rent Report Q1 2026""Rapport loyers Montréal T1 2026"montreal rent prices 2026
April"How to Find an Apartment for July 1st""Comment trouver un appartement pour le 1er juillet"find apartment montreal july
May"Best Neighborhoods for Students""Meilleurs quartiers pour étudiants Montréal"student apartments montreal
June"July 1st Moving Day Survival Guide""Guide de survie déménagement 1er juillet"july 1st moving montreal
July"Montreal Rent Report Q2 2026""Rapport loyers Montréal T2 2026"average rent montreal
August"Moving to Montreal from Abroad""S'installer à Montréal de l'étranger"moving to montreal rental guide
September"Tenant Rights in Quebec""Droits des locataires au Québec"tenant rights quebec
October"Montreal Rent Report Q3 2026""Rapport loyers Montréal T3 2026"montreal rent increase
November"Understanding Quebec Lease Laws""Comprendre les lois du bail au Québec"quebec lease laws
December"Year in Review: Montreal Rental Market""Bilan annuel : marché locatif montréalais"montreal rental market

Local SEO

Google Business Profile

  • Create a Google Business Profile for "MTL Rent" as a technology company / real estate service
  • Category: "Real Estate Agency" or "Property Management Company"
  • Service area: Greater Montreal
  • Link to website, add photos, post updates

Local Citations

Submit to Canadian business directories:

  • Yelp Canada
  • Yellow Pages Canada (YellowPages.ca)
  • Canada411
  • Canpages
  • Better Business Bureau (BBB) Quebec
  • Chambre de commerce du Montréal métropolitain

NAP Consistency

Ensure Name, Address, Phone are identical across all listings:

  • Website footer
  • Google Business Profile
  • All directory listings
  • Social media profiles

High-Priority Targets

SourceApproachExpected difficulty
McGill Off-Campus HousingReach out to student services, offer as resourceMedium
Concordia Student HousingSame approachMedium
UdeM / UQAM student portalsFrench-language outreachMedium
Immigrant.quebec / newcomer guidesContent partnershipLow
Montreal Gazette real estate sectionPitch market reports as expert sourceHigh
Journal de Montréal immobilierPitch in FrenchHigh
BlogTO / MTL BlogNeighborhood guide featuresMedium
Local real estate blogsGuest posts, data sharingLow

Digital PR

  • Publish quarterly rent reports with shareable data visualizations
  • Create embeddable widgets (neighborhood price stats) that other sites can use
  • Offer data to journalists covering Montreal housing affordability

Community

  • Answer questions on Reddit (r/montreal, r/mcgill, r/concordia)
  • Participate in Montreal housing Facebook groups (not spam — helpful answers)
  • Quora answers about renting in Montreal

Measurement & Goals

Tools

ToolPurpose
Google Search ConsoleImpressions, clicks, indexing, page experience
Google Analytics 4Traffic, user behavior, conversions
Ahrefs / SEMrush (future)Keyword tracking, backlink monitoring, competitor analysis

KPIs

MetricMonth 1Month 3Month 6Month 12
Indexed pages100+300+500+700+
Organic monthly visits505002,00010,000
Keywords in top 10020100300500
Keywords in top 10052050
Referring domains2102550
Organic click-through rate2%3%4%

Reporting

  • Weekly: Check Search Console for indexing issues, new impressions
  • Monthly: Keyword ranking report, organic traffic trend, top landing pages
  • Quarterly: Full SEO audit, content performance review, strategy adjustment