diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-11-18 15:22:07 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-11-18 15:22:07 +0700 |
| commit | 9855e33f0b613cc7ed8828bfc3a24d15821456db (patch) | |
| tree | 1d26ec063141187551ef2333ae1fca299ed4d7dd /src | |
| parent | e21765e46cea66f1d421ff13a90a2830afc76d54 (diff) | |
<Miqdad> balikin sitemap dan benerin canonical brand
Diffstat (limited to 'src')
| -rw-r--r-- | src/pages/api/shop/search.js | 32 | ||||
| -rw-r--r-- | src/pages/shop/brands/[slug].jsx | 49 |
2 files changed, 48 insertions, 33 deletions
diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js index 2652174a..42d16100 100644 --- a/src/pages/api/shop/search.js +++ b/src/pages/api/shop/search.js @@ -26,31 +26,31 @@ export default async function handler(req, res) { try { const offset = (page - 1) * limit; - // const parameter = [ - // 'q=*:*', - // `rows=${limit}`, - // `start=${offset}`, - // 'fl=product_id_i,name_s,default_code_s,image_s,category_name', - // 'wt=json', - // 'omitHeader=true', - // ]; - const parameter = [ 'q=*:*', `rows=${limit}`, `start=${offset}`, - - // ❌ EXCLUDE PROMOTION - 'fq=-(name_s:*promotion* OR display_name_s:*promotion* OR variants_name_t:*promotion*)', - - // ❌ EXCLUDE DUMMY PRODUCT - 'fq=-(name_s:*dummy* OR display_name_s:*dummy* OR variants_name_t:*dummy* OR default_code_s:A.*)', - 'fl=product_id_i,name_s,default_code_s,image_s,category_name', 'wt=json', 'omitHeader=true', ]; + // const parameter = [ + // 'q=*:*', + // `rows=${limit}`, + // `start=${offset}`, + + // // ❌ EXCLUDE PROMOTION + // 'fq=-(name_s:*promotion* OR display_name_s:*promotion* OR variants_name_t:*promotion*)', + + // // ❌ EXCLUDE DUMMY PRODUCT + // 'fq=-(name_s:*dummy* OR display_name_s:*dummy* OR variants_name_t:*dummy* OR default_code_s:A.*)', + + // 'fl=product_id_i,name_s,default_code_s,image_s,category_name', + // 'wt=json', + // 'omitHeader=true', + // ]; + const solrUrl = process.env.SOLR_HOST + '/solr/product/select?' + parameter.join('&'); diff --git a/src/pages/shop/brands/[slug].jsx b/src/pages/shop/brands/[slug].jsx index ed6724ea..c5b3eaac 100644 --- a/src/pages/shop/brands/[slug].jsx +++ b/src/pages/shop/brands/[slug].jsx @@ -1,30 +1,34 @@ -import dynamic from 'next/dynamic' -import { getIdFromSlug, getNameFromSlug } from '@/core/utils/slug' -import { useRouter } from 'next/router' -import _ from 'lodash' -import Seo from '@/core/components/Seo' -import Breadcrumb from '@/lib/brand/components/Breadcrumb' -import useBrand from '@/lib/brand/hooks/useBrand' +import dynamic from 'next/dynamic'; +import { getIdFromSlug, getNameFromSlug } from '@/core/utils/slug'; +import { useRouter } from 'next/router'; +import _ from 'lodash'; +import Seo from '@/core/components/Seo'; +import Breadcrumb from '@/lib/brand/components/Breadcrumb'; +import useBrand from '@/lib/brand/hooks/useBrand'; import PageNotFound from '@/pages/404'; -const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout')) -const ProductSearch = dynamic(() => import('@/lib/product/components/ProductSearch')) -const Brand = dynamic(() => import('@/lib/brand/components/Brand')) +const BasicLayout = dynamic(() => + import('@/core/components/layouts/BasicLayout') +); +const ProductSearch = dynamic(() => + import('@/lib/product/components/ProductSearch') +); +const Brand = dynamic(() => import('@/lib/brand/components/Brand')); export default function BrandDetail() { - const router = useRouter() - const { slug = '' } = router.query + const router = useRouter(); + const { slug = '' } = router.query; - const brandName = getNameFromSlug(slug) - const id = getIdFromSlug(slug) - const {brand} = useBrand({id}) + const brandName = getNameFromSlug(slug); + const id = getIdFromSlug(slug); + const { brand } = useBrand({ id }); // if ( !brand.isLoading && _.isEmpty(brand.data)) { // console.log('ini masuk pak') // return <PageNotFound />; // } return ( <BasicLayout> - <Seo + {/* <Seo title={`Jual Produk Resmi ${brandName} Indonesia | Indoteknik.com`} description='B2B Marketplace MRO & Industri dengan Layanan Pembayaran Tempo, Faktur Pajak, Online Quotation, Garansi Resmi & Harga Kompetitif' additionalMetaTags={[ @@ -33,6 +37,17 @@ export default function BrandDetail() { content: `Jual ${brandName}, beli ${brandName}, Distributor ${brandName} Indonesia, cari ${brandName}, produk ${brandName}, ${brandName} Indonesia, harga ${brandName}` } ]} + /> */} + <Seo + title={`Jual Produk Resmi ${brandName} Indonesia | Indoteknik.com`} + description='B2B Marketplace MRO & Industri dengan Layanan Pembayaran Tempo, Faktur Pajak, Online Quotation, Garansi Resmi & Harga Kompetitif' + additionalMetaTags={[ + { + property: 'keywords', + content: `Jual ${brandName}, beli ${brandName}, Distributor ${brandName} Indonesia, cari ${brandName}, produk ${brandName}, ${brandName} Indonesia, harga ${brandName}`, + }, + ]} + canonical={`${process.env.NEXT_PUBLIC_SELF_HOST}/shop/brands/${slug}`} /> <Breadcrumb brandName={brandName} /> @@ -47,5 +62,5 @@ export default function BrandDetail() { /> )} </BasicLayout> - ) + ); } |
