Amazon FBA prep and labeling · Austria

A bilingual site for FluxPrep, with each language researched on its own terms

FluxPrep is an Austrian Amazon FBA prep company: it labels, inspects and prepares goods before they ship into Amazon fulfillment. The site runs in English and German, and the language setup is what carries the project: keyword research done separately in each language, reciprocal hreflang, and canonicals that keep the two versions out of each other's way. We designed it in Figma and built it in Astro.

Web developmentAstroMultilingual
The FluxPrep home page as it ships today The FluxPrep home page on a phone

At a glance

The project in one screen

Client
FluxPrep
Industry
Amazon FBA prep and labeling
Location
Austria
Services
Design, build, bilingual SEO
Platform
Astro, designed in Figma
Headline result
English and German, English at /en/
Reciprocal hreflang and self-referencing canonicalsLocale routing with the English tree at /en/Per-language keyword research and copywritingAstroFigmaResponsive component set shared across both languages

The starting point

A technical service, explained twice, in two languages

FluxPrep is an Austrian Amazon FBA prep operation: it receives goods, inspects and labels them, and prepares them before they ship into Amazon fulfillment. Selling that online means explaining a warehouse process to someone who will never see the warehouse, in the language they searched in, on the device they are holding.

  • Two audiences, two search vocabularies. A German-speaking seller and an English-speaking seller looking for the same service type different phrases into the same box.
  • Language versions that are not paired correctly compete against each other in search, and the wrong one shows up for the wrong query.
  • Load speed was named as a requirement for the project from the start, which constrained the framework choice.
  • The service has to be legible before it is persuasive: what happens to the goods, in what order, and what comes back.

What we built

The engineering behind it

01

Each page names its own language and points at its counterpart

The site runs in English and German, with the English tree served under /en/. Every page carries a self-referencing canonical and a reciprocal hreflang pair, so search engines are told plainly which URL serves which language and the two versions stop competing for the same query. Both locales share one routing pattern, which is what keeps the trees consistent as content changes.

02

Keyword research per language, then copy written to it

The German and English versions were researched separately. A German-speaking seller and an English-speaking seller looking for the same warehouse type do not type the same words, and running one keyword set through a translator produces phrases nobody searches. Terms were picked per language, then the copy was written and corrected against them. Industry vocabulary stayed intact in both, because the terms sellers use for FBA prep, labeling and inspection are the terms they search.

03

Astro, so a page arrives as HTML

Load speed was a stated requirement for this project, so the framework choice came before the design was locked. The site is built on Astro. Pages are composed at build time and delivered as HTML with CSS, and JavaScript ships only where a component actually needs it. A template on a general-purpose page builder would have loaded a runtime, a theme layer and a plugin stack before the first line of the hero was painted. Here there is far less between the request and the text, which matters for an audience that is often reading on a phone and on a mobile connection.

04

One component set, drawn in Figma, used by both locales

The whole site was designed in Figma before a component existed. Components were specified once and reused across both language trees, so the German and English versions inherit the same spacing, type scale and behavior instead of drifting apart as content is edited. There is no separate German stylesheet to keep in sync.

Design and devices

German runs a third longer, and the layout had to survive it

The hardest layout constraint on this project was string length. German labels commonly run longer than the English sitting beside them, and a navigation bar or a card headline that fits perfectly in English can break once the German copy lands in it. Components were specified against the longer string from the start, so one set holds both languages. Underneath that, the design answers the question a seller arrives with: can these people handle my inventory without creating an Amazon compliance problem for me.

  • Components were specified against the longer of the two strings, so German is a case the layout already handles instead of an exception patched in later.
  • One component set covers both languages, so a copy change in German does not turn into a layout fix in English.
  • Palette, type scale and spacing were settled in Figma before a line of markup existed, which is why both language versions inherit one system.
  • The visual system stays quiet so the operational detail stays readable. A seller scanning for the one detail that matters to them should not have to read past decoration to find it.
FluxPrep on a phone screen

