Squarespace
Publish EarlySEO articles to a Squarespace blog using hosted mode with a custom domain.
The Squarespace integration publishes articles to an EarlySEO-hosted blog that you link from your Squarespace site. Squarespace does not provide a public blog-post publishing API, so EarlySEO serves the blog on a custom blog domain such as blog.example.com.
Squarespace stays your main website. EarlySEO hosts the blog content, handles SSL, and gives you a public blog URL to add to your Squarespace navigation.
Prerequisites
- A Squarespace site with a connected custom domain, such as
example.com - Access to your domain DNS settings
- An EarlySEO account
Setup
1. Choose your blog URL
Use a subdomain for the EarlySEO-hosted blog:
blog.example.comThis is the recommended setup. Your Squarespace site remains available at example.com or www.example.com, and the blog lives at blog.example.com.
2. Create the integration in EarlySEO
- Go to Integrations in your EarlySEO dashboard
- Click Add Integration and select Squarespace
- Fill in the form:
- Domain: your root domain, for example
example.com - Mode: choose Subdomain
- Publishing Mode: choose Publish or Draft
- Domain: your root domain, for example
- Click Create Integration
3. Add the DNS record
In your DNS provider, add this record:
Type: CNAME
Name: blog
Value: blog.earlyseo.comDo not replace your Squarespace root-domain records. Only add or update the blog subdomain record.
EarlySEO automatically registers the blog subdomain with our hosting provider when you create or validate the integration. DNS propagation and SSL provisioning can still take a few minutes.
4. Add the blog to Squarespace navigation
In Squarespace, add an external navigation link to your hosted blog:
https://blog.example.comUse a label such as Blog, Articles, or Insights.
Testing
After deploying the integration and DNS record, test in this order.
1. Check DNS
Run a DNS lookup for your blog subdomain:
blog.example.com CNAME blog.earlyseo.comIf you still see another target, wait for DNS propagation or update the DNS record.
2. Check the verification endpoint
Open this URL in a browser:
https://blog.example.com/.well-known/earlyseo-verifyExpected result: a plain text verification token.
If this URL returns 404, the domain is not reaching the EarlySEO hosted-blog app yet.
3. Publish a test article
Create or publish one EarlySEO article for the site. Then open the article URL shown in EarlySEO, for example:
https://blog.example.com/my-test-articleExpected result: the article page loads on the blog subdomain.
4. Revalidate the integration
Return to Integrations in EarlySEO and validate the Squarespace integration. Once the verification endpoint returns the expected token, the integration should show as Connected.
Troubleshooting
Domain not resolving
- Verify your DNS records match the values shown in EarlySEO
- Make sure the
blogsubdomain points toblog.earlyseo.com - Use a DNS lookup tool to check propagation status
- Wait at least 30 minutes after making DNS changes
Verification endpoint returns 404
- Confirm the
blogCNAME points toblog.earlyseo.com - Return to EarlySEO and validate the integration so the blog domain can be provisioned automatically
- Wait for DNS and SSL provisioning to finish
Cloudflare shows SSL error 525 or Vercel shows DEPLOYMENT_NOT_FOUND
- Set the
blogrecord to DNS only while the domain is being provisioned - Confirm the CNAME target is
blog.earlyseo.com - Revalidate the integration in EarlySEO
- After SSL works directly, Cloudflare proxying can be enabled with SSL mode set to Full (strict)
Articles not appearing
- Confirm the integration status shows as Connected in your EarlySEO dashboard
- Confirm the article is published, not saved as draft
- Open the article URL directly from EarlySEO
- Check that your Squarespace navigation link points to
https://blog.example.com
SSL / certificate issues
- EarlySEO automatically handles SSL for connected domains
- If you see certificate warnings, wait for DNS propagation to complete