SEO Specialist

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

TYPE OF WORK

Full Time

SALARY

$1,200 USD per month

HOURS PER WEEK

40

DATE UPDATED

Aug 11, 2026

JOB OVERVIEW

Role Overview:
Contractor Dynamics is the most trusted marketing partner for roofing companies in the United States. We don't just build websites and run SEO campaigns. We build marketing systems that help roofing companies grow predictably, lower their cost per acquisition, and become the most recognized brand in their local market.

We're growing our SEO team, and we need an SEO Specialist who takes real ownership of the technical and execution side of SEO delivery. Someone who can run a technical audit without hand-holding, build content calendars that actually connect to keyword strategy, and treat a client's Google Business Profile like it's their own business.

If you get genuine satisfaction from watching a site's rankings climb because of work you did, keep reading.


The Role At A Glance:
- Location: Remote
- Type: Full-Time
- Working Hours: US-based hours
- Starting Pay: $1,200 USD/month
- Reports To: Agency Director, Sydney Vasquez

As you take on more clients and demonstrate consistent, high-quality execution, there's room for your pay to grow with you.


What You'll Actually Be Doing:
You're the engine behind SEO delivery for a growing book of roofing company clients. The Client Success Strategist owns the client relationship. You own getting the work done right, on time, every time.

- Conduct technical SEO audits and execute on-page optimizations across assigned client sites
- Implement schema markup and conduct keyword research and mapping for each client
- Build monthly content calendars and draft AI-assisted content briefs for our copywriter
- Set up and optimize Google Business Profiles, publish weekly GBP posts, and build unique location pages
- Run link building outreach, submit guest posts, and track link building results monthly
- Set up and monitor WhatConverts, and prepare reporting materials for client delivery
- Execute new client onboarding checklists, including website, GBP, WhatConverts, and GA4 access
- Send weekly async updates on your work and flag blockers early


What You Need To Bring:
- 2-3+ years of agency-side SEO experience
- Hands-on experience with technical SEO audits, schema markup, link building outreach, and GBP management
- Working familiarity with Ahrefs, AgencyAnalytics, and WhatConverts, or comparable tools
- Strong written English for daily async communication with a US-based team
- Comfortable managing your own workload inside a task-tracking system like ----------


Bonus Points If:
- You've worked on SEO for home services or local service businesses
- You've supported US-based clients or agencies directly
- You're already comfortable using AI tools to speed up content and reporting workflows


This Role Isn't For You If:
- You need someone checking in on you daily to stay on track
- You treat technical audits or reporting as a box to check rather than a chance to actually improve a client's rankings
- You go quiet when you hit a blocker instead of flagging it early
- You're not comfortable with a 30-day trial period where feedback is direct and frequent


Why Contractor Dynamics:
- 200+ reviews on Google with a 5 star rating
- 100+ active clients across 31 states
- Founded in 2013
- The only marketing training and agency company in the United States exclusively focused on roofing

We are not a generic agency. We know roofing better than anyone. Our clients trust us because we show up, we deliver, and we take extreme ownership of their results. That standard applies to everyone on our team, including you.

We run on EOS, the Entrepreneurial Operating System. That means clear roles, strong accountability, and a team that knows what's expected of them.


What We Offer:
- Full-time, remote work
- A clear path to grow your pay as you take on more client accounts
- Direct, specific feedback so you always know where you stand
- A team culture built on accountability, excellence, and helping each other win


Our Core Values:
- We help our clients and one another win
- We continually learn and improve
- We are trusted advisors
- We are impeccable with our word
- We embody extreme ownership

If those aren't just words to you, if you actually operate that way, you'll fit in here.


The Interview Process:
- Application and resume review
- Predictive Index assessment (about six minutes)
- Core values interview with our leadership team
- Role specific interview, including a live technical SEO exercise
- 30-day paid trial period


Ready To Apply?
If this sounds like the role you've been looking for, apply now.
If you know someone who would be perfect for this position, send this to them. We'd love the introduction.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0151
Total Execution Time  0.0164
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,511,808 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/SEO-Specialist-1707189
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0095 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1707189
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 638470
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1707189
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-17',ej.date_added) duration_daysDATEDIFF('2026-08-17',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-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1707189' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1707189 
0.0019   UPDATE employer_jobs SET hit_counts '***Aug-11-2026=527***Aug-12-2026=206***Aug-13-2026=63***Aug-14-2026=40***Aug-15-2026=27***Aug-17-2026=1' WHERE job_id'1707189'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=864' WHERE job_id'1707189'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1707189' 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` = 1707189 
0.0022   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '638470'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)