Put your Adobe Spark page at your own custom domain for free

A step-by-step guide to putting spark.adobe.com pages at yoursite.com, for free

Put your Adobe Spark page at your own custom domain for free
Excerpt
A step-by-step guide to putting spark.adobe.com pages at yoursite.com, for free
STATUS
UPDATE
Slug
put-your-adobe-spark-page-at-your-own-custom-domain-for-free
Fed up of staring at that cumbersome Spark URL, wishing you could turn spark.adobe.com/page/H8df978Asg98 into yoursite.com?
Here's how to do exactly that, at no cost to you whatsoever, using one of the internet's most powerful tools for domain management.
Requirements for this guide:
  • A public Spark post page
  • A domain that you already own, at a domain manager (e.g. Namecheap, GoDaddy) which you have access to
 
ℹ️
Important note: This guide was written in 2021 and is not actively maintained. Some things may have changed on Cloudflare, it should still work for the most part. If you are looking for an easier way to host your Adobe Spark/Express/Slate page at a custom domain, just use: https://cloak.ist/adobe-spark
 

Step 1: Move your domain to Cloudflare

The first thing we need to do is take your domain and move it over to being managed by Cloudflare.
Cloudflare is the biggest internet service you've probably never heard of. They sit between you (a website viewer) and around 16 million websites including huge tech companies, who use them to make sure that they can't get attacked by large amounts of malicious traffic.
We don't care about that too much – we're more interested in the fact that they have an awesome tool called Workers (we'll get to that later) which you can use on their extremely generous free tier to put your Adobe Spark page at your domain.
So...
Sign up for an account: https://dash.cloudflare.com/sign-up
notion image
  • Enter your domain name. If you would like to use a subdomain (e.g. subdomain.yoursite.com) with Cloakist, you should still put your root domain name here.
notion image
  • Select the Free plan
notion image
  • If you don't have any A records imported, add one with your root domain (yoursite.com) as the Name and 1.1.1.1 as the Content. Do the same for any subdomain you want to use (e.g. to use spark.yoursite.com, enter Name: spark, Content, 1.1.1.1) Otherwise, click Continue on the DNS Record page.
notion image
  • Copy the 2 nameservers, which end with .ns.cloudflare.com
notion image
  • Paste the nameservers in the domain setting page at your domain manager (Namecheap in my case). Make sure you save the setting.
notion image
  • Wait for a few minutes (consider making a cup of tea), then click Done, check nameservers.
notion image
  • Select Flexible SSL/TLS encryption mode
notion image
  • Turn on Always Use HTTPS, Auto Minify, and Brotli (all 3 optional but recommended)
notion image
  • Select Done
notion image
  • You should see this screen. Sometimes it can take a little longer for Cloudflare to detect that you've changed nameservers. If that's the case, you might have to wait up to 45 minutes. Keep using the Re-check your site option, and refresh the page, until you see the 'Great news!' message.
notion image

Step 2: Set up a Cloudflare Worker

So now Cloudflare is the boss of your domain.
Cloudflare will also have moved over any DNS records you were using with your domain so that any email setup etc. is still working.
(Note: the ownership of your domain is still with your domain manager. You'll still have to pay them a monthly or yearly subscription to keep owning your domain. But everything else is now managed through Cloudflare.)
Now what we're going to do is add a little bit of code called a Worker, which will live at our site and tell Cloudflare to show the content from your Adobe Spark site instead.
  • Click on Workers in the top menu of Cloudflare:
notion image
 
  • Add Route
notion image
 
  • Enter yoursite.com/* (but change this to your site!). If you want to use a subdomain, enter subdomain.yoursite.com/* instead
notion image
 
  • Hit Save
  • Manage Workers
notion image
 
  • Create a Worker
notion image
 
  • Change the name of the Worker (marked with A on the screenshot) to something sensible like yoursite-spark
  • At B, select everything and delete
notion image
 
  • Now paste in the custom script I've written for this exact purpose:
// Config for our domain (where we want the Spark page to live)
// and our Spark page
// Change these to suit your case!
// IMPORTANT: make sure there is no '/' at the end of either URL
const config = {
  domain: "spark.cloak.ist",
  sparkPage: "spark.adobe.com/page/a1d2g3d3a1s2",
}

// Function that processes requests to the URL the worker is at
async function handleRequest(request) {
  // Grab the request URL's pathname, we'll use it later
  const url = new URL(request.url)
  const targetPath = url.pathname

  // Change request URLs to go through to the subdomain
  let response = await fetch(`https://${config.sparkPage}${targetPath}`)

  // We don't need to change these requests at all
  // So we return the response of the fetch request from above
  // immediately.
  return response
}

addEventListener("fetch", (event) => {
  event.respondWith(handleRequest(event.request))
})
  • Once you've done that, you're going to need to change 2 things in the script, on lines 6 and 7
  • Replace spark.cloak.ist with yoursite.com
  • Replace spark.adobe.com/page/a1d2g3d3a1s2 with the URL of your Spark page
  • ⚠️ Make sure that you don't have https:// at the start of what you replace in here, and that you don't put a / at the end either! The format should be exactly as it is here
  • Hit Save and Deploy
notion image
 
  • Now, go back to this Workers page
notion image
 
  • Find the Route that you made earlier and click 'Edit'
  • In the Workers dropdown, select the Worker you just created and hit Save
notion image

Step 3: Try it out!

This should be all you need to do. Now, go to yoursite.com (or subdomain.yoursite.com if that's what you're using instead) and see if it's working.
If it's not, go back through the steps here and make sure you did all of them correctly. In particular, make sure you replaced the right parts of the Worker script, and that you didn't include anything like https:// before the link or / after.
And if that's still not working, feel free to contact me via the live chat or Twitter!

The hosted option with Cloakist

If you'd rather not...
  • Move your domain over to Cloudflare
  • Have to do this set up yourself
  • Have to worry about changing any code in future in case this breaks
...you can use Cloakist to do this instead, for $10/m.
And for $25/m we offer a Pro version, where you can:
  • Have multiple Adobe Spark pages living at the same domain
  • Remove any Adobe Spark branding
  • Customise your link previews
  • Add tracking pixels
  • Add live chat
  • Add any custom CSS/JS that you need
Thanks for reading!

Own your content. Own your brand. Ready?

Rehost any webpage on your own domain

Connect my page →
Bruce McLachlan

Written by

Bruce McLachlan

Owner/Operator at Cloakist