Workflow and pricing, in both languages

FluxPrep workflow section
The workflow section: inbound, verify, process, dispatch
FluxPrep pricing section
Flat‑fee pricing, per unit and per volume band

What came of it

Results

These are the things that shipped, and they are all verifiable by opening the site. What is deliberately absent is a traffic chart or a conversion percentage. This project has no agreed analytics reporting window with the client, so any growth figure on this page would be something we invented to fill the space. We would rather show you the build. If you want to judge the search work, look at the two language trees: open the German page, open the English one, read the source, and check that the canonical and hreflang tags say what they should. That is a harder thing to fake than a number.

2

Independent keyword setsGerman and English researched separately, then copy written and corrected against each set.

2

Language versions liveEnglish and German, each with its own canonical and an hreflang pair pointing at its counterpart.

Astro

Static-first frameworkPages ship as HTML. JavaScript loads only where a component needs it, which keeps the first paint short on a mobile connection.

Built so assistants can read the page

Amazon sellers increasingly put a narrow operational question to an assistant before they put it to a search engine, and an assistant can only answer from text it can read. Astro sends finished HTML, so no client-side rendering step sits between a crawler and the copy. The bilingual setup helps for the same reason: reciprocal hreflang and self-referencing canonicals tell a model which version is authoritative for a German query and which for an English one, so an English answer does not get sourced from German copy.

How we ran it

The work plan, in order

Every project runs on a written plan. This is how this one ran.

  1. 01

    Learn what happens to the goods

    What actually happens to a shipment, in what order, and what a seller has to send. What the company does and does not accept. A prep service is described accurately or it is described uselessly, so this step came ahead of any copy or layout decision.

  2. 02

    Keyword research, once per language

    Separate term sets for German and English, built around the vocabulary sellers use rather than the vocabulary a warehouse uses internally. The output is a page‑by‑page map: which terms each section carries in each language, and which headings have to change to hold them.

  3. 03

    Design the whole site in Figma

    Layout, type scale, spacing and components, with string length treated as a constraint from the start so German copy does not break a layout tuned for English. Mobile was drawn alongside desktop.

  4. 04

    Build in Astro

    Components built once and reused across both locales. HTML output, minimal JavaScript, images sized for phones. Locale routing set up so the English tree serves from /en/.

  5. 05

    Pair the two language trees

    Self-referencing canonicals, reciprocal hreflang pairs, and per-language titles, meta descriptions and headings written against the research from step two. Copy corrected in each language against its own term set. This is the step most bilingual sites skip, and it is the one that decides whether the two versions help or cannibalize each other.

  6. 06

    Launch and hand over

    Deploy, verify both language trees are indexable and correctly paired, and walk the client through where to change copy in each language.

Straight answers

Questions about this build

Yours is probably close to one of these. If not, ask it directly.

Ask about your project
Is the German version a machine translation of the English one?
No. Keywords were researched separately for each language, and the copy was then written and corrected against those terms in each language. A machine-translated mirror would have carried English search phrases into German headings, where nobody types them.
What stops the two versions competing in search?
Each page carries a self-referencing canonical and a reciprocal hreflang pair pointing to its counterpart. That tells search engines the two URLs are the same page in different languages rather than duplicate content, and which one to serve for which language query.
Could a third language be added later?
In principle yes: the locale routing follows one pattern for both existing languages, so adding another is mainly a content and research job. That has not been done here, and the keyword work would have to be redone from scratch for any new language.
Why Astro and not WordPress?
Because the requirement was speed and the site is mostly content. Astro builds pages into HTML ahead of time and sends JavaScript only for the parts that need it, so there is no theme runtime and no plugin stack to load before the text appears. A CMS earns its overhead when a team publishes daily. This site publishes rarely and is read on mobile connections, which reverses the trade.

Same team, same method

Your project, next

Tell us what you sell and where you sell it. You get a plan like the one above, with the first step priced out and dated before anything starts.

No spam 100% confidential Answer within 24 hours