Full-Time Web Developer – Shopify to Cloudflare Migration

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

TYPE OF WORK

Any

SALARY

$10 CAD per hour

HOURS PER WEEK

40

DATE UPDATED

Aug 6, 2026

JOB OVERVIEW

We are looking for an experienced full-time web developer to migrate our existing Shopify website (approximately 4,000 pages) to a modern website hosted on Cloudflare Pages.

Our website is primarily a digital showroom for our local furniture store. We do not rely heavily on Shopify’s e-commerce features. We use Lightspeed in-store, and our goal is to build a faster, more flexible website that we own and can easily update using AI tools such as Claude and OpenAI Codex.

Responsibilities

* Migrate our existing Shopify website (approximately 4,000 pages) to Cloudflare Pages.
* Preserve SEO rankings by maintaining URLs where possible and implementing proper 301 redirects.
* Export and migrate all products, collections, pages, blog posts, images, and metadata.
* Build reusable templates so products and landing pages can be generated automatically instead of manually.
* Configure Cloudflare Pages, DNS, SSL, caching, security, and deployment.
* Set up GitHub for version control and automated deployments.
* Build a fast, mobile-friendly website with excellent Core Web Vitals.
* Create an easy-to-maintain system for adding new products and landing pages.
* Implement product search, filtering, and category navigation.
* Build inquiry forms and optional “Request Information” or “Reserve This Item” functionality.
* Optionally integrate a third-party shopping cart (such as Snipcart) if required in the future.
* Optimize all pages for SEO, including structured data, XML sitemaps, metadata, image optimization, and internal linking.
* Ensure Google Search Console and Google Analytics are properly configured.
* Test the site thoroughly before launch and monitor SEO performance after launch.

Required Skills

* Strong experience with Cloudflare Pages and Cloudflare Workers.
* Experience migrating websites away from Shopify.
* Excellent understanding of technical SEO and SEO migrations.
* Experience with Git and GitHub.
* Experience with modern web frameworks such as Astro, Next.js, Nuxt, or Eleventy.
* Strong HTML, CSS, and JavaScript skills.
* Experience generating websites from structured data (CSV, JSON, Markdown, or CMS).
* Ability to build fast, responsive, accessible websites.
* Experience using AI coding tools such as Claude, OpenAI Codex, Cursor, or GitHub Copilot to accelerate development.

Nice to Have

* Experience with static site generators.
* Experience with Algolia or another search solution.
* Experience with Cloudflare Workers for custom functionality.
* Local SEO experience.
* Experience building high-performance e-commerce catalog websites without relying on Shopify.

What Success Looks Like

* Website loads significantly faster than the current Shopify site.
* Existing Google rankings are maintained or improved.
* Products and pages are easy to update without hiring a Shopify developer.
* New landing pages can be created quickly using AI-assisted development.
* Hosting costs are dramatically reduced.
* The website is fully owned by us and is no longer dependent on Shopify.

Please include examples of similar Shopify migrations, Cloudflare projects, and SEO migrations you have completed. Explain your approach to preserving SEO during a large website migration and how you would automate the migration of approximately 4,000 pages.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0182
Total Execution Time  0.0196
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,032 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Time-Web-Developer-Shopify-to-Cloudflare-Migration-1685431
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0125 seconds)  (Hide)
0.0015   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1685431
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 757783
 LIMIT 1 
0.0019   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1685431
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-10',ej.date_added) duration_daysDATEDIFF('2026-08-10',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-10',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1685431' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1685431 
0.0008   UPDATE employer_jobs SET hit_counts '***Jul-09-2026=633***Jul-10-2026=143***Jul-11-2026=63***Jul-12-2026=61***Jul-13-2026=59***Jul-14-2026=48***Jul-15-2026=27***Jul-16-2026=46***Jul-17-2026=17***Jul-18-2026=22***Jul-19-2026=15***Jul-20-2026=29***Jul-21-2026=27***Jul-22-2026=30***Jul-23-2026=25***Jul-24-2026=24***Jul-25-2026=7***Jul-26-2026=14***Jul-27-2026=21***Jul-28-2026=18***Jul-29-2026=20***Jul-30-2026=15***Jul-31-2026=10***Aug-01-2026=3***Aug-02-2026=8***Aug-03-2026=11***Aug-04-2026=9***Aug-05-2026=10***Aug-06-2026=1249***Aug-07-2026=151***Aug-08-2026=112***Aug-09-2026=2***Aug-10-2026=1' WHERE job_id'1685431'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1374***Aug-2026=1556' WHERE job_id'1685431'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1685431' 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` = 1685431 
0.0028   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '757783'
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)