Lead WordPress Designer/Developer (Sprint) — Make Our Catalog Feel “Luxury-Booking Ready”

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

TYPE OF WORK

Gig

SALARY

150

HOURS PER WEEK

TBD

DATE UPDATED

Oct 5, 2025

JOB OVERVIEW

Email me ASAP at: ----------

About ERentals Exclusive
We’re a cinematic luxury platform for villas, yachts, and curated experiences. Public browsing lives on WordPress (catalog/brand). All conversion (forms, pixels, soon checkout) runs on a GoHighLevel subdomain: ---------- . We already have Bitly shortlinks, standardized UTMs, GA4, and a CRM pipeline—now we need the WP catalog to feel as trustworthy and conversion-ready as a top Airbnb/Soho House page.

Current site: ---------- (needs polish, not a full rebuild)
Stack: WordPress (Elementor), GHL (book.*), GA4, Bitly, n8n (IDs)

What we need right now (small sprint, high impact)

Primary goal: Make WP listings look and feel credibly bookable, then cleanly hand off to our GHL book.* pages with UTMs intact—and add a clean Category/Filter/Location browser so travelers can discover the right asset fast.

A) Property Template & Trust Layer (template-level across property pages)

Popup Inquiry (GHL form) + Sticky CTA bar

Modal (Popup Maker / Elementor Popup) embedding our GHL form (we’ll provide).

Primary CTA “Inquire Now” opens the popup (no page jump).

Sticky bar on scroll: Inquire Now (popup) + Book on ERentals ? ---------- }.

UTM pass-through: If the WP URL has UTMs, pass them into the popup form’s hidden fields and the “Book on ERentals” link.

Facts strip & amenity icons
Beds • Baths • Sleeps • From-price • Location; 8–12 clean icons.

Professional sections
Gallery (grid + lightbox), Overview, Rates/Policies (accordion), Google Map, optional “Verified by ERentals” reel slot.

Trust layer
“Book With Confidence” gold box (under CTAs):
• Secure payments via Stripe • 50/50 deposit & balance • Master Charter Agreement.
Payment badges (Visa/Mastercard/Amex/Stripe) + caption: “Powered by Stripe Secure.”
“How It Works” (homepage + collections, above footer): Inquiry ? Contract ? Secure Payment ? Concierge ? Experience (icons).
Social proof: owner quotes + “Trusted By” logos (BeTasman, Manta House, etc.).
SSL cues + footer line: “All bookings are protected with SSL encryption & Stripe Secure Checkout.”

B) Category / Filter / Location Browser (new requirement)

Collections & IA

Create/organize Collections pages (e.g., Tulum Villas, Cabo Yachts, Editorial Picks).

Implement breadcrumbs and clear page titles/subtitles for SEO + UX.

Filters (faceted navigation)

Location (Country ? City/Region)

Asset Type (Villa / Yacht / Experience)

Capacity (Sleeps / Guests)

Bedrooms/Baths

Price band (From-price)

Amenities (Pool, Chef, Rooftop, Oceanfront, etc.)

Vibe/Tags (Family-friendly, Party-ready, Jungle, Beachfront, Ultra-luxury)

Sort (Featured, Price, Capacity, New)

Tech approach (your recommendation)

WordPress native (Custom Post Types + ACF fields + taxonomies) with AJAX filter results, or a search plugin (FacetWP, Relevanssi, ElasticPress)—you propose the leanest, performant path.

Preserve UTMs when navigating filters and when clicking into a listing, and when jumping to book.* links.

Performance: cache queries, lazy-load thumbs, prefetch detail pages on hover (desktop), mobile-first interaction.

Card layout

Clean listing cards with hero image, spec pills (Beds/Baths/Sleeps), short location, from-price, and Inquire CTA (opens popup) + View (detail page).

Audit & polish

Core Web Vitals: fast hero, lazy-loaded gallery, CLS < 0.1.

Accessibility: alt text, visible focus states.

SEO basics: titles/meta, canonical, Open Graph; XML sitemap update for Collections.

