• Online Stores · OpenCart 4.x by default

Online sports goods store: sizes, types of sports, dimensions

The development of an online sports goods store is a collection of three different catalogs under one roof: clothes and shoes live by sizes, inventory by characteristics, exercise machines and bicycles by dimensions and separate delivery. Therefore, the work begins with the layout of your assortment into these groups, and not with the layout of the main one. By default, we set the size and color as model options, not individual products. We name the term and amount after a free audit: a store for one sport and a store for eight are different jobs.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
Tactical equipment store, our dimension 07/31/2026
54,302 items and 635 categories, first response 413.8 ms
after a free audit
Price
30
Guarantee

days after project sign-off

54,302
Tactical equipment store, our dimension 07/31/2026

items and 635 categories, first response 413.8 ms

55,321
Garden equipment store with oversized goods, measurement 07/31/2026

product pages, 3,868 categories, TTFB 840.5ms

40
Niche catalog for 300 items, measurement 08/01/2026

categories in four levels, first response 235 ms

554
Category page weight with 100 cards is the same

KB of HTML vs. 143.6 KB on the main of the same store

25–45
Development period

working days from the approval of the TK

50%
Working conditions

advance payment, two rounds of editing, 30-day warranty period

What's included

Complete list of work and what you get as a result

  • A catalog with two entrances - by product type and by sport: the buyer enters from the side from which he thinks.
  • Filter by size, brand, article and level of training on OCFilter with canonical on combinations - otherwise thousands of identical addresses will settle in the index.
  • Size and color as variants of one model: one card, one canonical, selection inside the card — the catalog is not inflated many times.
  • Availability by size in the card: the buyer sees what is not available before the cart, and not after payment.
  • Size grids of specific brands in the card plus a "how to take measurements" tip - instead of a PDF link in the footer of the site.
  • Inventory characteristics by separate fields — weight, material, length, maximum load: a filter and model comparison is collected from them.
  • Marking of overall items and separate delivery conditions in the card and basket: the buyer learns about the rise to the floor before ordering.
  • Sets and accompanying items: mat and gloves for the simulator, helmet, pump and lock for the bicycle.
  • Seasonal selections that switch in the admin: categories and addresses remain in place, what is above changes.
  • Checkout with payment by card, payment in installments and post-payment; Nova Poshta, Ukrposhta, Meest Express, self-delivery.
  • Technical SEO and machine markup: CNC, canonical on variants, unique title, sitemap without duplicates, JSON-LD Product, Offer, AggregateOffer, BreadcrumbList.
  • Transfer: access, written instructions, administration meeting with the manager. 50% advance payment, two rounds of edits at the design stage, warranty period of 30 calendar days.
When this service isn't right

What's not included — so there are no surprises at delivery

  • Subject and studio shooting of equipment
  • Compilation of dimensional grids of different brands as content work is a separate service
  • Logistics of oversized shipments as an operational process
  • Post-launch advertising
  • Hosting, domain, acquiring
Who it's for

Situations where this service delivers results

Scenario 1 of 5

Trade equipment for several sports at once

One shopper searches for "running shoes," the other searches for "everything for tennis." These are two different entrances to the same catalog, and the store should keep both: a tree by product type plus picks by sport on top.

We'll review your situation in a free audit

Free audit of sports assortment

Sporting goods are several different stores in one: clothes live by sizes, inventory by characteristics, exercise equipment by dimensions. The audit breaks down your inventory into these groups and shows how much work is in each.

What we measure

  • Assortment groups and rules for eachHow many clothes and shoes with sizes are in the catalog, how many inventory with characteristics, how many overall items. Each group requires its own card logic, and the number of groups determines the amount of work.
  • Dimensional data statusWhether the size is shown in a separate price field and whether the grids of different brands are combined. If the size is sewn into the name with a string, it has to be retrieved by a parser — this is a separate stage with its own term.
  • How many addresses will your directory giveWe calculate in two scenarios: the size as a model variant and the size as a separate product. The difference is tenfold, and it solves everything else — import, site map, manager work.
  • Dimensions and deliveryWhat items are not covered by a regular carrier and what are the rules for them. The conditions should be on the card: in the garden equipment store we measured, the self-pickup point at the checkout is marked as closed from March 2026 - the buyer will learn about it already in the registration.
  • Page weight and speedWe measure the main, category and card separately. A benchmark from our measurement: in a niche store with 300 items, the main one weighs 143.6 KB, and a category with 100 cards weighs 554 KB, which is four times more.
  • SeasonalityWhat part of the assortment is sold only half a year. This determines whether a mechanism to quickly switch the main and categories between seasons is needed, or whether a manual edit twice a year will suffice.

