AI Search & Structured Data Engineer (Generative Search Focus)

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

TYPE OF WORK

Full Time

SALARY

N/A

HOURS PER WEEK

40

DATE UPDATED

Jan 13, 2026

JOB OVERVIEW

We are a U.S.-based digital marketing firm working exclusively with top graduate and professional education programs (law, engineering, business). We are hiring an AI Search & Structured Data Engineer to support advanced Generative Engine Optimization (GEO) initiatives.

This is a deep technical role focused on how AI systems interpret, retrieve, and cite web content—not traditional SEO, content writing, or link building.

You will work directly with a U.S.-based strategy and AI search team on entity architecture, structured data systems, and machine-readable optimization for high-authority academic programs.

What You’ll Work On

Designing and implementing JSON-LD / schema markup at scale

Structuring content so LLMs and AI search engines (Google AI Mode, ChatGPT, Perplexity) correctly understand and reference programs

Building entity-based representations for degrees, concentrations, outcomes, audiences, and credentials

Auditing websites for AI-visibility and machine-readability gaps

Implementing schema within WordPress themes, templates, or CMS code

Testing, validating, and iterating structured data based on AI search behavior

Supporting reporting on AI visibility and citation readiness (not rankings)

Core Responsibilities

Implement and maintain advanced schema types, including:

EducationalOrganization

Course / EducationalProgram

Organization

WebPage

FAQPage

Article

BreadcrumbList

Ensure clean content hierarchy, semantic structure, and entity clarity

Deploy schema via:

WordPress templates

Custom code

Plugins (when appropriate)

Validate and test structured data using Google and third-party tools

Collaborate closely with strategy and content teams to translate intent ? technical execution

Required Skills

Hands-on experience with structured data / JSON-LD

Strong understanding of how search engines and AI systems ingest content

WordPress development experience (themes, templates, custom code)

HTML / CSS (JavaScript strongly preferred)

Experience with Google Search Console and SEO auditing tools

Comfort working with technical documentation and specifications

High attention to detail and precision

Nice to Have (Not Required)

Experience with entity modeling or knowledge graphs

Familiarity with LLMs, embeddings, or AI search systems

Python or JavaScript for automation or data processing

Experience working on large, multi-page, authoritative websites

Interest in how AI-generated answers are sourced and cited

Hours & Schedule

Part-time to start: 10–20 hours per week

Opportunity to expand hours based on performance

Long-term role with growing responsibility



How to Apply

Please include:

A brief description of your structured data / schema experience

At least one example URL where you implemented JSON-LD or entity-based schema

Confirmation that you can edit WordPress templates or custom code

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.0140
Total Execution Time  0.0159
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,040 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/AI-Search-Structured-Data-Engineer-Generative-Search-Focus-1552954
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0071 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1552954
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 893489
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1552954
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-19',ej.date_added) duration_daysDATEDIFF('2026-04-19',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-04-19',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1552954' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1552954 
0.0017   UPDATE employer_jobs SET hit_counts '***Jan-13-2026=32***Jan-14-2026=15***Jan-15-2026=12***Jan-16-2026=21***Jan-17-2026=13***Jan-18-2026=9***Jan-19-2026=5***Jan-20-2026=2***Jan-21-2026=6***Jan-22-2026=3***Jan-23-2026=3***Jan-24-2026=2***Jan-25-2026=4***Jan-26-2026=5***Jan-28-2026=2***Jan-29-2026=2***Jan-30-2026=1***Jan-31-2026=3***Feb-01-2026=1***Feb-02-2026=2***Feb-04-2026=1***Feb-05-2026=2***Feb-11-2026=1***Feb-12-2026=1***Feb-13-2026=2***Feb-14-2026=3***Feb-15-2026=1***Feb-16-2026=1***Feb-17-2026=1***Feb-18-2026=1***Feb-20-2026=1***Feb-26-2026=1***Mar-01-2026=2***Mar-02-2026=2***Mar-05-2026=2***Mar-07-2026=1***Mar-09-2026=1***Mar-12-2026=1***Mar-15-2026=1***Mar-17-2026=1***Mar-18-2026=1***Mar-22-2026=1***Mar-26-2026=2***Mar-27-2026=2***Mar-30-2026=25***Mar-31-2026=37***Apr-01-2026=25***Apr-02-2026=11***Apr-03-2026=7***Apr-04-2026=11***Apr-05-2026=2***Apr-06-2026=2***Apr-09-2026=1***Apr-10-2026=2***Apr-11-2026=1***Apr-14-2026=3***Apr-16-2026=3***Apr-17-2026=1***Apr-19-2026=1' WHERE job_id'1552954'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jan-2026=139***Feb-2026=19***Mar-2026=79***Apr-2026=70' WHERE job_id'1552954'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1552954' 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` = 1552954 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '893489'
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)