Mobile QA: popup performance, sticky bar behavior, filter usability.

What’s already in flight (so you know how this plugs in)

GHL book.* subdomain is being wired (pixels, GA4 cross-domain, forms).

We’ll provide the GHL form embed and the {slug} mapping for “Book on ERentals”.

n8n handles ER-ID (write-once) + Booking-ID write-back on confirmation.

Deliverables (for this sprint)

Updated single-property template + implement on 1 sample page (e.g., Casa OT), then apply to a second page (e.g., Villa N).

Category/Filter/Location browser live on at least one Collection (e.g., Tulum Villas) with working filters + SEO-friendly URLs (querystring or clean params).

Popup inquiry works; UTMs pass through to the form and to the “Book on ERentals” link; sticky bar works mobile/desktop.

Trust layer live (gold box, badges, “How It Works”, social proof row).

Staging link + 3 screenshots (mobile/tablet/desktop) + short notes on constraints.

Must-have skills

WordPress + Elementor (and/or Popup Maker) with clean, modern luxury UI.

Faceted navigation: CPTs/Taxonomies/ACF and/or FacetWP/ElasticPress/Relevanssi.

Form embeds & UTM handling across pages/domains (hidden fields, query capture).

Strong mobile-first craft and performance tuning.

Clear communication, fast iteration.

Nice-to-haves

Bridging WP catalogs with GHL funnels; GA4 cross-domain familiarity; basic schema markup.

Timeline & budget

Urgent 2–3 day sprint with a fixed bid.

Budget-conscious now; ongoing work (more properties, yacht pages, UX experiments) for the right partner.

How to apply (fast)

Portfolio links (luxury/hospitality; show listing + filter UX if you have it).

1–2 sentence plan for: popup + sticky bar + UTM pass-through + filters (your tech approach).

Your fixed bid for the sprint + earliest start (ideally within 48 hours).

One simple performance win you’ll ship (e.g., CLS guardrails, image strategy).

Aesthetic target: a hybrid of Airbnb (clarity), SuperYacht Times (category fit), and Soho House (brand polish)—translated into a fast, credible booking preface.

References to model (specific patterns):

The S Collection — hero > facts strip > gallery > amenities > “how to book.”

JamesEdition — listing cards + spec pills + filters + sticky inquiry CTAs.

SuperYacht Times — category nav + media-forward detail + specs + map.

Goolets — multi-CTA yacht detail (Inquire/Availability/Download) + sticky bar.

Airbnb/Luxe — mobile sticky bottom bar + “what this place offers” icons.

Soho House / Aman — restrained palette, typography, editorial calm.


