SEO Content & Technical Specialist

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

TYPE OF WORK

Full Time

SALARY

USD $1,700 – $2,000/month

HOURS PER WEEK

40

DATE UPDATED

Oct 2, 2026

JOB OVERVIEW

Job Title: SEO Content & Technical Specialist (Full-Time, Long-Term)
Type: Full-time · 40 hours/week
Salary: USD $1,700 – $2,000/month
ID Proof required: Yes

ABOUT US
Integrity Home Exteriors is a family-owned home improvement company in Toledo, Ohio, USA. We have been in business since 2000, we have 80+ team members, and we won the 2025 Better Business Bureau Torch Award for Ethics. We install roofing, siding, windows, doors, gutters and insulation for homeowners in northwest Ohio.

You'll work alongside an experienced SEO Manager who has been with our company for several years. This role works alongside him. We are looking for someone who wants a long-term home, not a short project.

THE ROLE
You will own the day-to-day execution of our SEO and content program. Our Marketing Director and SEO Manager set the strategy — which keywords, which topics, which cities. You do the work that makes it happen.

Content production and publishing
Write and publish 5 to 10 pieces per week, depending on page type — shorter service and product pages move quickly, while educational articles and cost guides for homeowners take longer
Work from our writing templates and brand voice standards (we will give you these)
Build and schedule finished content in HubSpot CMS
Submit each week’s batch for review before anything publishes

Technical SEO maintenance
Run standing weekly and monthly checks on our site: index coverage, broken links, 404s, titles and meta, canonicals and slugs, internal links, schema, sitemap, robots.txt
Own problems through to fixed. You are measured on how quickly issues are resolved, not on how quickly you report them. There is a defined set of changes you fix and publish yourself. Anything larger, you diagnose, prepare the fix, and hand off ready to go
Verify pages against expected results after any bulk change or template update. We run scripts that touch 100+ pages at once. Catching a bad push the same day it happens is one of the most valuable things you will do here
Log every issue with its severity and what caused it


Local presence
Monitor 3 Google Business Profiles daily — respond to reviews using our approved response standards, answer questions, report spam
Monthly posts and photos on all profiles
Maintain business listing and citation accuracy (NAP consistency, Bing Places, local directories)

AI visibility measurement
Run a fixed monthly test: ask the same 15 questions in ChatGPT, Perplexity, Gemini and Google, record whether we appear, capture dated screenshots, log the results exactly as found

Other
Some light marketing admin
Occasional outreach for local directory and roundup listings. This is the lowest priority in the role and it comes last, after everything above is done


WHAT SUCCESS LOOKS LIKE
We would rather tell you this up front than have you guess.

First 90 days — we are judging execution, not results. Is content shipping on schedule and passing review? Are the site checks running? Is anything broken and left broken?

Six months and beyond — more homeowners finding us through Google search than the same months last year. Better positions in the eight towns we care most about. More activity on our Google listings and a steady flow of new reviews.

The whole year — the number that matters most is how many leads come to us from organic Google search. It is our cheapest source of work, and growing it is the reason this role exists.

We do not judge this role on how many articles get published. Four excellent pieces beat fifteen average ones.
WHAT WE ARE LOOKING FOR
Required
3+ years hands-on SEO experience, including technical SEO — not just content writing, and not just keyword research
Excellent written English. You will be writing for American homeowners. Your writing must sound natural to them, not translated and not obviously AI-generated
Experience with Google Search Console, Google Business Profile, and at least one crawler (Screaming Frog, Sitebulb, Ahrefs, Semrush or similar)
Comfortable working inside a CMS and publishing live pages carefully
Detail-oriented and honest about your work. We verify everything, and we would much rather you tell us something went wrong than hide it
Reliable internet and your own computer
Hours are flexible, preferred hours are Tuesday through Saturday 8am EST to 5pm EST

Nice to have
HubSpot CMS experience
Experience writing for home services, construction, or another trade industry
Experience using AI writing tools well — meaning you use them and then fix what they get wrong, not paste and publish
Local SEO experience across multiple locations or service areas
Familiarity with schema markup

Not required
You do not need to be a strategist. We set direction.
You do not need to manage anyone.
You do not need US work experience.

HOW WE WORK
We want to be upfront about this, because it is not for everyone.

