SEO + GEO Blog Writer (Expert Level)

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

TYPE OF WORK

Part Time

SALARY

Open for discussion

HOURS PER WEEK

TBD

DATE UPDATED

Jun 30, 2026

JOB OVERVIEW

We're a Melbourne-based digital marketing agency seeking a genuinely expert content writer to produce SEO and GEO-optimised blog content for a high-profile Australian commercial property client. This is a premium role for a premium writer - we are not providing templates or training. You must already know what you're doing and be able to work independently from a brief.
This role requires native-level English and proven GEO expertise. Please do not apply if you are still learning SEO or GEO - this is a senior role.

Responsibilities:

Independently research, plan, and write 800–1,200 word blog posts optimised for both traditional search and AI/generative engines (ChatGPT, Perplexity, Google AI Overviews, Gemini)
Conduct your own keyword research and search intent mapping
Structure content for AI citation and retrieval - factual density, entity clarity, quotable phrasing, schema awareness
Write compelling meta titles and descriptions
Write in a polished, brand-appropriate voice for a sophisticated property audience
Deliver consistently to deadline with minimal oversight

Requirements (non-negotiable):

Exceptional written English — native or native-level fluency. Your writing must be flawless. We will assess this carefully.
Demonstrable GEO expertise — you must be able to explain how GEO differs from traditional SEO and show how you optimise for AI citation, not just Google rankings
Strong portfolio of SEO/GEO content with results
Understanding of the Australian market — local context, audience, tone, and references. Australian-based or strong proven familiarity essential
Ability to work independently from a brief — no hand-holding, no templates provided
Experience writing for property, real estate, or premium/lifestyle brands strongly preferred
Reliable, professional, communicative

How to Apply:

To show you've read this post, start your application with the word "NOTHOUGHTS". Applications without this will be ignored.
Please include:

2–3 samples of your best SEO/GEO content (property or premium brands ideal)
A short paragraph (4–5 sentences) explaining how you approach GEO differently from traditional SEO — be specific
Evidence or explanation of your familiarity with the Australian market
Your rate per 800–1,200 word article

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0009
Controller Execution Time ( Jobseekers / Job )  0.0161
Total Execution Time  0.0176
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,479,408 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/SEO-GEO-Blog-Writer-Expert-Level-1679093
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0109 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1679093
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 816712
 LIMIT 1 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1679093
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-14',ej.date_added) duration_daysDATEDIFF('2026-08-14',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-14',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1679093' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1679093 
0.0008   UPDATE employer_jobs SET hit_counts '***Jun-30-2026=602***Jul-01-2026=129***Jul-02-2026=52***Jul-03-2026=48***Jul-04-2026=28***Jul-05-2026=22***Jul-06-2026=33***Jul-07-2026=26***Jul-08-2026=24***Jul-09-2026=22***Jul-10-2026=11***Jul-11-2026=17***Jul-12-2026=21***Jul-13-2026=18***Jul-14-2026=9***Jul-15-2026=7***Jul-16-2026=7***Jul-17-2026=7***Jul-18-2026=3***Jul-19-2026=5***Jul-20-2026=6***Jul-21-2026=4***Jul-22-2026=5***Jul-23-2026=4***Jul-24-2026=11***Jul-25-2026=9***Jul-26-2026=19***Jul-27-2026=18***Jul-28-2026=16***Jul-29-2026=15***Jul-30-2026=14***Jul-31-2026=12***Aug-01-2026=16***Aug-02-2026=18***Aug-03-2026=19***Aug-04-2026=20***Aug-05-2026=14***Aug-06-2026=10***Aug-07-2026=21***Aug-08-2026=23***Aug-13-2026=1***Aug-14-2026=1' WHERE job_id'1679093'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jun-2026=602***Jul-2026=622***Aug-2026=143' WHERE job_id'1679093'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1679093' 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` = 1679093 
0.0043   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '816712'
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)