Shenzhen · Hong Kong · Building websites since 2001

Websites for exporters: indexed by Google, readable by AI.

Components · Automation · Connectors · Auto parts · Thousands of part numbers

We build websites for exporters, manufacturers and distributors whose buyers search by exact part number. Pages are generated as plain HTML, so Google and AI assistants can read them without running JavaScript — and a buyer can find a specific part in about 20 milliseconds.

01Rendering and caching · Astro + Cloudflare + Redis
So the site opens fast: fixed pages are generated ahead of time, and the many part pages are generated once when a buyer first opens them, then cached and reused instead of recomputed. A catalog with tens of thousands of parts opens as fast as a five-page site.
02Search and data · Meilisearch + PostgreSQL/Payload
So buyers find parts fast: part numbers, brands and specifications sit in one index. Typing a code or ticking two filters returns a result in milliseconds instead of paging through a list. Your team edits products in the CMS and the change appears on the site.
03Publishing and isolation · Git CI/CD + one image per site
So releases are uneventful: a push publishes the change and a rollback returns the previous version. Separate containers, databases and caches mean one site's release or failure does not touch the others.
Our own sites · open to inspection
icboms.com

Electronic components and turnkey BOM sourcing

aoctrl.com

Industrial automation spares: PLC, VFD, servo

icsourcedirect.com

Connectors and terminal blocks

We buy the stock, write the pages and answer the inquiries on all three. Measurements and case studies →

01 · Product and price

Two products, two starting prices.

A one-time build fee, quoted from the work in scope rather than from a fixed package. There is no second-year rebuild fee. The domain and hosting accounts are registered to your company.

Both products are a one-off build with full handover
Business websiteHigh-SKU catalog
One-time build fee From $999 From $4,999
Quote basis Pages and features in scope Search, CMS, data import and integrations
Part numbers Up to ~300 300 to 1,000,000+
Second year No rebuild fee No rebuild fee
Delivered Core pages, inquiry forms, WhatsApp routing, Cloudflare deployment Part search, parametric filters, BOM/RFQ upload, CMS, data import
Delivery time 2 – 4 weeks 4 – 8 weeks
Hosting Cloudflare Pages, $0 per month One VPS you control, billed to you at cost

Part numbers decide which architecture you need, not the final price: the number is quoted from the actual work — data cleaning, integrations, languages and delivery date — and fixed in writing before work starts. Not included: templates under $999, free mockups, ranking or inquiry-volume guarantees, supplier data scraping, and day-to-day operations. Optional content and search advisory is $999 per year. Full scope and handover terms →

02 · Advantages and reasons

Seven capabilities, each with a measured number.

A capability is only worth something if the buyer can check it. Each card pairs the claim with the method, the production measurement and the test you can run.

14–22 ms Edge TTFB
0.97 Mobile Lighthouse
16 KB First-load JavaScript
Milliseconds Part search
01

Copy and part numbers in the HTML source

Buyers, search engines and AI assistants read the same complete HTML.

Pages are generated as whole HTML documents at build time or on first request. Part numbers, specification tables and body copy are written into the source; the rendered result is cached and later visits are not recomputed.

Measured: About 16 KB of first-load JavaScript and 2 external scripts; copy, part numbers and specifications all present in the HTML.

Check: Turn JavaScript off and open a product page; the copy and the specification table should still be readable.

02

Three cache layers, first byte at the edge

Most requests never reach a database, so crawlers and buyers do not compete for origin capacity.

Finished HTML goes to Cloudflare edge nodes first, then into an in-process cache; the data layer is Redis, namespaced per site. Paths that carry a session are never cached.

Measured: 14–22 ms edge TTFB on public pages, 20–41 ms origin render, 2.6–4.7 ms warm render inside the container.

Check: Run curl -I and read cf-cache-status and x-astro-cache in the response headers.

03

Part-number search through an index

Tens of thousands of part numbers return in milliseconds instead of scanning an array.

Part numbers go into a dedicated Meilisearch index with a tokenizer that keeps hyphens, slashes and package suffixes intact, so 6ES7214-1AG40-0XB0 is not split into fragments. Indexes are isolated per site and can be rebuilt one at a time.

Measured: Category × brand asset lookup in 118 ms; obsolete-part aggregation served from a 6-hour cache refreshed in the background.

Check: Search a full part number on icboms.com, then add a brand and a category filter.

04

A factual layer for AI assistants

AI assistants read structured facts, not a script they have to execute.

Each site publishes its own llms.txt with what the company sells and the facts a model can quote; page data is output as structured tables and JSON-LD rather than images or collapsible panels.

Measured: All three catalogs we operate score L5 (agent-ready) on isitagentready.com, measured 2026-10-24.

