Local SEO - Link Building & Citations VA

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

TYPE OF WORK

Full Time

SALARY

6

HOURS PER WEEK

50

DATE UPDATED

Sep 17, 2026

JOB OVERVIEW

The Role
We're a local SEO agency. We handle search visibility for automotive shops across the US.

We do the strategy. We research every client, analyze their competitors, and build the exact link plan for every platform, directory, profile, and outreach target, listed out before you start.

Your job is to execute that list. Nothing in this role requires you to decide what to do. It requires you to do it correctly, log it properly, and not cut corners.

If you want a role where you pitch ideas and build strategy, this isn't it. If you're good at detailed, repetitive work and you take pride in a clean tracker, keep reading.

What You'll Actually Do
1. Directory & profile submissions: Create and fully complete business profiles on the platforms we assign. Not just name and phone categories, full description, hours, services, photos, logo. A half-filled profile is a wasted submission.

2. Citations & NAP consistency: Submit business listings matching our master record exactly — character for character. Flag duplicate or outdated listings that need claiming or removal.

3. Outreach links: Find the right contact at a target site (chambers, associations, suppliers, sponsors, local orgs), send our template, personalize the opening line, run the follow-up sequence, and log every reply.

4. Link reclamation & fixes: Chase down unlinked brand mentions, broken links pointing to our clients, and links that dropped or went nofollow.

5. Daily tracker updates: Every task logged in Airtable with its status and the live URL. This is not optional, and it's the thing we'll evaluate you on hardest.

What You Will NOT Do
Touch any client's Google Business Profile
Decide which sites to target or what the strategy is
Talk directly to clients
Anything that needs a decision gets flagged to us. You never guess.

What We Give You
AdsPower browser profile per client, pre-configured
Dedicated residential proxy per client
Dedicated email per client
Airtable base with your full task list and tracker
Complete client info pack NAP, descriptions, categories, logos, photos, service lists
Written SOPs for every task type
Outreach templates, already written
You will not be figuring this out on your own. Everything is documented.

Requirements
Prior experience with directory submissions, citation building, or link building (tell us specifically what you've done)
Genuinely detail-obsessed you notice when an address says "St." on one listing and "Street" on another, and you understand why that matters
Written English good enough to send a professional outreach email
Reliable internet and a setup that can run multiple browser profiles
Comfortable working from a task list without being chased
Available 4+ hours overlapping US business hours
Nice to have (not required):

Used AdsPower or any other similar tools
Used Airtable
Worked across multiple client accounts at once
Paid Trial
Before we hire, we pay you for a short trial:

Ten citation submissions for one client, using our browser profile, our client info, and our tracker.

Do the work exactly the way you'd do it on a normal day. We'll review it and give you feedback either way.

Takes most people 1 to 2 hours. Paid: we'll agree on the amount before you start.

To Apply
Reply with the word CITATION at the top of your message, then answer these four questions. Applications without the keyword or the answers get deleted.

1. A client's address is listed as "1420 N Main St, Suite B." One directory only has a single address field, with no suite line. What do you enter, and why?

2. A directory requires a phone call or SMS to verify the listing, but you don't have access to the client's phone. What do you do?

3. You submit a listing, and it says "pending review." How do you mark that in the tracker, and what do you do next?

4. Name one specific directory or citation site you've submitted to before, and one thing about it that annoyed you.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0164
Total Execution Time  0.0179
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,509,552 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Local-SEO-Link-Building-Citations-VA-1732229
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0094 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1732229
 LIMIT 1 
0.0013   SELECT *
FROM `employers`
WHERE `employer_id` = 957450
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1732229
AND `misc`.`idIS NULL 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1732229
AND `misc`.`idIS NULL 
0.0008   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-21',ej.date_added) duration_daysDATEDIFF('2026-09-21',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-09-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1732229' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1732229 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1732229
AND `misc`.`idIS NULL 
0.0007   UPDATE employer_jobs SET hit_counts '***Sep-16-2026=3***Sep-17-2026=424***Sep-18-2026=36***Sep-19-2026=36***Sep-21-2026=2' WHERE job_id'1732229'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Sep-2026=501' WHERE job_id'1732229'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1732229' 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` = 1732229 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '957450'
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)