Cameron Elder
Founder, ERentals Exclusive
---------- ----------

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0018
Controller Execution Time ( Jobseekers / Job )  0.0188
Total Execution Time  0.0214
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,533,944 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Lead-WordPress-DesignerDeveloper-Sprint-Make-Our-Catalog-Feel-Luxury-Booking-Ready-1379782
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0096 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1379782
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 784323
 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` = 1379782
AND `misc`.`idIS NULL 
0.0009   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-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-04-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1379782' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1379782 
0.0011   UPDATE employer_jobs SET hit_counts '***May-18-2025=4***May-19-2025=170***May-20-2025=23***May-21-2025=11***May-22-2025=7***May-23-2025=5***May-25-2025=1***May-26-2025=2***May-28-2025=1***May-29-2025=1***May-30-2025=1***May-31-2025=1***Jun-01-2025=1***Jun-02-2025=1***Jun-03-2025=3***Jun-04-2025=3***Jun-05-2025=5***Jun-06-2025=94***Jun-07-2025=11***Jun-08-2025=9***Jun-09-2025=13***Jun-10-2025=6***Jun-11-2025=7***Jun-12-2025=8***Jun-13-2025=2***Jun-15-2025=1***Jun-16-2025=5***Jun-17-2025=4***Jun-18-2025=5***Jun-19-2025=3***Jun-20-2025=3***Jun-21-2025=1***Jun-23-2025=1***Jun-24-2025=1***Jun-25-2025=1***Jun-26-2025=1***Jun-27-2025=3***Jun-30-2025=3***Jul-01-2025=2***Jul-02-2025=4***Jul-03-2025=3***Jul-04-2025=1***Jul-06-2025=1***Jul-07-2025=4***Jul-09-2025=2***Jul-10-2025=2***Jul-11-2025=1***Jul-12-2025=1***Jul-14-2025=1***Jul-15-2025=5***Jul-18-2025=2***Jul-21-2025=1***Jul-22-2025=1***Jul-24-2025=1***Jul-27-2025=1***Aug-20-2025=1***Aug-25-2025=2***Aug-29-2025=1***Sep-03-2025=1***Sep-06-2025=1***Sep-09-2025=2***Sep-10-2025=2***Sep-11-2025=2***Sep-12-2025=1***Sep-13-2025=4***Sep-21-2025=1***Sep-24-2025=20***Sep-25-2025=60***Sep-26-2025=11***Sep-27-2025=2***Sep-28-2025=1***Sep-29-2025=2***Sep-30-2025=3***Oct-01-2025=3***Oct-02-2025=2***Oct-03-2025=3***Oct-04-2025=2***Oct-05-2025=73***Oct-06-2025=79***Oct-07-2025=14***Oct-08-2025=11***Oct-09-2025=11***Oct-10-2025=5***Oct-11-2025=1***Oct-12-2025=1***Oct-13-2025=3***Oct-16-2025=2***Oct-17-2025=2***Oct-18-2025=2***Oct-20-2025=3***Oct-21-2025=3***Oct-23-2025=4***Oct-24-2025=2***Oct-25-2025=1***Oct-26-2025=1***Oct-27-2025=1***Oct-28-2025=4***Oct-29-2025=1***Oct-30-2025=2***Oct-31-2025=1***Nov-01-2025=1***Nov-02-2025=3***Nov-03-2025=2***Nov-04-2025=3***Nov-05-2025=1***Nov-07-2025=1***Nov-10-2025=2***Nov-12-2025=1***Nov-13-2025=2***Nov-15-2025=1***Nov-16-2025=1***Nov-18-2025=2***Nov-19-2025=5***Nov-21-2025=4***Nov-22-2025=1***Nov-24-2025=3***Nov-25-2025=1***Nov-26-2025=1***Nov-28-2025=1***Nov-29-2025=1***Nov-30-2025=1***Dec-01-2025=1***Dec-02-2025=2***Dec-04-2025=1***Dec-06-2025=3***Dec-13-2025=1***Dec-14-2025=1***Dec-21-2025=1***Dec-22-2025=1***Dec-25-2025=1***Dec-30-2025=2***Jan-09-2026=1***Jan-10-2026=1***Jan-11-2026=2***Jan-12-2026=3***Jan-13-2026=1***Jan-14-2026=1***Jan-19-2026=2***Jan-20-2026=1***Jan-21-2026=2***Jan-22-2026=1***Jan-26-2026=1***Jan-27-2026=2***Jan-30-2026=1***Feb-05-2026=2***Feb-26-2026=2***Feb-27-2026=1***Mar-09-2026=2***Mar-10-2026=1***Mar-17-2026=1***Mar-21-2026=1***Mar-24-2026=2***Mar-26-2026=3***Mar-29-2026=1***Mar-31-2026=1***Apr-05-2026=2***Apr-06-2026=1***Apr-13-2026=1***Apr-17-2026=2' WHERE job_id'1379782'  
0.0007   UPDATE employer_jobs SET monthly_hits '***May-2025=227***Jun-2025=195***Jul-2025=33***Aug-2025=4***Sep-2025=113***Oct-2025=237***Nov-2025=38***Dec-2025=14***Jan-2026=19***Feb-2026=5***Mar-2026=12***Apr-2026=6' WHERE job_id'1379782'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1379782' 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` = 1379782 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '784323'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0006   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)