We use an internal daily task platform. You log your work daily and attach proof — a link, a file, a screenshot. A checkbox with nothing attached does not count as done.
Your work is reviewed weekly for quality by our SEO Manager before it publishes.
For your first 30 days you prepare work and we publish it. After that, you earn the ability to publish certain changes yourself.
We measure quality, not volume. Four excellent articles beat fifteen average ones, every time.
Asking a question or escalating something is never held against you. Guessing and pushing something live is. If close accountability bothers you, this is not the right job. If you have been burned by vague expectations before, you will probably like it here.

COMPENSATION AND SCHEDULE
USD $1,700 – $2,000/month depending on experience
Paid weekly, deposited every Friday via Wise
40 hours/week, Tuesday through Saturday, 8am EST to 5pm EST
40 hours of personal time off per year
Independent contractor arrangement — you are responsible for your own taxes and contributions
Annual review and renewal every April 30


HOW TO APPLY
Please do not send a generic application. We read every one, and generic applications are the fastest way to get skipped.

Put “GOLD STANDARD” in your subject line so we know you read the whole post.

In your message, answer these four things:
Send links to 2 pieces of content you personally wrote that rank. Tell us the keyword and roughly where it ranks.
Describe one technical SEO problem you found and fixed. What was broken, how did you find it, what did you do?
What tools do you use for SEO work, and how do you use AI in your writing process? Be specific and be honest.
What time of day are you usually available in US Eastern time?

Our Hiring Process

1. Initial Review & Recruiter Conversation
We’ll start with a conversation to learn more about your background, experience, and goals while also reviewing the details of the role and what success looks like in this position.

2. Technical Interview & Paid Work Sample
The next step is a technical interview with our SEO team. This stage includes a paid work sample using a real-world task related to the role. You will be compensated for your time, allowing you to experience how we work while giving us the opportunity to evaluate your approach and quality of work.

3. Final Interview & Culture Fit
The final stage is a conversation with our Marketing Director to discuss team fit, communication style, and how you would align with our company.

4. Offer
If selected, we will move forward with an offer to join our team.

We believe in respecting candidates’ time and experience. Any work sample completed during our hiring process is paid — we do not ask candidates to perform unpaid work.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0032
Controller Execution Time ( Jobseekers / Job )  0.0282
Total Execution Time  0.0322
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,524,080 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/SEO-Content-Technical-Specialist-1716408
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0148 seconds)  (Hide)
0.0026   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0014   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1716408
 LIMIT 1 
0.0016   SELECT *
FROM `employers`
WHERE `employer_id` = 842312
 LIMIT 1 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1716408
AND `misc`.`id` IS NULL 
0.0008   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',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-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1716408' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1716408 
0.0023   UPDATE employer_jobs SET hit_counts = '***Aug-25-2026=787***Aug-26-2026=208***Aug-27-2026=113***Aug-28-2026=54***Aug-29-2026=18***Aug-30-2026=7***Aug-31-2026=18***Sep-01-2026=23***Sep-02-2026=19***Sep-03-2026=20***Sep-04-2026=14***Sep-05-2026=12***Sep-06-2026=4***Sep-07-2026=6***Sep-08-2026=628***Sep-09-2026=230***Sep-10-2026=97***Sep-11-2026=55***Sep-12-2026=26***Sep-13-2026=17***Sep-14-2026=39***Sep-15-2026=38***Sep-16-2026=25***Sep-17-2026=33***Sep-18-2026=12***Sep-19-2026=6***Sep-20-2026=2***Sep-21-2026=32***Sep-22-2026=53***Sep-23-2026=34***Sep-24-2026=24***Sep-25-2026=24***Sep-26-2026=3***Sep-27-2026=10***Sep-28-2026=14***Sep-29-2026=20***Sep-30-2026=12***Oct-01-2026=25***Oct-02-2026=472***Oct-03-2026=135***Oct-04-2026=2' WHERE job_id= '1716408'  
0.0009   UPDATE employer_jobs SET monthly_hits = '***Aug-2026=1203***Sep-2026=1531***Oct-2026=634' WHERE job_id= '1716408'  
0.0006   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1716408' AND status LIKE 'sent%' ORDER BY id DESC  
0.0012   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1716408 
0.0006   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '842312'
AND `date_added` >= '2022-06-08' 
0.0008   select * from teasers 
0.0009   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)