Designing a catalog site is a storefront where the buyer navigates to the desired feature item and clicks "request estimate" instead of "buy." Such a showcase is made when the price depends on the volume, configuration or contract, and it is dishonest to put it on the page as the final price. The work is divided into three nodes: price import with field mapping, filter by characteristics that really narrow the selection, and canonical for items available from several categories. The B2B catalog we measured holds 1,848 cards and 138 categories and gives the first response in 388.1 ms. The term is 18–35 working days, we call the estimate after analyzing your price.
18-35 working days from the approval of the catalog structure
after a free audit
Price
30
Guarantee
days after project sign-off
18-35
Term
working days from the approval of the catalog structure
1,848
Dimension 07/31/2026, B2B catalog of spare parts
cards and 138 categories — 1,992 addresses without a single duplicate
388.1
The first server response is there
ms with 120.2KB of HTML
calculation request, selection by parameters or price upload
What the buyer clicks
import CSV or XML on a schedule — from daily to hourly
Catalog update
after free price analysis, 2-4 working days
Estimate
What's included
Complete list of work and what you get as a result
The structure of the catalog for your nomenclature: categories and subcategories, by which the buyer reaches the group of products in two clicks, and not by searching at random
Position card: characteristics in a table, photos, passports and diagrams in separate files - the manager stops sending documentation manually
Filter by three to five characteristics that really narrow down the selection, instead of all the price columns — the category page stays fast
Search with processing of article numbers and partial matches: whoever came with the part code finds it on the first try
Price import - fields in your CSV or XML are mapped to catalog fields Scheduled updates: prices and availability no longer depend on whether someone mentioned the site
Calculation and selection request form with transfer to mail, Telegram and CRM - the application is submitted to the system, not to someone's personal messenger
Technical SEO: CNC, canonical on items available from several categories, sitemap without duplicates - signals do not spread over three addresses of the same product
JSON-LD micro-markup: Product without price, BreadcrumbList, Organization - the search engine reads the characteristics and the path, not guessing them from the text
GTM and GA4 analytics with position viewing, filter application, and request sending events — you can see what is filtered and where the person stops
Transfer: accesses, written instructions for updating the price, guarantee of 30 calendar days — then the catalog is maintained by your manager
When this service isn't right
What's not included — so there are no surprises at delivery
Shopping cart, checkout and online payment are already an online store, a separate task
Filling the catalog manually beyond the agreed volume
Copywriting of item descriptions
Product photography
Post-launch promotion and advertising
Who it's for
Situations where this service delivers results
Scenario 1 of 4
The price is named by the manager, not the page
Equipment for the configuration, components in batches, materials calculated by volume. The basket here forces you to come up with a number, which the manager then reviews in conversation. A catalog with a request for calculation removes this contradiction: the assortment and technical parameters are open, the amount is named by a person. In the catalog of equipment for chocolate production that we measured, it is done exactly like this - a request form instead of a checkout on 106 items in two language versions.
We'll review your situation in a free audit
Scenario 2 of 4
The price lives in Excel, and the order lives in the manager's messenger
The file with the nomenclature is available, but it is forwarded manually every time, and its availability is confirmed by a separate message. The import transfers the same file to the catalog with a filter and search: the buyer reaches the item himself, the manager receives a request with an article instead of the question "what do you have?". There is one condition - the characteristics must be separate columns, and not a continuous text of the description.
Scenario 3 of 4
The buyer comes with a part code, not with a desire to look
The mechanic, technologist, and buyer open a search instead of scrolling through categories. It decides here whether the search finds an item by partial article number and whether compatibilities are broken down. In the measured catalog of spare parts for industrial sewing machines, 138 categories on 1,848 cards are collected for this: the depth of the structure and keeps selection by machine model.
Scenario 4 of 4
Nomenclature from a hundred to several thousand lines
The working area of such a showcase. Twenty items will be enough for a product section on a regular website, several tens of thousands require separate import and cache engineering. Between these limits, the directory is kept without tricks: in the measured B2B project, 1,992 sitemap addresses did not yield a single duplicate.
Free analysis of the price and structure of the catalog
A catalog without a basket is made when the price depends on the volume, configuration or contract. Therefore, the main question of analysis is not "how to show the product", but "what will a person search for it and what will he click instead of the basket".
What we measure
What is the price really?We open the file: how many lines are there, which fields are filled, whether the characteristics are in separate columns. The price, where the parameters are combined into one text description, is a separate stage of the work, and it should be seen before the estimate, not after.
What are your buyers filtering for?We are looking for those three to five parameters that really narrow the choice. Filtering all the fields in a row makes the page slow and doesn't help anyone - and each parameter also requires you to reduce the value to one view.
What stands in place of the basketRequest a calculation, step-by-step selection by parameters, uploading a price file or calling the manager. The card, the form, and what we then measure as a conversion depend on this.
The status of the existing directory, if anyHow many addresses are in the sitemap and how many of them are unique, is the same position duplicated under different category paths. In our sample, there were 1,992 addresses without a single duplicate, and 4,236 records for 1,300 real addresses.
Where will the data come from nextHow often items and prices change and who shapes the discharge. One clean CSV once a week and an exchange with the accounting system every hour are different scenarios in terms of labor intensity, and the second requires your 1C or BAS programmer.
What you get
Catalog scheme: categories, depth, what characteristics go into the filter, what the card looks like.
Analysis of your price: which fields go where and what is missing in it for import.
Measurements of the existing directory with a list of duplicate addresses, if the directory already exists.
A 30-40 minute conversation with you and your sales manager.
Timeline: 2-4 working days after receiving the price download
Why is it free
Because the difference between a catalog with a hundred items and a catalog with two thousand is in times, not in percentages, and without a file it is honestly impossible to name the amount. The document remains with you regardless of whether we continue to work or not.
What's next
After analysis, we give an estimate by stages with calendar dates. If it becomes clear from the file that you need a store with a cart, we will say so directly - even if you came for a catalog.
Short form: your contact and site URL
Contract, act and 30-day warranty
Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.
Sole proprietor & bank transfer
The contractor is a registered sole proprietor. Payment by invoice with closing documents.
Rights & access — yours
Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.
Client portal instead of email chains
During the project you get access to a portal: contracts, invoices, acts and project status in one place.
European clients
Among our work — projects for Norway, Bulgaria, Moldova and Spain.
Verifiable numbers
Every case in the portfolio comes with a link to a live site and a technical measurement.
Audit first, then pricing
There is no price list on the site intentionally: the scope of the same work differs multiples between clients.
We say "no" when unsure
If the task isn't ours or the deadline is unrealistic — we tell you upfront.
What affects the price
Why two seemingly identical tasks are priced differently
The number of items and the depth of the structureA hundred lines are created per day. A few thousand are field mapping, category matching, and feature checking across the entire array. This is where the difference between the bottom and the top of the estimate is, and that's why we're asking for a file before talking about the amount.
Price statusArticle, name, category and parameters in separate columns — the import proceeds as is. Characteristics molded into a descriptive paragraph or filled with a picture in a PDF have to be disassembled by hand: this is a separate stage with its own deadline.
How many characteristics go into the filterEach parameter is a normalization of the values in the price. "Power 5 kW", "5 kW" and "5 kW" for the machine are three different values, and someone needs to reduce them to one, otherwise the filter will show three items instead of one.
What stands in place of the basketOne request form — one script. Step-by-step selection by parameters, personal uploading of a price file and transfer of an application to CRM with field analysis are three different things in terms of time-consuming work, and they are counted separately.
Language versionsThe second language multiplies not texts, but addresses: sitemap, hreflang and canonical in each branch. In the measured directory of 106 items, the two language versions gave 230 addresses in the sitemap-index of four files.
Data source after launchThe file you put in the agreed folder costs less than the exchange with the accounting system. The second option requires coordination of formats with your 1C or BAS programmer and a test window on the accounting side.
Cases
Tasks and results in numbers — all metrics measured by us
B2B supplier of professional equipment for chocolate production
Task
Show the catalog of tempering machines, cones and forming lines with technical characteristics and performance and collect requests for calculation - such equipment is not bought in one click.
Solution
A catalog site with a form for a calculation request instead of a shopping cart, two language versions, cards with technical parameters. Calculation methods are summarized on a separate page for those who are ready to pay. GTM, GA4 and coltracking are connected.
Result
Measurement 07/31/2026: 106 items in two language versions — 230 addresses in the sitemap-index of four files. First server response 351.4ms, full HTML load 490.4ms with 297.6KB of markup. Six calculation methods on the shipping and payment page — the widest set among measured projects. A discrepancy was found: in the project card, the stack is written as WordPress, and the site gives another CMS - the record is either outdated, or the platform was changed without us.
B2B catalog of spare parts and components for industrial sewing machines
Task
Allow a technician to find a part by code or machine model in a minimum of steps: an error in selection costs production downtime.
Solution
Catalog with selection by equipment model, technical diagrams and availability request form. Two language versions with correct hreflang. Payment is non-cash for FOP and non-VAT payers, payment after receipt at the carrier's warehouse - the conditions are described on the payment page.
Result
Measurement 07/31/2026: 1,848 cards and 138 categories — 1,992 addresses in the sitemap without a single duplicate. First response 388.1ms, full load 419.5ms with 120.2KB HTML: 3rd easiest markup among 16 sites measured. Found defects, which we showed to the owner: Universal Analytics is still connected in HTML, turned off by Google on July 1, 2023, and there is no GA4 property - three years without data; zero JSON-LD blocks on a directory of 1,848 entries; robots.txt without the Sitemap directive for a working site map.
Did not find your case?
Describe how it works on your side — we will tell you whether “Development of a catalog site without a shopping cart” fits and what it means in your situation. No brief and no call: one question, one answer.
Process steps
Transparent stages with approval at every step
Total duration:18–35 days
1
Price breakdown and catalog structure
3-5 working days
We look at the download, collect a tree of categories and a list of characteristics under the filter, agree that the person clicks instead of "buy". The structure is signed by your sales manager - it is expensive to redo it after the layout.
2
Category, card and filter prototype
2-4 working days
Category page layout with a list, position card with a table of characteristics and files, filter behavior with an empty sample. We agree on the schemes, to the design.
3
Design
4-7 working days
Main, category, card, request form, terms page. Here we fix the target weight of the page: in our measurements, the catalog stays within 120.2 KB of HTML, and heavier projects reach 297.6 KB on the same type of site.
4
Compilation of the catalog
5-9 working days
Layout, categories, card, filter, search by article and partial match, calculation and selection request forms, roles in the admin, page of working conditions.
5
Price import and field mapping
2-5 working days
Your columns fall on the fields of the catalog, the values of the characteristics are reduced to one view, there is a test filling and a comparison of the number of items in two ways. Then we set the update schedule.
6
Technical SEO, markup and analytics
1-3 working days
CNC, canonical on items from multiple categories, duplicate-free sitemap and sitemap directive in robots.txt, JSON-LD without price, GTM and GA4 with filter and submit events.
7
Testing and transfer
1-2 working days
Running the script "found a position - sent a request - request in CRM", measurements of the first response of the server and HTML weights, passing the admin with your manager, transfer of accesses and instructions for updating the price.
Technologies & integrations
What we build on and what it connects to
Stack
Next.js — the server gives ready HTML to the catalog; minus: content without an admin is managed by the developer
TypeScript — types catch a price mapping error even before assembly; minus: the entrance threshold is higher than PHP
PostgreSQL — characteristics by separate fields, filter by request; minus: the scheme of attributes is projected in advance
OpenCart — when the cart is planned to be added later; minus: some modules are still available only under 3.x
WordPress — when the directory is managed by a marketer without a developer; minus: in thousands of items, the filter rests on the base
nginx + HTTP/2 — parallel card and file requests; minus: the slow backend does not cure it
Cloudflare - category page cache; minus: when the prices are updated every hour, it gives yesterday's prices
Integrations
Google Tag Manager
GA4
Google Maps
Telegram bot for applications
KeyCRM
Uspacy CRM
1C / BAS — export of the nomenclature and prices
reCAPTCHA
Binotel
Crisp / JivoSite
Catalog with a request for calculation against a shop with a cart
How this option differs from the alternative
Online store with shopping cartOur approach
Price per pagefixed - otherwise the checkout will not calculate the amount of the orderreference or range with conditions, the final one is called by the manager
What does the buyer do?adds to cart, selects delivery and payssends a calculation or selection request with an article number
Markup Productwith price and availability, there is a chance for an extended snippetwithout price and offer: markup does not promise what is not on the page
Scope of worklonger — payments, delivery, returns, legal pages18-35 working days: no checkout, payment providers and order statuses
Where does the result fall?order with the amount and payment status in the adminlead to mail, Telegram and CRM, then it is managed by the manager
What we need from you
We can't start without this — best to prepare in advance
1Price in CSV, XML or Excel — item, name, category and characteristics in separate columns.
2Photo items from 800 px on the long side.
3The list of characteristics for the filter is in order of importance - from what the buyer narrows down the choice first.
4The answer to the question of what the buyer does instead of "buying": asks for a calculation, calls or downloads the price.
5Documentation for items, if you give them to buyers: passports, certificates, diagrams.
6One person from the sales side with the right to confirm the structure of the catalog and the list of features.
If something is missing — let us know, we'll help you gather it or do it as a separate task.
FAQ
Most frequently asked questions — with concrete answers
Why a catalog without a cart and not a regular store?
Because the price is not always fixed. If it depends on the volume, configuration, exchange rate or contract with a specific buyer, the cart forces you to put a number, which is then viewed in the conversation. A catalog with a request for calculation is more honest: the buyer sees the assortment and parameters, and receives the amount from the manager. Technically, it is also easier - there is no checkout, payment providers and order statuses, so the term is shorter.
Can I show prices if there is no shopping cart?
It is possible, and often worth it: a guide price or range keeps people on the page instead of sending them to Google further. We display it as a reference with a note about the conditions, and not as the amount to be paid. At the same time, we do not put the price in the Product markup: to announce the price in structured data and not give the opportunity to buy is a difference between the markup and the page, and manual sanctions arrive for non-existent markup, not benefits.
How many items will such a catalog hold?
A few thousand is fine, if the import and filter are done correctly. The B2B directory we measured held 1,848 cards and 138 categories and had a first response time of 388.1 ms with 120.2 KB of HTML. It is usually not the platform that limits it, but the filling method: several thousand lines cannot be entered manually through the admin. Separately, about the filter: it generates a combinatorial number of addresses, and if you don't cover them with canonicals and robots.txt, you will end up with thousands of almost identical pages in the index - this is a degradation, not an improvement.
How do I update pricing and availability after launch?
Import according to the schedule. You put the file in the agreed place or give the download from the accounting system, the catalog is updated daily or hourly - depending on how fast your data moves. Manual editing is reserved for individual edits. What the exchange doesn't do: It doesn't fix the record. If the balances in 1C are inaccurate due to resort or unrepresented write-offs, the site will quickly and accurately show inaccurate data.
I have characteristics in one text in the description - what to do with it?
This is the most frequent state of the price and a separate stage of work. As long as power, size, and compatibility are inside a paragraph, they don't become a column or a filter—the machine sees a solid line. There are two options: analyze with a parser according to the template, if the description is of the same type, or compile the table by hand. What exactly will come out is visible from the file, so the price analysis is the first stage, and not after the design.
Will the directory be found in the search?
No one guarantees a position. Technically, this is what we close: each position has its own CNC address, a unique title with an article number, characteristics with text, not a picture, and a canonical for items available from several categories - it is on the last that most of the takes are built. A fair margin: the sitemap does not increase items or guarantee indexation, and the actual number of indexed pages is visible only in your Search Console, which we do not have access to by default.
Can I add a cart later?
Yes, if it is known at the start. Then we take the platform with the expectation of the future checkout and put in the structure the fields that the store will need: the balance, the unit of measurement, the minimum batch. It is also possible to add a basket to a catalog made without this assumption — but this is a reworking of the structure, not an improvement of the interface, and it is counted as a separate project.
How to understand that the catalog is working, if there are no sales on the site?
We measure what is available: the number of calculation requests, which filters are applied, which requests are entered into the search, and how many of them are returned empty. The last is the most useful list in the project: it is what they want from you and what you don't have. A tip from experience: Check the counter before starting a new catalog. In the parts catalog we measured, the marking still said Universal Analytics, turned off in July 2023, and there was no GA4 at all - three years of operation without a single number. And separately about accuracy: GA4 shows a trend, not an accounting truth — blockers, consent mode, and browser restrictions on cookies eat up part of the data.
Send a price dump - let's see what comes out of it.
In response: a catalog scheme, a list of characteristics for the filter and an estimate by stages with dates. If it becomes clear from the file that you need a store with a cart, you will hear it in the first email.
From measured casesMeasurement 07/31/2026: 106 items in two language versions
There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.