Menu
Sign up
Squarespace

OG images in
Squarespace

Page Header Code Injection, one page at a time.

Where it plugs in

Code injection in Squarespace has no variable for the page address, so each page gets its own tag: Pages panel → gear icon next to the page → Advanced → Page Header Code Injection, with that page's address URL-encoded after ?url=. Code injection comes with the Core, Plus and Advanced plans (and some legacy ones) and does not run on checkout pages. Squarespace writes its own social tags above your code — twitter:card set to summary, plus og:image and twitter:image when the page has a Social Image or the site a social sharing logo — so leave the page's Social Image empty and repeat twitter:card and twitter:image in your snippet, or X keeps the small square. On version 7.1 Squarespace warns that HTML in this field disappears if you turn off the header's transparency: check the page source again after changing the header.

Page settings → Advanced → Page Header Code Injection

<!-- Pages panel → gear icon next to the page → Advanced →
     Page Header Code Injection. There is no variable for the page
     address here: one snippet per page, with that page's own address
     URL-encoded after ?url= -->
<meta property="og:image" content="https://shareglint.com/u/acc_YOUR_ACCOUNT_ID.png?url=https%3A%2F%2Fwww.your-site.com%2Fservices">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">

<!-- Squarespace writes its own twitter:card ("summary", a small square)
     above this code, plus og:image and twitter:image when the page has
     a Social Image or the site a social sharing logo. X reads
     twitter:image before og:image, so say it here too. -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://shareglint.com/u/acc_YOUR_ACCOUNT_ID.png?url=https%3A%2F%2Fwww.your-site.com%2Fservices">
The trap

Post Blog Item Code Injection looks like the place for blog posts, but it adds the same code to every post and lands in the body, below the post content (above it in some 7.0 templates) — not in the <head>, where Open Graph tags belong. For posts and products, open the item's auto-OG URL once in a browser, save the PNG and upload it as the item's Social Image: for collection items Squarespace uses that image before the featured image.

How the image URL works

Nothing in your site calls an API: the crawler that reads the tag requests the image URL, and the first request reads the page's title, description and image and renders the card. Later requests get the same file. Only pages on the domains you allowed in the dashboard get an image — any other address answers 403 — so the URL holds no key. We re-read a page at most every 60 minutes, so a new title shows up within that time.

OG images without code

What it costs

100 images a month free, then $9 for 2,000. A new card uses one image of your quota; the card is cached by what is on it, so an unchanged page is never charged twice, also when shared with ?utm_source=.

Other frameworks