Check: Open any of the three sites at /llms.txt, then ask an assistant which China-based suppliers stock that category.

05

A quality gate on every page

The indexed surface is decided by each page's own information, not by template volume.

Only pages with independent copy and data enter the index and the sitemap, so crawl budget concentrates on pages that can earn an inquiry instead of on empty parameter shells.

Measured: On the catalogs we operate, product and brand pages without their own copy are deliberately left out of the sitemap.

Check: Open ten pages and compare their copy and data; then read the sitemap and see which URLs are declared.

06

Separate image, database and cache per site

A release or a failure on one site does not reach the others.

Each site runs its own container, PostgreSQL database, Redis database number and key prefix, with Caddy routing by domain. Releases, rollbacks and index rebuilds are done one site at a time.

Measured: Three catalogs share one machine; containers, databases and search indexes are separate, and releases are per site.

Check: The isolation boundaries and deploy procedure are on /architecture.

07

Code, data and accounts stay yours

There is no subscription to stop paying and nothing held back as a switching cost.

The repository, database export, domain, Cloudflare and hosting accounts are transferred to your company at delivery, with your people as owners.

Measured: One payment at delivery; the only recurring costs are the domain and, for a catalog, a VPS rented in your name.

Check: The delivery list, the quote and the contract all state the same set of items.

Production baseline on the catalogs we operate (October 2026)
MetricMeasuredSite and method
Edge TTFB 14–22 ms aoctrl.com public pages
Origin render 20–41 ms aoctrl.com, warm cache
Warm render in the container 2.6–4.7 ms icsourcedirect.com
Mobile Lighthouse 0.97 icboms.com home, 4G + 4× CPU
Largest Contentful Paint 2.06 s Same page and conditions
Total Blocking Time 0 ms Same page and conditions
Part-number search Milliseconds Meilisearch, dedicated index per site

These are measurements on live production sites, taken in October 2026; the tools and locations are recorded on the architecture page. Cache status and response headers can be checked from your own network.

The layers, cache invalidation path and full measurement log are on Architecture. Why we chose Astro over WordPress and Next.js is on Tech choice. The four checks themselves are on Verify.

03 · Verification

Four checks, run by you.

Public tools, public data. None of these require contacting us, and none of them is a ranking promise.

01 · AI answers

Ask ChatGPT or Perplexity which China-based suppliers stock a given category. See which domains come back. The prompt we use is on the Verify page.

02 · AI readiness

Run the three live catalogs through isitagentready.com. It reports whether an AI can read the site and locate the facts it needs.

03 · Speed from your location

Run PageSpeed Insights on mobile, then curl -I from your own network. The second number is the one your buyers in another country actually experience.

04 · Part search

Search a real part number and apply two filters. A 200-product site and a 40,000-part catalog behave differently here; the home page will not show it.

Open the four checks, with the exact prompts →

04 · Cooperation conditions

Four conditions, stated up front.

The criteria are public and the verdict comes without a phone call. If the project does not match, we say why and what we would do instead.

What you sell
Industrial products that buyers search for by exact part number: electronic components, automation spares, connectors, fasteners, auto parts, instruments. Consumer goods and fast-moving retail are out of scope.
How many part numbers
Under 300 is a company website. 300–3,000 is a company website that grows. 3,000 and above needs a search index — that is the catalog product.
Where your buyers are
Wherever they search. Export is the usual case — buyers in several countries arriving from Google, an AI assistant, a trade show or a referral. A single country is the same build, written in the language of that market.
Budget
From $999 for a business site and from $4,999 for a high-SKU catalog; the final figure follows the work in scope. Below $999 the honest answer is a narrower scope or a marketplace store first.

There are three possible outcomes: a fit / a fit with one condition / not a fit. The third one is explained rather than quoted, and no contact details are required to get it.

Take the five-question self-check →

05 · Start materials

Two lists: what is required, and what helps.

Completeness decides how accurate the quote and the timeline are. With the first list in hand, the first conversation can end with a fixed number.

Required
A domain registered to your company, a part-number list (Excel or ERP export), the number of parts and the target markets, and a one-time budget range.
If you have them
High-resolution product photos, existing English copy, certificates (ISO, IATF, MTC), and a link to your current site.

The full version is a thirteen-item checklist that generates a project brief you can copy and send: Start checklist →

06 · Contact

Send four lines.

What you sell, roughly how many part numbers, where your buyers are, and a budget range. You get a fixed scope, price and date — usually within one working day.

Process: data review → structure and content → build and checks → handover. Non-disclosure is available before you share a catalog. Process, boundaries and questions →

WhatsApp us Email