Hide all products on your Squarespace store page using custom CSS so you can manually organise your shop layout without restrictions
I made a simple custom CSS snippet that hides the default Squarespace shop products and category navigation on a specific Squarespace store page.
The reason someone might want to do this is because Squarespace store pages can feel very limited when it comes to layout control. The built-in product grid works, but you are mostly stuck with Squarespace’s default way of displaying products, categories, spacing, and structure.
By hiding the automatic product grid, you can still keep your products active in the background, but manually build your own shop layout underneath the page header using normal Squarespace sections.
This gives you a lot more freedom to create a shop page that feels more custom, branded, and organised.
For example, you could manually create:
- Featured product sections
- Custom product cards
- Product collection areas
- Category-style sections
- Better image layouts
- More detailed product descriptions
- Buttons linking directly to each product
- A cleaner and more premium shop design
- A layout that works better for your own brand or store
This can be really useful for print shops, creative stores, portfolio-style shops, small product collections, or anyone who wants their Squarespace shop page to feel less restricted by the default template.
Here is the CSS:
/* Hide default Squarespace shop products and categories on the Shop page only */
body.collection-INSERT-YOUR-SHOP-ID-HERE .ProductList,
body.collection-INSERT-YOUR-SHOP-ID-HERE .product-list,
body.collection-INSERT-YOUR-SHOP-ID-HERE .products,
body.collection-INSERT-YOUR-SHOP-ID-HERE .collection-content-wrapper,
body.collection-INSERT-YOUR-SHOP-ID-HERE .product-list-grid,
body.collection-INSERT-YOUR-SHOP-ID-HERE .ProductList-grid,
body.collection-INSERT-YOUR-SHOP-ID-HERE .category-nav,
body.collection-INSERT-YOUR-SHOP-ID-HERE .products-category-nav,
body.collection-INSERT-YOUR-SHOP-ID-HERE .ProductList-filter,
body.collection-INSERT-YOUR-SHOP-ID-HERE .ProductList-filter-list {
display: none !important;
}
Just replace:
INSERT-YOUR-SHOP-ID-HERE
with your own Squarespace shop collection ID.
For example, your body class might look something like this:
body.collection-6a039185e39dyd12fabda26f
In that case, you would only copy the ID part:
6a039185e39dyd12fabda26f
and replace INSERT-YOUR-SHOP-ID-HERE with it.
Once added, the default product grid and category navigation should be hidden on that specific shop page only, while leaving the rest of your website untouched.
You can then manually design your shop page using sections, images, text blocks, buttons, and links to your individual products.
I’d definitely recommend testing it on desktop and mobile before leaving it live, and making sure all your product buttons, checkout links, and navigation still work properly.
For me, this is a nice way to keep the functionality of Squarespace ecommerce while having more creative control over how the shop page actually looks.