What you get

  • Assortment document: groups of goods, state of dimensional data, list of overall items.
  • The scheme of the catalog with two inputs - by product type and by sport - and the place of filters in it.
  • The figure of the future catalog in both scenarios of starting the dimensions and the evaluation of the work on the assembly of the models.
  • A conversation for 30–40 minutes, where we go through the document point by point.

Timeline: 2-4 working days from the moment we received the price and website address

Why is it free

Because in sporting goods, the estimate misses precisely on the dimensions: what looks like a catalog of two thousand items, after the layout by dimensions, becomes twelve thousand combinations. You can calculate this only on your data, and it is faster to calculate than to play it safe in the estimate. The document is yours regardless of whether we continue to work together.

What's next

After the audit, we name the amount and term in stages with calendar dates, then the contract, invoice and act. If it becomes clear from the numbers that you do not need the store now, you will hear it in the first email.

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

  • How many assortment groups are in the catalogOne sport shop is one card logic. Clothes, shoes, equipment, simulators and food together - five sets of fields, five sets of filters and five delivery scenarios.
  • Dimensional data statusThe price, where the model, size, color, price and balance are in separate columns, is filled with imports for the day. The price, where the size is sewn into the name ("Alta sneakers 42 blue"), has to be parsed with a parser, and the brand grids have to be built by hand.
  • Number of variants within the modelTwo thousand models in six sizes and three colors are thirty-six thousand combinations with their own residuals. Import volume, sitemap size, and build time are calculated from this number, not from the number of models.
  • Overall itemsEach individual delivery type is a rule in the checkout, a test order and a text in the card. Exercise machines and bicycles also add an installment: a module plus a test of how it behaves in a mixed basket.
  • Payment, delivery and balance accountingEach payment method and carrier is a separate module and order run. Balances at the option level are almost always drawn from the accounting system, and this is already an exchange with a schedule, not a widget in the checkout.
  • Seasonal windowLaunching two weeks before the start of the season is more expensive: the project rises in the queue, and approvals must be made in one working day. Imports with expanded dimensions are not compressed by the accelerated queue.
Cases

Tasks and results in numbers — all metrics measured by us

online store of tactical and military equipment, catalog of over 50,000 items

Task
Keep a variety of equipment in one store — body armor, clothing, shoes, backpacks, optics — with filtering by characteristics. The task is of the same nature as the multisport catalog.
Solution
OpenCart 3 by Cloudflare, two language versions, nine types of JSON-LD on the main. Checkout includes online card, cash on delivery, cash on delivery, non-cash payment and installments.
Result
54,302 products and 635 categories. The volume was verified by two methods: the sitemap-index of 32 product files gives 110,096 addresses in two languages, the regular search — 54,501–54,600 positions, a discrepancy of 0.4%. With such a directory, the first server response is 413.8 ms, the HTML weight is 421.5 KB. Defect found: hreflang declared as uk-UA and uk-RU instead of ru-UA. Measured on 07/31/2026.

online store of garden equipment and spare parts with oversized products

Task
Sell ​​equipment that does not go by regular parcel, together with small spare parts - and give the buyer installments for expensive items.
Solution
An OpenCart store with a sitemap divided into submaps. Eight payment methods, including cashless with VAT and payment in installments from monobank. Delivery by Nova Poshta, Meest Express and Rozetka Delivery.
Result
55,321 product pages in the site map (18 submaps of 3,000 addresses plus 1,321) and 3,868 categories — 59,189 addresses in total. First server response 840.5ms at 454.5KB HTML: Slowest response of the lot, and for 55k items this is expected. A defect was found: the self-pickup point in the checkout is marked as closed from 03/23/2026 - the buyer sees an invalid option in the basket. Measured on 07/31/2026.

