Websites
A Milan website: what a metropolitan company needs
In Milan a site carries several offices and two languages: 1,354,196 residents in 2023 (Wikidata) change structure, not price.
Key points
- The municipality of Milan has 1,354,196 residents in 2023, read from Wikidata on 1 November 2026: that sizes the audience, not the quote.
- With several offices you need one page per office with address, contact person and hours, not a single address in the footer.
- Price ranges stay national: our dataset holds no per-city prices.
- Between 20 and 100 employees the site becomes a work tool for sales and HR.
A Milan company website has to carry two languages and several offices: the audience is not the municipality, it is the metropolitan area plus anyone arriving from abroad for work. If the home page shows one address and one language, the site describes a smaller company than the one that exists.
The local fact is population: 1,354,196 residents in 2023, read from Wikidata on 1 November 2026. That is the municipal figure, not the Città metropolitana di Milano, and it sizes the audience rather than the quote.
Metropolitan scale changes the structure, not just the home page
A company based in Milan with clients across Monza, Bergamo and Brescia does not have a keyword problem: it has an address problem. Someone looking for a supplier wants to know which office handles them, who answers the phone and how fast. A page per office solves that, a line in the footer does not.
| Page | What it must say | Typical mistake |
|---|---|---|
| Home | What you do, for whom, from which office, in which language | A photo of a generic building |
| Company | Sectors served, references, checkable numbers | A list of abstract values |
| Offices | Address, map, hours, contact person per office | One address for the whole area |
| Careers | Open roles, office, contract type | «Spontaneous applications» with no roles |
| Contact | Short form, phone, response time | A twelve-field form |
| Privacy | Controller, legal basis, retention periods | A notice copied from another site |
Two languages minimum, three only if clients use them
- Italian and English are the baseline when part of the client base comes from abroad: English is a second working language, not an extra.
- English written by a person: machine translation shows in the rhythm, and people buying services notice before the quote.
- A third language only when clients ask for it: French, German or Spanish chosen on real enquiries, not on prestige.
- One language switcher, at the top, with separate URLs: /en/ rather than a query string parameter.
- Numbers and dates in the right format: 1,354,196 in English, 1.354.196 in Italian.
What changes for a company of 20 to 100 people
At that size the site stops being a shop window and becomes a work tool with three different users: sales sending a link before a call, HR publishing a role, marketing reading the numbers. Three practical consequences: someone owns the content, the approval path is short, and every office gets a page. Without an owner, the site stays frozen at the delivery date.
The prices are national, not Milanese
A 5-10 page showcase site in Italy sits between €1,500 and €4,000; a 15-40 page company site between €4,000 and €10,000. Those are national ranges, published as such: our dataset holds no per-city prices, and a «Milan» figure would be an estimate with no source. The gap between the two ends is almost never the code, it is what is included: copy, photos, training, maintenance.
Three catalogue records worth opening
Hero 01 from Shadcn Space is a header with title, copy and two buttons: room to say what you do and for which office. Pricing 01 from Shadcn UI Blocks works as a table of service packages, not only software subscriptions. The contact category holds 33 blocks from 10 publishers, the widest choice for a form. The licence is declared by the publisher and needs checking on each block; previews are free, the full code sits in the Pro plan.
The limitation to state up front
The catalogue holds no office manager, no currency switcher and no CRM connection: the blocks cover the interface. Past three offices the part that matters is the data, and it has to be built outside the catalogue. On WordPress these blocks do not install as they are: they work as a reference for structure and visual hierarchy.
# quante lingue dichiara il sito e se gli URL sono separati
curl -s https://www.esempio.it | grep -o 'hreflang="[^"]*"' | sort -u
# le pagine sede rispondono?
for u in milano monza bergamo; do curl -s -o /dev/null -w "$u %{http_code}\n" "https://www.esempio.it/sedi/$u"; done
The minimum structure is described in what a company website needs, the costs item by item in what a website costs; the agency versus DIY comparison is in agency or DIY.
Frequently asked questions
How much does Milan's population matter for a company website?
It sizes the audience, it does not set the quote. The municipality has 1,354,196 residents in 2023, read from Wikidata on 1 November 2026, which describes a metropolitan market with clients outside the city too. Price depends on features and content, not on the city.
Do I really need an English version?
You need one if part of your clients or suppliers do not read Italian. The English version has to be written, not machine translated, and maintained: every new page is updated twice. If no client uses it, it is double maintenance with no return.
What does a website cost in Milan?
We hold no per-city prices: the ranges we publish are national. A 5-10 page showcase site sits between €1,500 and €4,000, a 15-40 page company site between €4,000 and €10,000. The useful question for a supplier is what is included and who owns domain, hosting and code.
How many pages does a company with several offices need?
One page per office with address, map, hours, contact person and the sectors that office covers. Then a contact page that routes people to the right office. A single address in the footer forces the client to call to find out who they are talking to.
Is a Milan agency better than doing it yourself?
It depends on who updates the site after delivery. An agency makes sense when it brings structure, copy and maintenance; DIY makes sense when you have the time and an owner inside the company. Either way, ask for domain, hosting and code registered to you.