The development of an online store on WooCommerce is WordPress, to which a catalog, shopping cart and checkout are added: the platform itself is free, the money goes to hosting, plugins and work. We take it when content should live next to the product — guides, comparisons, landing filters — and when the catalog is limited to several thousand items. Next, WooCommerce rests on the base and admin meta table, and we're talking about this pre-contract boundary, not post-launch.
21–45 working days from approval of technical specifications
after a free audit
Price
30
Guarantee
days after project sign-off
21–45
Term
working days from approval of technical specifications
we call after a free audit of the directory
Cost
2
Measured on WordPress
live sites on WordPress + Bricks, measurement 07/31/2026
285.9
Scattering of the server's first response
ms and 1520.2ms on the same core
119.5
The lightest HTML in our sample
KB on a site with 26 pages
several hundred to several thousand SKUs with variations
Working area of the platform
50%
Conditions
advance payment, 2 rounds of edits, 30-day warranty period
What's included
Complete list of work and what you get as a result
Installing WordPress and WooCommerce on your hosting with HPOS enabled: orders are placed in separate wc_orders tables, so the admin does not slow down when there are tens of thousands of them
Catalog with categories, attributes and variations - size, color and volume become a filter, not a line in the description
Filter by characteristics based on service lookup tables: the category page does not collect the price of each product from the meta table
Price import from CSV or XML with mapping of your fields and updating balances on schedule - the manager does not transfer prices by hand
Checkout with card, payment in installments, post-payment and non-cash account with and without VAT - for retail, FOP and LLC
Nova Poshta with choosing a branch or a post office right at the checkout and creating a TTN from the admin page - you don't have to ask for the address in correspondence
Technical SEO: CNC, canonical on the filter combination, site map, robots — so that the filter does not produce thousands of almost identical addresses
JSON-LD micro-markup: Product, Offer, Organization, BreadcrumbList — exactly what is actually on the page, without fictional ratings
Analytics: GTM, GA4 and e-commerce events from product view to purchase — so you have something to work on post-launch
Closed REST API and disabled user numbering: by default /wp-json/wp/v2/users gives your logins to anyone
Transfer: access, written instructions for your processes, passing the admin check with the manager on a live order from the cart to TTN
Terms of work: 50% advance payment, two rounds of edits at the design stage, warranty period of 30 calendar days after acceptance
When this service isn't right
What's not included — so there are no surprises at delivery
Filling the catalog manually beyond the agreed volume
Sophisticated appliances, cosmetics, supplements, equipment — things that are bought after an explanation. WordPress keeps the guide, comparison of models and landing under the filter in one core with the directory, so the author does not fight with the engine. The line here is simple: content opens a channel, but does not create demand for a product that is not being sought.
We'll review your situation in a free audit
Scenario 2 of 4
You already have a WordPress site
WooCommerce is added to the same core — addresses, texts and roles of editors remain in place, and content migration is not required at all. We check two places: the theme (old collections on visual designers give difficult category templates) and the list of plugins, because some of them duplicate what Woo can already do.
Scenario 3 of 4
Catalog from several hundred to several thousand items with variations
Size, color, volume, configuration are variations, and each of them is a separate entry in the database in WooCommerce. Five hundred products with six variations is three and a half thousand records, not five hundred, and this is where the difference in terms and estimates comes from. We count the figure on the audit, not by eye.
Scenario 4 of 4
Both natural persons and FOPs from LLCs buy
The retail buyer pays by card or in installments, the company requests a cashless invoice with VAT. A single checkout serves both scenarios if built into the order structure in advance. It's not logos that count: ten icons in the footer don't sell anything - it's important to have exactly the ways your segment pays, because every extra gateway is a commission and a line in the bill.
Free catalog audit before settlement
In WooCommerce, the estimate is based on two numbers: how many entries the catalog will provide with variations and how many integrations need to be connected. Both are calculated in several days and neither can be guessed from the outside, so first we measure, then we call the amount.
What we measure
The volume of the catalog, taking into account variationsWe count according to your price: how many products, how many variations each has, how many attributes will go into the filter. It is the number of entries, not the number of items in the price list, that determines the import term.
Suitability of the price for importLet's see if the article, price, balance, category and characteristics are available in machine form. The price with a picture in PDF means manual disassembly and a separate stage in the estimate.
The state of the current site, if anyCore and PHP version, list of plugins, theme, first server response, HTML weight, sitemap. The volume of a WordPress site is calculated from the outside with a single request to the REST API — the X-WP-Total header in /wp-json/wp/v2/pages.
Open REST APICheck /wp-json/wp/v2/users. If he gives a list of logins, this is a ready-made list of targets for sifting through passwords - we close the new store immediately.
List of payments and carriersWhich methods are specifically needed by your segments and which of them have an official plugin for the current version of Woo. Each gateway is a connection, a test order, and a row in the reconciliation.
What is moving from the old siteHow many addresses will have to be closed with 301-redirects and is there anything to compile a map of correspondences. Redirects store addresses, not items, and this must be understood before starting.
What you get
A document with numbers: the number of entries in the catalog with variations, the validity of the price, the status of the current site.
A list of technical findings — from an open REST API to an empty site map.
Evaluation of which integrations have a ready-made plug-in, and which will have to be added.
Conversation for 30–40 minutes on the document.
Timeline: 2-4 working days
Why is it free
Because the number of entries in the catalog is the number on which both the term and the amount depend, and counting it is faster than arguing about the fork. The document remains yours regardless of who will make the store.
What's next
After the audit, the amount and term by stages with calendar dates, then the contract, invoice and act.
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
Catalog entries, not price itemsEach variation in WooCommerce is a separate entry. Three hundred products with no variations and three hundred products in eight sizes is a difference of 2,400 records, different import times, and different filter behavior. The main lever of the estimate is right here.
Price sourceMachine CSV or XML with SKU, price, balance and specifications is field mapping in a day or two. The price, where the characteristics are in the PDF as a picture, is sorted by hand and goes in a separate line.
Number and maturity of integrationsPayment and Nova Poshta have ready plugins. Exchange with the accounting system, feeds to the marketplace, and atypical delivery scenarios are follow-ups, test orders, and individual days in the schedule.
Design and themeA ready-made theme with customized colors and blocks keeps the bottom border. The stage of design and layout is added to their layouts; we deliberately don't use visual builders on the catalog templates — they're landing page-friendly and category-heavy.
Moving from the current siteContent migration and 301 redirect map add 5-10 business days. The volume depends on how many addresses are in the old site and whether they can be mapped to the structure of the new one automatically.
Content statusPhotos on a uniform background and filled in specifications save weeks. The catalog, where the characteristics have to be written out from the descriptions, has to be put in order before import - otherwise the filter has nothing to build on.
Cases
Tasks and results in numbers — all metrics measured by us
aesthetic medicine clinic abroad
Task
Create a turnkey website for a Norwegian clinic: complex visual layout, catalog of services, reviews, FAQ and full adaptability for the Norwegian market.
Solution
WordPress with Bricks builder, nb-NO interface language, mobile viewport. Connected Google Tag Manager, GA4 and Meta Pixel, integration with Instagram and Facebook.
Result
Measured on 07/31/2026: first server response 285.9ms, full HTML load 439.4ms at 119.5KB - the lightest full HTML of the 16 sites we measured. The volume of the site is calculated externally by the X-WP-Total header of the open REST API: 26 published pages, zero blog entries. Defects found: /sitemap.xml, /sitemap_index.xml and /wp-sitemap.xml return 404, there is no Sitemap directive in robots.txt, there is no structured markup on the site. This is a service site, not a store — we show the numbers as a measure of WordPress, not as a result of WooCommerce.
Ukrainian SaaS platform for rewriting product descriptions of online stores
Task
Build an application that imports catalogs from Prom.ua, Rozetka, Khorozhop, OpenCart and WooCommerce in XML, YML, CSV and Excel formats and rewrites descriptions with SEO structure.
Solution
Application on Next.js with import of directories in four formats, customization of text style and H2/H3 structure. JSON-LD markup, PWA-manifest, payment by cashless transfer to IBAN.
Result
Measured on 07/31/2026: First response 220.6ms with 141KB HTML - fastest response among 16 sites measured, 8 public pages. Something else is important for this page: we analyze the WooCommerce download not from the documentation, but because we read it in production. We show the defect found in our own project openly: in JSON-LD there is a rating of 4.8 with 50 ratings, which are not on the page - this is a direct reason for manual sanctions, and that is why we mark only what is really there.
Did not find your case?
Describe how it works on your side — we will tell you whether “Development of an online store on WooCommerce” 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:21–45 days
1
Brief and terms of reference
3-5 working days
We analyze the assortment, the manager's processes, the list of payments and deliveries, we look at the price. The output is a TK, based on which the estimate is calculated and the work is accepted.
2
Directory structure and prototype
3-5 working days
Tree of categories, set of attributes for the filter, scheme of variations, card fields, checkout steps. We agree with the design: redoing the structure after layout is expensive.
3
Design
5-10 working days
Home, category, product card with choice of variation, basket, checkout. Here we fix the target weight of the page: on our measured WordPress sites, the HTML weighs 119.5 and 224.6 KB.
4
Assembly of the store
5-11 business days
Theme layout, WooCommerce settings with HPOS, filter on service tables, cart and checkout, admin roles, payment, shipping and return pages, REST API closure.
5
Directory import and integration
3-9 working days
Mapping of price fields, test filling, reconciliation of the number of records, update schedule of prices and balances. Then payment, Nova Poshta, GTM and GA4 with cart and purchase events, JSON-LD, sitemap.
6
Testing, transfer, launch
2-5 working days
End-to-end tracking of the order from the shopping cart to the TTN on all payment methods, measurements of the first response and HTML weight, passing the admin check with your manager, transfer of access.
Technologies & integrations
What we build on and what it connects to
Stack
WordPress is the core; updates arrive by themselves, so every plugin is accounted for
WooCommerce with HPOS: orders in the wc_orders tables, enable at the start - transfer later longer
PHP 8.3 is significantly faster than 7.x; limit: some of the old plugins are not going to be used for it
MySQL: the product is in wp_posts, prices and attributes are in wp_postmeta — we look at indexes on thousands of records
WooCommerce service lookup tables — so that the filter does not collect the price from the meta table for each product
Redis object cache — removes repeated requests to the database; he does not save a difficult topic
LiteSpeed Cache or nginx fastcgi; the shopping cart and checkout from the cache are always disabled
A theme without a visual constructor on directory templates - constructors are heavy on categories
Integrations
LiqPay
WayForPay
Monobank Acquiring
payment in installments
non-cash account with VAT and without VAT
postpaid
Nova Poshta (branches and post offices)
Ukrposhta
Meest Express
KeyCRM
Prom.ua
Rozetka
Google Merchant Center
Facebook Catalog
GA4
WooCommerce vs. OpenCart and SaaS builder
How this option differs from the alternative
OpenCart / SaaS builderOur approach
Content next to the catalogOpenCart: a blog post or module. SaaS: There is an editor, but it is templatedstrength: the blog, guides and landing pages live in the same core as the products
Catalog of 20,000 entriesOpenCart: we ourselves measured catalogs for tens of thousands of addresses. SaaS: rests on the tariff limitbottleneck: product and prices are laid out in a meta-table, a separate index is required
Ukrainian payment and deliveryOpenCart: modules for the market are mature. SaaS: built in, no choiceready-made plugins for LiqPay, WayForPay, Nova Poshta; we are adding part of the scripts
RenewalOpenCart: Hands down, ocmod conflicts. SaaS: On the service sidethe core itself is updated, the risk is in the plug-ins, so staging is mandatory
Access to code and databaseOpenCart: Complete. SaaS: Nonecomplete, files and database are with you
What we need from you
We can't start without this — best to prepare in advance
1Price in CSV, XML or Excel — name, article number, price, balance, category and characteristics by which the buyer will filter.
2List of variations: by what features the product differs inside the card — size, color, volume, configuration.
3Photo of goods from 800 px on the long side, preferably on a uniform background.
4Access to hosting and domain — or consent to have hosting selected by us; for the current site, there is also access to the admin.
5Contracts with Nova Poshta and the payment provider: API keys are issued to you, not to the contractor.
6One person on your side with the right to say yes to the catalog 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
they say WordPress is slow - will we be like that too?
It's the theme and thirty plugins that make it slow, not the name of the engine. We measured two of our own WordPress sites on July 31, 2026: one had a first server response of 285.9ms with 119.5KB of HTML, the other had a first response time of 1,520.2ms with 224.6KB. The difference is 5.3 times on the same core and the same constructor. Therefore, at the start, we put one cache instead of three, keep the list of plugins short and fix the target response time in the TOR, not after complaints. Fair margin: speed removes technical loss, not creates demand - if the price is higher than the market, a fast site will simply show it to the buyer faster.
how many products will WooCommerce support?
A few hundred to a few thousand items work smoothly with normal hosting and cache. The technical reason for the limit is this: the product is stored as a record in wp_posts, and the price and attributes are stored in the wp_postmeta meta table, so the filter by characteristic becomes a join on that table. Woo removes part of it with lookup tables, and it is enough for several thousand records. For twenty thousand SKUs with variations, separate engineering begins - a separate search index, a batch import, a revision of the database indexes - and then it is fairer to count either another engine or a large catalog as a separate task.
show your shop on WooCommerce
Let's say it like it is. The stores we measured on July 31, 2026 run on OpenCart; WordPress in the measured portfolio is two service sites and a native application. That's why WordPress numbers are above, not "Woo store cases", which we didn't measure. Separately, about why we measure at all: in the card of one of our projects, the stack was signed as WordPress/WooCommerce, and the external measurement showed OpenCart 3 - we corrected the case description, instead of leaving a more convenient version. If you need a contractor with a dozen stores listed on Woo, that's a normal requirement, and we won't pretend that it's closed to us.
I have a site on Tilda, can I transfer the store to WooCommerce?
Yes, this is a typical task. We transfer the content and structure manually or with a script, we fill in the goods from export or from the supplier's price, we close the old addresses with 301 redirects according to the correspondence map. Rescheduling adds 5-10 business days to the deadline. Honest about expectations: redirects save addresses and transfer weight, but do not save items - after the move, the delivery is rebuilt, and for the first weeks it is visible in Search Console.
is it possible to connect Nova Poshta with branch selection directly in the basket?
Yes, through the official API: the buyer chooses the city and branch or post office from the list that is pulled up in real time, and the TTN is formed from the same data simply from the admin. The benefit should be counted as savings on order processing, and not as an increase in traffic: the manager stops specifying the address in the correspondence and typing it into the carrier's office by hand. And a fair limit — this saving turns into money only if the freed time is really redistributed; integration does not reduce the cost of the delivery itself and does not speed up the carrier.
who is responsible for updates and security after launch?
The WordPress core itself is updated, but plugins are usually broken - that's why we give the list of installed versions and the rule: first staging, then updates, then running the checkout with a test order. We close one thing even before launch: by default, the open REST API returns /wp-json/wp/v2/users with a list of logins, that is, a ready list of targets for sorting passwords. Continuous support is not included in the development and is taken separately; during the warranty period, we correct errors from our side, and not the consequences of independent changes in the code by third parties.
why is there no price on the page?
Because the amount is based on a figure that is not visible from the outside: how many entries your catalog will give with variations. Three hundred products of eight sizes is 2,400 records, and in terms of import time and filter behavior it is a completely different project than three hundred products without variations. Therefore, first, a free audit in 2–4 working days, and according to its figures, the amount and term by stages. The document with the numbers remains yours regardless of who will do the shop.
will the store be in Google?
No one guarantees a position, and we will not. We close the technical part: CNC, canonical on the filter combination, site map announced in robots, Product and Offer markup. There are two limits that should be known in advance. The first is that the site map does not increase the position and does not guarantee indexation, this is the wording of Google itself. The second is that the markup does not raise the position either, it only makes the page suitable for the extended view, and the non-existent markup is downright dangerous: in our own application, we found JSON-LD with a rating of 4.8 and 50 reviews with zero reviews on the page, and this is a reason for manual sanctions, not an advantage.
Send a price list and a list of payments and deliveries that you need
In 2-4 working days, we will return with the numbers: how many entries the catalog with variations will give, what with the current site, which integrations have a ready-made plugin. After that - the amount and term by stages. If WooCommerce is not suitable for your task, you will hear it in the first email.
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.