niche store of irrigation equipment with a catalog of 300 items

Task
Collecting a narrow technical catalog where the items are visually the same and differ only in characteristics is the same story as with tennis rackets or dumbbells of the same row.
Solution
OpenCart 3 by nginx with brotli compression, OCFilter in categories, one-click ordering. Checkout was checked with a real order: two carriers and six methods of delivery, three methods of payment.
Result
300 products in 40 categories at four levels of nesting — confirmed by two methods, 0% discrepancy. First server response 235ms, full download 262ms. The main page weighs 143.6 KB without compression and 22.5 KB in brotli, and the category page with a hundred products is 554 KB: the weight is in the cards, not in the theme. Measurement 01.08.2026.

Did not find your case?

Describe how it works on your side — we will tell you whether “Development of an online sporting goods store” 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:25–45 days

  1. Assortment audit and decision on options

    2-4 working days

    We divide the price into groups, count the models and combinations, look at the current site, if there is one. The output is the number of the future catalog in both scenarios and the decision in which of them we go.

  2. TK and directory structure

    4-6 working days

    A tree by product type, selections by sport, a set of attributes for a filter, card fields for each group, canonical rules on variants. We fix it in writing: it is expensive to replay it after the layout.

  3. Design

    5-9 working days

    Main, category, card with size selection, grid table, cart, checkout with overall delivery. Right here, we set the target weight of the page — a category with a hundred cards is the easiest to turn into half a megabyte of markup.

  4. Assembly of the store

    7-11 working days

    Theme layout, catalog and filter, variants with separate balances, dimension mark, kits and related items, admin roles, payment, shipping and returns pages.

  5. Catalog import, sizes and availability

    5-9 working days

    Mapping price fields, test filling, building models from individual cards, binding dimensional grids to brands, setting balances at the variant level, and comparing the number of cards using two methods.

  6. Integrations, markup, testing, transfer

    2-6 working days

    Payment and carriers, installments, GTM and GA4, JSON-LD with Product and AggregateOffer, site map, end-to-end order flow from size selection to TTN, administration process with the manager.

Technologies & integrations

What we build on and what it connects to

Stack

  • OpenCart 4.x by default: options, attributes and imports are in core
  • OpenCart 3.x — when the critical module exists only under three; we fix the version in the TK
  • OCFilter to filter by size and characteristics. Limitation: multiplies addresses combinatorially, and without canonical it is thousands of identical pages in the index
  • PHP and MySQL. Limitations: tens of thousands of combinations require separate work with indexes and category cache
  • nginx, HTTP/2, WebP, and lazy image loading: In the image category, images outweigh all other page code
  • JSON-LD Product, Offer, AggregateOffer, BreadcrumbList. Limitations: Markup does not rank or obligate Google to show the snippet
  • Exchange with accounting system for variant-level balances is a separate scope of work, not an out-of-the-box module

Integrations

  • LiqPay
  • WayForPay
  • monobank
  • payment in installments
  • postpaid
  • Nova Poshta
  • Ukrposhta
  • Meest Express
  • self pickup
  • Google Tag Manager
  • GA4
  • Google Merchant Center
  • Meta Pixel
  • Instagram
  • TikTok
Catalog by product type vs. catalog by sport

How this option differs from the alternative

A buyer who knows the productimmediately enters "sneakers" and filters by size
A buyer who chooses a sportcomes from the "everything for running" selection collected by a filter on top of the tree
A multi-sport itemone card, several selections
Number of categoriesis kept within a few tens
Seasonal switchingthe composition of the selections changes, the tree remains
Our recommendationmain tree — by product type
What we need from you

