SEO & AI Content Writer (City Landing Pages + Data-Driven Blogs)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

50,000 - 80,000 pesos ./ month

HOURS PER WEEK

40

DATE UPDATED

Jul 14, 2026

JOB OVERVIEW

Type: Full-Time | Remote | Long-Term
Location: Philippines preferred
Salary: 50,000 to 80,000 PHP/month (based on experience)
Hours: 40/week

Who We Are
Hellamaid is one of Canada's leading home cleaning brands, operating in 60+ cities with 70,000+ homes cleaned. We've been featured in Forbes, Martha Stewart Living, and Costco Connection. We're now franchising across Canada and the US, and content is a core part of how we grow.

You'll work directly with the founder. No layers, no agency middlemen. Your work goes live and you'll see the results in real dashboards.

The Role
We're hiring a writer who understands that SEO content in 2026 means writing for two audiences at once: humans searching Google, and AI systems (Google AI Overviews, ChatGPT, Perplexity, Claude) d ---------- what to cite.

You'll own two content streams:

1) City landing pages. Rich, genuinely useful content for our city service pages (Toronto, Calgary, Ottawa, and 60+ more). Not thin "we clean homes in [city]" filler. Real local depth: neighbourhoods, pricing context, seasonal cleaning realities, entity-rich sections that AI search can actually understand and surface.

2) Data blogs built for AI referencing. Original, stat-driven articles designed to become citation sources. Think industry data roundups, cleaning cost studies, survey-based content, city comparison pieces. Content that journalists and AI models reference because it contains actual numbers and original findings, not recycled listicles.

What You'll Own
- Writing and publishing city page content at consistent quality and pace
- Researching and producing data-driven blog posts (we'll help source the data, you make it compelling and citable)
- Structuring content for AI Overviews and GEO visibility: clear headings, direct answers, entity coverage, schema-friendly formatting
- Refreshing and upgrading existing pages that underperform
- Building repeatable content frameworks so quality scales across 60+ cities

What We're Looking For
- Excellent written English. Clear, natural, zero fluff. You write like a smart human, not a content mill
- Strong grasp of on-page SEO and how AI search interprets and cites content
- Experience writing local/city service pages or programmatic-style local content
- Comfort working with data: pulling stats, framing findings, making numbers interesting
- Someone who can explain WHY a piece of content will rank or get cited, not just produce word count
Bonus: experience with schema markup, WordPress/Elementor, or tools like Ahrefs

Why This Role Is Good
- Long-term, stable full-time role with a growing brand (we've had tea ---------- mbers for years)
- Direct access to the founder and real strategic input, your ideas actually get implemented
- We invest in AI tools (Claude, and more) so you're working with the best stack, not fighting it
- Bonus and performance pay

How to Apply (Required)
Send:
1) Your CV and 2-3 writing samples (ideally a local/city page and a data or stat-driven article)
2) A Loom video (under 5 minutes) covering:
- Pick any home cleaning company's city page you can find online
- Walk us through what you would change, add, remove, or restructure to make it perform better in Google AND get referenced by AI search
- Tell us one data blog idea you'd write for a cleaning company that AI models would actually cite

Applications with a Loom video will get priority. Applications that are clearly AI-generated with no personal thought will be skipped.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0331
Total Execution Time  0.0346
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,515,328 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/SEO-AI-Content-Writer-City-Landing-Pages-Data-Driven-Blogs-1689028
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0275 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0012   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1689028
 LIMIT 1 
0.0012   SELECT *
FROM `employers`
WHERE `employer_id` = 690761
 LIMIT 1 
0.0035   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1689028
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-09',ej.date_added) duration_daysDATEDIFF('2026-08-09',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-09',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1689028' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1689028 
0.0021   UPDATE employer_jobs SET hit_counts '***Jul-14-2026=556***Jul-15-2026=241***Jul-16-2026=86***Jul-17-2026=71***Jul-18-2026=25***Jul-19-2026=26***Jul-20-2026=35***Jul-21-2026=31***Jul-22-2026=43***Jul-23-2026=25***Jul-24-2026=33***Jul-25-2026=14***Jul-26-2026=24***Jul-27-2026=43***Jul-28-2026=31***Jul-29-2026=24***Jul-30-2026=27***Jul-31-2026=19***Aug-01-2026=7***Aug-02-2026=14***Aug-03-2026=20***Aug-04-2026=18***Aug-05-2026=19***Aug-06-2026=17***Aug-07-2026=7***Aug-08-2026=3***Aug-09-2026=2' WHERE job_id'1689028'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1354***Aug-2026=107' WHERE job_id'1689028'  
0.0016   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1689028' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1689028 
0.0152   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '690761'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)