diff --git a/app/page.tsx b/app/page.tsx
index c6ed27e85..da51f0ca3 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -2,7 +2,7 @@ import { Carousel } from 'components/carousel';
 import Grid from 'components/grid';
 import Footer from 'components/layout/footer';
 import ProductGridItems from 'components/layout/product-grid-items';
-import { getProducts } from 'lib/shopify';
+import { getLiveProducts } from 'lib/utils';
 import { Suspense } from 'react';
 
 export const runtime = 'edge';
@@ -15,8 +15,7 @@ export const metadata = {
 };
 
 export default async function HomePage() {
-  const products = await getProducts({});  
-  const liveProducts = products.filter((product) => !product.tags.includes('hidden-product'))
+  const liveProducts  = await getLiveProducts({});
   
   return (
     <>
@@ -24,7 +23,7 @@ export default async function HomePage() {
         <Carousel />
         {liveProducts.length > 0 ? (
           <Grid className="grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 m-6">
-            <ProductGridItems products={products} />
+            <ProductGridItems products={liveProducts} />
           </Grid>
         ) : null}
         <Suspense>
diff --git a/app/search/[collection]/page.tsx b/app/search/[collection]/page.tsx
index 25416d544..e198eb6a6 100644
--- a/app/search/[collection]/page.tsx
+++ b/app/search/[collection]/page.tsx
@@ -1,10 +1,11 @@
-import { getCollection, getCollectionProducts } from 'lib/shopify';
+import { getCollection } from 'lib/shopify';
 import { Metadata } from 'next';
 import { notFound } from 'next/navigation';
 
 import Grid from 'components/grid';
 import ProductGridItems from 'components/layout/product-grid-items';
 import { defaultSort, sorting } from 'lib/constants';
+import { getLiveCollectionProducts } from 'lib/utils';
 
 export const runtime = 'edge';
 
@@ -33,7 +34,7 @@ export default async function CategoryPage({
 }) {
   const { sort } = searchParams as { [key: string]: string };
   const { sortKey, reverse } = sorting.find((item) => item.slug === sort) || defaultSort;
-  const products = await getCollectionProducts({ collection: params.collection, sortKey, reverse });
+  const products = await getLiveCollectionProducts({ collection: params.collection, sortKey, reverse });
 
   return (
     <section>
diff --git a/app/search/page.tsx b/app/search/page.tsx
index 5f4b60c01..45605e984 100644
--- a/app/search/page.tsx
+++ b/app/search/page.tsx
@@ -1,7 +1,7 @@
 import Grid from 'components/grid';
 import ProductGridItems from 'components/layout/product-grid-items';
 import { defaultSort, sorting } from 'lib/constants';
-import { getProducts } from 'lib/shopify';
+import { getLiveProducts } from 'lib/utils';
 
 export const runtime = 'edge';
 
@@ -18,7 +18,7 @@ export default async function SearchPage({
   const { sort, q: searchValue } = searchParams as { [key: string]: string };
   const { sortKey, reverse } = sorting.find((item) => item.slug === sort) || defaultSort;
 
-  const products = await getProducts({ sortKey, reverse, query: searchValue });
+  const products = await getLiveProducts({ sortKey, reverse, query: searchValue });
   const resultsText = products.length > 1 ? 'results' : 'result';
 
   return (
diff --git a/lib/utils.ts b/lib/utils.ts
index 3fa32280b..261cceea8 100644
--- a/lib/utils.ts
+++ b/lib/utils.ts
@@ -1,4 +1,5 @@
 import { ReadonlyURLSearchParams } from 'next/navigation';
+import { getCollectionProducts, getProducts } from './shopify';
 
 export const createUrl = (pathname: string, params: URLSearchParams | ReadonlyURLSearchParams) => {
   const paramsString = params.toString();
@@ -6,3 +7,15 @@ export const createUrl = (pathname: string, params: URLSearchParams | ReadonlyUR
 
   return `${pathname}${queryString}`;
 };
+
+export async function getLiveProducts(query: Parameters<typeof getProducts>[0]) {
+  const products = await getProducts(query);
+  const liveProducts = products.filter((product) => !product.tags.includes('hidden-product'));
+  return liveProducts;
+}
+
+export async function getLiveCollectionProducts(query: Parameters<typeof getCollectionProducts>[0]) {
+  const products = await getCollectionProducts(query);
+  const liveProducts = products.filter((product) => !product.tags.includes('hidden-product'));
+  return liveProducts;
+}
\ No newline at end of file