We can't start without this — best to prepare in advance

  1. List of items with sizes, colors and characteristics in machine form - a table, not a photo of the price.
  2. Size grids of the brands you work with.
  3. The list of overall items and their delivery conditions is your operational reality, we cannot invent it for you.
  4. Decisions on how to group the catalog: by sport or by product type. It is approved at the audit and fixed in the TK.
  5. Access to hosting and domain or agree to choose hosting for you.
  6. One person with the right to approve the directory structure and layouts.

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

Should each size be a separate product?

By default no: size and color are options of one model, one card, one canonical, selection within the card. Otherwise, the catalog grows exponentially: two thousand models in six sizes and three colors give thirty-six thousand addresses, each of which needs a description and a place on the site map. It makes sense to start separate addresses point by point - for those models and sizes for which there is really a search demand. The decision is made at the audit of your price, because it is more expensive to repeat it after launch than to do it right away.

How to reduce returns due to size?

Three things, and all of them are done at the development stage: a brand-specific grid in a card, not a general table on a separate page; a tip on how to take measurements; an honest mark when the model is small or large in size. Fair limit: we will not name the specific percentage of return reduction - it depends on the pad, brand and audience, and we do not have our own measure of this indicator. We remove the technical cause of the error, not promise a number.

We have simulators, they do not go by regular delivery

Then the overall items are indicated by a sign in the catalog, and their conditions are shown in the card and in the basket - before the payment step. The practice of hiding it on the "shipping and payment" page means that the buyer is the last to know about the lift, and the order remains incomplete. Technically, it's a separate shipping method at checkout that's enabled by product feature, plus a mixed cart rule where dumbbells and a t-shirt are next to each other.

Make a catalog by sport or by product type?

Our recommendation: the main tree is by product type, and the sport is the filter facet and planting selections on top of the tree. The reason is simple: half of the equipment lives in several sports at once, and with a tree by sport, the same pair of sneakers either duplicates or competes with itself for the address. How many categories the multiplication gives can be seen in the garden equipment store we measured: 3,868 categories on 55,321 product pages. It is no longer possible to control such a tree by hand.

Is it possible to show availability by size?

Yes, and it should be done right away, not "in the second queue". The buyer sees in the card what sizes are available now, and does not waste time choosing the missing one. Technically, this is a balance at the level of the variant, not the model, and that is why it is better to pull the availability from the accounting system. A fair limit: the exchange does not correct the accounting — if the system is re-sorted, the site will quickly and accurately show inaccurate data, and there is always a window between downloads during which the product can be bought twice.

Half of the assortment is sold for only half a year - what to do with it?

Decide by structure, and not by redesigning the site twice a year. The main and first category screens are assembled from blocks that can be switched in the admin: in winter, ski equipment goes up, in summer - bicycles and everything for water. At the same time, the categories themselves remain in place and do not lose their addresses. This is important: an address that has disappeared for half a year does not return to the search immediately, and you will meet the season with an empty page instead of a worked one.

We also sell sports nutrition - is it the same way?

No, he has his own logic. Flavor and packaging are options on the same card, but the expiration date lives in the stock: a batch with a date, not a line in the description. Plus the composition and nutritional value in separate fields, otherwise the buyer will not compare two proteins with each other. If your food is a significant part of the catalog, it is a separate unit of work, and on the audit we count it separately from the equipment.

How to sell kits?

Due to the accompanying items in the card and in the basket with real logic: a mat and gloves for the simulator, a helmet, a pump and a lock for the bicycle. The set as a separate product with its own price also works, but only if you are ready to keep its balance separately from the balance of the components. This decision is best made before development: converting kits from one mode to another after launch means overflowing balances and rewriting addresses.

How long does the development take and what is stretching it?

25-45 working days from TOR approval, six stages: inventory audit 2-4 days, TOR and structure 4-6, design 5-9, assembly 7-11, import with dimensions 5-9, integration with testing and transfer 2-6. Assembly and import are the longest. It is usually not the code that stretches the project: incomplete size grids and prices, where the size is sewn into the name of the product, eat up more time than the entire assembly of the store.

Send the price - we will divide the assortment into groups and count the catalog

In 2-4 working days, we will return with a catalog scheme, a figure for sizes in two scenarios and a work plan by stages with dates.

From measured cases54,302 products and 635 categories

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

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.