Content & Search Visibility Specialist (SEO / GEO)

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

TYPE OF WORK

Full Time

SALARY

$1,000 - $1,300/month

HOURS PER WEEK

40

DATE UPDATED

Aug 29, 2026

JOB OVERVIEW

ZenduIT and GoFleet are a Toronto-based fleet management and telematics company — GPS tracking, AI dashcams, and field-operations software for mid-market and enterprise fleets across North America (waste, transit/bus, airports, construction, field service). We're a small team that runs on Claude for almost everything, and we hire people who already think that way.

Content that earns its place: vertical-specific material for waste, transit, airports, construction and field service that a fleet manager would actually finish reading — and that both search engines and AI assistants can find and cite.

WHAT YOU'LL DO
- Produce the vertical content engine — guides, comparisons, case narratives, product pages — at a pace one person plus Claude can sustain
- Own technical and on-page SEO, structured data, schema
- Track how we surface inside AI answers and adapt what we publish
- Repurpose across web, email, social and sales enablement

SKILLS YOU MUST BE ABLE TO PROVE
- One piece you produced that ranked or got cited, with evidence
- An output Claude gave you that you rejected as too generic, and what you replaced it with
- Write is easy to fake now. We will ask you to do a short live rewrite on our material in round two — so make sure you can do that

TO APPLY: Put the keyword INDEXED in your subject line. Before anything else in your application body, answer these two questions in your own words (this is a reading check — the answers are in this post):
1. Name two of the five industry verticals this role writes for.
2. What do we say happens in round two, beyond the Loom?

Then send a Loom (max 5 minutes): show your content production loop end to end — brief to research to draft to publish — with Claude in it, specific about what you keep human. Show one piece that ranked. Show one Claude output you rejected as generic. If you've never used Claude, say so in one line instead of faking it — we'd rather know.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0153
Total Execution Time  0.0171
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,486,776 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Content-Search-Visibility-Specialist-SEO-GEO-1719576
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0098 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1719576
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 965294
 LIMIT 1 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1719576
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-23',ej.date_added) duration_days, DATEDIFF('2026-10-23',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-23',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1719576' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1719576 
0.0007   UPDATE employer_jobs SET hit_counts = '***Aug-29-2026=637***Aug-30-2026=77***Aug-31-2026=70***Sep-01-2026=37***Sep-02-2026=34***Sep-03-2026=17***Sep-04-2026=2***Sep-05-2026=8***Sep-06-2026=3***Sep-07-2026=2***Sep-08-2026=2***Sep-09-2026=5***Sep-10-2026=4***Sep-11-2026=2***Sep-12-2026=2***Sep-13-2026=1***Sep-14-2026=5***Sep-15-2026=3***Sep-16-2026=2***Sep-17-2026=5***Sep-18-2026=1***Sep-20-2026=1***Sep-23-2026=1***Sep-24-2026=1***Sep-25-2026=1***Sep-26-2026=1***Sep-27-2026=1***Sep-29-2026=1***Sep-30-2026=1***Oct-01-2026=3***Oct-02-2026=2***Oct-03-2026=1***Oct-05-2026=1***Oct-06-2026=1***Oct-07-2026=1***Oct-08-2026=2***Oct-09-2026=1***Oct-11-2026=3***Oct-12-2026=3***Oct-13-2026=5***Oct-14-2026=3***Oct-17-2026=1***Oct-23-2026=1' WHERE job_id= '1719576'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Aug-2026=784***Sep-2026=143***Oct-2026=28' WHERE job_id= '1719576'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1719576' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1719576 
0.0032   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '965294'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)