One market, legally. In practice a different tax rate, language and set of expectations depending on which side of a border the visitor is on.
Selling across the EU means the page a visitor sees depends on where they are, which is the assumption caching is built to ignore.
Digital sales are taxed where the customer is, not where you are. A cached price that quotes one country's rate to another is a compliance problem rather than a display bug.
Each translation is a complete version of the site with its own URLs. They are cached separately and declared to search engines so none is treated as a copy of another.
An EU origin reaches Lisbon and Helsinki without a separate deployment for each, and keeps the data residency answer to a single sentence.
Prices, dates and addresses render differently across the union, and those variations are resolved per request rather than baked into a shared cached page.
A single processing agreement covers every market you sell into, rather than one conversation per country.
The single market removes the customs paperwork, not the differences. Tax, language and consumer expectations all still vary by country, and all of them touch the page.
The continent is small enough that a single well-placed origin serves all of it, which is what makes the residency and tax answers manageable.
Every row comes from the same fact: the correct response varies by the visitor's country, and caching wants it not to.
| Setting | What we do | Why |
|---|---|---|
| Tax resolution | Cache keyed by the buyer's country for priced pages | Digital sales are taxed where the customer is, so a shared cached price quotes one member state's rate to a buyer in another. |
| Language variants | Cached independently with each version declared | Every translation is a full site with its own URLs, and serving one from another's cache entry is what makes them look like duplicates to a crawler. |
| Origin placement | Single EU origin covering all member states | The continent is compact enough that one location serves every market, which keeps residency a one-sentence answer instead of a per-country matrix. |
| Locale formatting | Resolved per request rather than baked into the page | Currency, date and address formats differ across the union, and freezing one country's format into a shared cached response is wrong everywhere else. |
| Agreements | One processing agreement covering every market | A separate arrangement per country turns a single-market sale into twenty-seven procurement conversations. |
Every plan includes free migration, daily backups, SSL and 24/7 support.
Move the site to an EU origin — migration is free, every market covered.