# Adding your job board to a Squarespace site

> Show your Kepler job board on a page of your Squarespace site, give it a subdomain such as jobs.your-agency.com, and retire an old jobs blog.

_Collection: Job Advertising & Portal (job-portal) — Kepler Help Center. Canonical: https://keplercrm.com/support/articles/job-board-on-squarespace/_

You can put your [job board](/support/articles/set-up-your-job-portal/) on a Squarespace site in two ways. You can use either or both:

  - **On a page of your site.** The board sits inside a page such as Careers or Opportunities, under your own menu. Candidates never leave your site.

  - **On its own subdomain**, such as `jobs.your-agency.com`. The board is served from your domain, so search engines and Google's job search credit your site.

Most agencies do both: the subdomain for search, and the page so visitors stay on the site. Set up the subdomain first if you plan both, so you only paste the code once.

## Before you start

  - In **Settings → Job board**, switch on **Portal enabled** and publish at least one job. See [Publishing jobs to your portal](/support/articles/publishing-jobs/).

  - Check your Squarespace plan. Squarespace only runs iframes and JavaScript in a Code Block on the **Core**, **Plus** and **Advanced** plans (and some older plans). On **Basic** the code stays in the block but does nothing.

## Give the board its own subdomain

In Kepler:

  - Go to **Settings → Job board**. In the **Portal** section, enter your subdomain in **Custom domain**, for example `jobs.your-agency.com`.

  - Click **Save** in the bar at the bottom of the page. Kepler shows **Add a CNAME record pointing to** and an address. Copy that address.

In Squarespace (your domain is managed by Squarespace, including domains that moved over from Google Domains):

  - Open `account.squarespace.com/domains` and click your domain.

  - Click **DNS**, then **DNS Settings**. Scroll to **Custom Records** and click **Add record**. Confirm your password if asked.

  - Set **Type** to **CNAME**. In **Name**, enter only the first part of the subdomain, for example `jobs`. In **Data**, paste the address you copied from Kepler. Click **Save**.

Back in Kepler:

  - Click **Verify DNS**. The status moves from **Awaiting DNS** to **Securing domain** while the security certificate is issued, then to **Live**. If it shows **Securing domain**, wait a few minutes and verify again.

A new DNS record often works within the hour, but Squarespace allows up to 48 hours. If **Verify DNS** fails, check the record again later.

> **NOTE:** If your domain uses custom nameservers (for example, its DNS is at Cloudflare), records added in Squarespace have no effect. Add the CNAME record wherever your nameservers are instead.

To link to the board from your menu, open the **Pages** panel in Squarespace, click **+**, choose **Link**, enter a title such as *Opportunities*, choose **URL** and enter `https://jobs.your-agency.com`, then click **Save**.

## Show the board on a page of your site

In Kepler:

  - Go to **Settings → Job board** and find **Embed on your website**.

  - In **Your website**, enter your site's domain, for example `your-agency.com`. The `www.` version is allowed with it. Separate several sites with commas.

  - Click **Save**. The embed code appears below the field. Click **Copy code**.

Leave **My website lists these jobs itself** off. That switch is for sites that import the jobs feed into their own job pages, and it hides the board from Google.

In Squarespace:

  - In the **Pages** panel, open the page where the jobs should appear, or click **+** to add a blank page.

  - Click **Edit**. In a section, click **Add block** (or **+**) and choose **Code**.

  - Click the pencil icon on the block. Paste the code, set **Mode** to **HTML**, and leave **Display Source** off.

  - Stretch the block across the full width of the section, then save the page.

  - Open the page in a private or incognito window to check it. Squarespace sometimes hides custom code while you're logged in, even when visitors can see it.

The board grows to fit as visitors browse, and the section grows with it. When a visitor opens a role, the page address gains `?job=` and the role's name, so that link opens the same role when shared. The code also adds a small *Powered by Kepler CRM* line under the board.

> **TIP:** If you set up the subdomain after pasting the code, copy the embed code again once the domain shows Live and replace the old code in the block. The new code loads the board from your own domain.

## Replace an old jobs blog

Many Squarespace sites list jobs as blog posts. Squarespace can't turn a Blog page into a regular page, so add a new page for the board and retire the blog:

  - On the old blog page, click the gear icon. Change its **URL slug** (for example to `/opportunities-old`) and switch off **Enable Page**. A disabled blog hides all its posts from visitors and search engines, and you can switch it back on later.

  - Add a blank page with the old address (for example `/opportunities`) and the old menu title, and add the embed code as above.

  - Send the old post addresses to the new page so shared links keep working. Open the **Developer tools** panel, click **URL mappings**, add one line per old post, and click **Save**:

```
/opportunities-old/projects-associate -> /opportunities 301
/opportunities-old/arbitration-associate -> /opportunities 301
```

Use the posts' current addresses, and only the part after your domain. A redirect only works while the old page is disabled or deleted. Squarespace redirects can't carry `?job=`, so point them at the board page.

## If something isn't right

| What you see | What to check |
| --- | --- |
| An empty box, or "refused to connect" | Your site's domain must be in Your website under Embed on your website , saved, and spelled as visitors see it in the address bar. |
| Nothing while you're editing | Check in a private window. If nothing shows there either, check your Squarespace plan: Basic doesn't run the code. |
| "Job board not found" inside the box | Portal enabled is off in Settings → Job board . |
| The board is cut off, or scrolls inside its box | The script part of the code is missing. Copy the code again with Copy code and replace everything in the block. |
| Verify DNS keeps failing | In Squarespace, Name must be only jobs , not the full domain, and Data must match the address Kepler shows. New records can take up to 48 hours. |
