# Milan businesses: how many have a website, and how well it works

Source: <https://www.nfw.run/state-of-the-web/milano-city>

[Home](https://www.nfw.run/en)[State of the web](https://www.nfw.run/state-of-the-web)

// State of the web, October 2026

[v1.2.0](https://www.nfw.run/state-of-the-web/method/changelog#v1.2.0)

We counted just over **50,000** Milan businesses and checked their websites in October **2026**. Of these, just over **40,000** list a website, but about **4** businesses in **10** have no working website. It is the largest scan we have run so far: more than five times the businesses of Verona, the city where we are based.

[Go to the data](#data) [How does my site rank](https://www.nfw.run/seo-audit)

Loading the map

51,950 businesses shown of 51,950 mapped in Milan

Map generated from [Overture Maps](https://www.nfw.run/state-of-the-web/overture-maps) data of September **18**, **2026**.

Restaurants7,212Cafés1,278Bars and pubs1,938Food shops1,392Lodging1,533Travel1,269Fashion and beauty4,536Home and tech1,736Other shops1,983Automotive1,127Professional services5,025Legal1,069Finance1,258Real estate1,978Industry1,323Construction1,717Health3,292Dentists680Beauty and wellness3,672Sport and fitness1,453Pets385Education1,043Creative and media2,798Events and leisure1,849Local services404

// At a glance

## The numbers to remember

- have a working website

  - 58%
  - of just over **50,000** businesses counted
  - The rest, just over **20,000**, have no website, or list one that does not open: an address that does not answer, a social profile.

- to show the main content, on a phone

  - 7.1 s
  - median of just over **25,000** sites, mean **10.6 s**
  - More than three sites in four take longer than **4** seconds, the point Google calls poor. Past **3** seconds, **53%** of people on a phone leave the page.

- describe themselves to Google in full (structured data)

  - 4%
  - of just over **30,000** businesses with a working website
  - Name, address, phone, website and opening hours in a block Google and AI assistants read without guessing.

- have a valid sitemap

  - 78%
  - of just over **25,000** working sites
  - **22%** of sites do not hand Google the list of their pages, which it uses to find them all.

- median AI Crawlability Score, out of 100

  - 79
  - across just over **25,000** working sites, mean **70.1**
  - How well **ChatGPT**, **Claude** or **Gemini** can read and cite the site; half the sites score above it, half below. For general searches, reviews and ratings count as much.

Want to know where your site sits among these numbers?[Run the free SEO audit](https://www.nfw.run/seo-audit)

// The report in plain words

## What a customer finds when looking for a business in Milan

Here the numbers are told the way people using these sites experience them: a customer looking for a restaurant on their phone, a tourist checking a shop's opening hours, someone asking an AI assistant for a dentist nearby. [The detailed technical data is further down](#charts).

Other cities scanned

- VicenzaScan in progress
- [San Giovanni Lupatoto](https://www.nfw.run/state-of-the-web/san-giovanni-lupatoto-city)
- [Pescantina](https://www.nfw.run/state-of-the-web/pescantina-city)
- [Padova](https://www.nfw.run/state-of-the-web/padova-city)
- [Belluno](https://www.nfw.run/state-of-the-web/belluno-city)
- [Verona](https://www.nfw.run/state-of-the-web/verona-city)

### The Milan economy online: businesses and their websites

We counted **51,962** businesses in Milan, and their mix describes a city of services: after restaurants (**7,212**) the second largest sector is professional services (**5,025**, or **9.7%**), followed by fashion and beauty stores (**4,536**) and beauty and wellness (**3,672**). Professional services, legal firms, finance and real estate together are **9,330** businesses, **18%** of the total against **12.6%** in Verona, and creative and media businesses weigh twice as much (**5.4%** against **2.7%**). Lodging is **1,533** businesses, almost double Verona's in number but only **3%** of the total, against **8.1%**.

Four businesses in five list a website (**80.7%**), but only **58** in **100** have one we could open. The gap, about **11,700** businesses, is the most concrete figure in the whole report: in more than eight cases in ten, someone tapping the website link on a map such as Google Maps gets an error, an expired domain, or a social profile instead of a website. In the rest, the site answers, but its bot protection stopped our tool: we keep those apart below.

Restaurants, professional services and fashion make up almost a third

Restaurants **7,212** (**13.9%**), professional services **5,025** (**9.7%**), fashion and beauty stores **4,536** (**8.7%**), beauty and wellness **3,672** (**7.1%**), health **3,292** (**6.3%**), creative and media **2,798** (**5.4%**).

Next to the sectors where customers decide on their phone, often minutes before walking in, Milan has many businesses that are chosen by comparing: a firm, an agency or a photographer is judged by reading the website before calling. The count comes from [Overture Maps](https://www.nfw.run/state-of-the-web/overture-maps), meaning the businesses a customer finds on a map, not the official business register.

Business types in the area

Share of the businesses counted

- Restaurants**13.9%** (7,212)
- Professional services**9.7%** (5,025)
- Fashion and beauty**8.7%** (4,536)
- Beauty and wellness**7.1%** (3,672)
- Health**6.3%** (3,292)
- Creative and media**5.4%** (2,798)
- Other shops**3.8%** (1,983)
- Real estate**3.8%** (1,978)
- Bars and pubs**3.7%** (1,938)
- Events and leisure**3.6%** (1,849)
- Home and tech**3.3%** (1,736)
- Other sectors**30.7%** (15,943)

Almost six businesses in ten have a website that opens

Of **51,962** businesses, **41,954** (**80.7%**) list a website and **30,255** (**58.2%**) have a working one. More than one listed address in four (**27.9%**) does not lead to a website we could open.

Whoever has a website almost always lists it: the difference is what sits behind the link. Behind that quarter are mostly expired domains and servers that do not answer, then error pages and social profiles or platforms listed instead of a website. For the customer the result is the same: they tap the link, do not find what they were looking for, and go back to the search results, where in Milan the competition is dense. Some of them, though, are working sites that block automated tools like ours: the chart below keeps them apart.

The share of businesses with a working website is in line with the average of the **6** cities in Italy we have scanned so far, which is **56.8%**. In Verona, with the same tool, **51.5%** of businesses have a working website and almost one listed address in three (**31%**) does not open: Milan is ahead by almost seven points.

Businesses with a website

- Milan
- Average of 6 cities in Italy

One link in two leads to a domain that does not answer

Of the **11,696** businesses that list a website we could not open, **5,847** (**50%**) point to a domain or server that does not answer, **2,128** (**18.2%**) open an error page, **1,651** (**14.1%**) have a site whose bot protection stopped our tool, **1,333** (**11.4%**) list a social profile or a platform page instead of a website, and **735** (**6.3%**) fail to connect, on a network error or a timeout.

A domain that does not answer has usually expired or lost its hosting: the business had a website, stopped renewing it, and the link stayed on the map. Of the error pages, **1,513** answer **404**, page not found: often the address of a rebuilt site that no longer leads anywhere. Eight in ten of the profiles listed instead of a website are social (**1,070** businesses): Instagram comes first (**553**), then Linktree (**171**), the page of links many use as a mini site, Facebook (**159**) and YouTube (**74**). In Verona social profiles are two in three and platforms such as PagineGialle and Airbnb weigh more. The **1,651** businesses with a protected site are a separate case: the server answers with a bot check page (status **403** for **1,065** businesses, **202** for **568**), so the site most likely opens for someone visiting it in a browser, but we could not audit it. That is a limit of the tool, not a broken site: counting them, the businesses with a working website would rise to at most **31,906**, or **61.4%**.

The share of links to a domain that does not answer is in line with the average of the **6** cities in Italy we have scanned so far, which is **48.8%**.

Why the listed website does not open

- Milan
- Average of 6 cities in Italy

#### The bot protections recognised

- SiteGround525 sites | 36.8%
- Cloudflare424 sites | 29.7%
- Vercel72 sites | 5%
- DataDome20 sites | 1.4%
- PerimeterX1 sites | 0.1%
- Not recognised384 sites | 26.9%

Those who sell consulting are online, those who serve a coffee much less

**75.7%** of creative and media businesses have a working website, as do **74.6%** of industry, **72.7%** of travel, **72.4%** of professional services and **71.1%** of education. At the bottom are bars and pubs (**27.5%**), cafés (**32.7%**), beauty and wellness (**38.4%**), restaurants (**45.4%**) and food shops (**45.8%**).

The businesses that live on passing customers have the fewest working websites, and they weigh heavily on the total: restaurants, beauty salons, cafés and bars are **27.1%** of businesses but **39%** of those without a working website (**8,463** out of **21,707**). The two absences are different. Among bars and pubs **45.8%** have no website at all, and among those that list one almost one in two does not open (**49.4%**); among cafés it is missing in **43.4%** of cases. Among restaurants, instead, **73.8%** list a website but **38.4%** of those links do not lead to a page that opens. A missing website is a website to build; a broken link is a Google listing that sends the customer down a dead end.

Against the average of the **6** cities in Italy we have scanned so far, **3** of **25** sectors are higher, **0** lower and **22** in line. The order of the sectors is almost the same as in Verona, with creative and media at the top and cafés, bars and beauty salons at the bottom, and Milan is ahead in **22** sectors out of **25**: the widest gaps are beauty and wellness (**11** points) and sport and fitness (**10**), not enough to change the ranking.

Websites by sector

- Working website, above average
- Working website, below average
- Listed, not working
- No website
- Milan average, every sector: 58.2%
- Working website, average of 6 cities in Italy

Show the data

|                       | businesses | Working website | Listed, not working | No website | Working website, average of 6 cities in Italy |
| --------------------- | ---------- | --------------- | ------------------- | ---------- | --------------------------------------------- |
| Creative and media    | 2,798      | 75.7%           | 16.6%               | 7.7%       | 75.4%                                         |
| Industry              | 1,323      | 74.6%           | 16.4%               | 9%         | 73.5%                                         |
| Travel                | 1,269      | 72.7%           | 17.2%               | 10.1%      | 71%                                           |
| Professional services | 5,025      | 72.4%           | 19.8%               | 7.8%       | 71.8%                                         |
| Education             | 1,043      | 71.1%           | 20.8%               | 8.1%       | 70.1%                                         |
| Real estate           | 1,978      | 68.6%           | 21.1%               | 10.3%      | 68.6%                                         |
| Legal                 | 1,069      | 66.6%           | 19.2%               | 14.2%      | 66.8%                                         |
| Finance               | 1,258      | 65.7%           | 19.2%               | 15.1%      | 65.9%                                         |
| Home and tech         | 1,736      | 65.4%           | 23%                 | 11.6%      | 66.4%                                         |
| Sport and fitness     | 1,453      | 65.2%           | 19.5%               | 15.3%      | 62.4%                                         |
| Health                | 3,292      | 64.3%           | 21.5%               | 14.2%      | 63.9%                                         |
| Construction          | 1,717      | 62.7%           | 23.2%               | 14.1%      | 62.8%                                         |
| Fashion and beauty    | 4,536      | 61.9%           | 21.5%               | 16.6%      | 59.9%                                         |
| Pets                  | 385        | 61.3%           | 16.9%               | 21.8%      | 56%                                           |
| Dentists              | 680        | 61.2%           | 22.6%               | 16.2%      | 59.2%                                         |
| Automotive            | 1,127      | 59.5%           | 24%                 | 16.5%      | 59.1%                                         |
| Other shops           | 1,983      | 59.4%           | 22.9%               | 17.7%      | 58.2%                                         |
| Events and leisure    | 1,849      | 59.2%           | 21.4%               | 19.4%      | 58.6%                                         |
| Lodging               | 1,533      | 52.8%           | 26.4%               | 20.8%      | 50.8%                                         |
| Local services        | 404        | 47.3%           | 20.8%               | 31.9%      | 47.3%                                         |
| Food shops            | 1,392      | 45.8%           | 25.4%               | 28.8%      | 42.2%                                         |
| Restaurants           | 7,212      | 45.4%           | 28.4%               | 26.2%      | 44.2%                                         |
| Beauty and wellness   | 3,672      | 38.4%           | 24.6%               | 37%        | 36.3%                                         |
| Cafés                 | 1,278      | 32.7%           | 23.9%               | 43.4%      | 31.4%                                         |
| Bars and pubs         | 1,938      | 27.5%           | 26.7%               | 45.8%      | 26.3%                                         |

### Speed and ease of use, on a phone

The server answers in **86** milliseconds for half of Milan's websites, but the tail is long: one in four takes more than **455** milliseconds and one in ten more than **1.2** seconds. Most of the wait comes afterwards, while the phone downloads and runs the page.

On a mid-range phone with a slow mobile connection, the conditions Lighthouse simulates, the home page's main content appears after a median of **7.1** seconds, and more than three sites in four take longer than the **4** seconds Google considers poor.

That is more than twice the **3** seconds after which, according to research, **53%** of people on a phone leave the page: on the typical Milan website, more than half of phone visitors risk leaving before they see the main content, and in Milan an alternative is always two streets away.

What people do while they wait, according to research

- 53%

  of people on a phone leave a page that takes longer than **3** seconds to load.

- +103%

  more visitors leave straight away with a delay of just **2** seconds.

- 7%

  fewer enquiries and sales for every extra **100** milliseconds of waiting.

Sources: Google, Akamai. Research on user behavior, not measurements from this scan.

SEO and best practices pass, speed stays the lowest score

Median scores on the home page of **25,905** sites: performance **66** out of **100** (mean **65.2**), accessibility **88** (mean **86**), best practices **96** (mean **86.5**), SEO **92** (mean **91.8**).

The three high scores depend mostly on the CMS and the theme: titles, tags, HTTPS, page structure. Speed depends on what the page loads, meaning photos, sliders, fonts and third party scripts. Performance sits in the middle band, **50** to **89**: the middle half of sites is between **54** and **76** and one in ten reaches **90**, the good band. The score is higher than the main content time would suggest because part of the grade rewards blocking time, good for most sites, and layout stability, almost perfect. Accessibility is good but can improve, with a median of **88**: Lighthouse lowers it when it finds low contrast text, buttons and links without a readable name, and images without a description.

The median performance score is in line with the average of the **6** cities in Italy we have scanned so far, which is **66**. With the same tool Verona has the same medians (performance **66**, accessibility **87**, best practices **96**, SEO **92**): on these scores two cities of very different sizes are, in practice, the same.

Lighthouse scores of the home page

- Milan
- Average of 6 cities in Italy

### Being found on Google

The basics a CMS adds on its own are almost everywhere: **93.6%** of home pages have a title and **89.6%** of sites use HTTPS. What is missing are the things that take a decision by whoever runs the site.

One home page in three has no meta description and one in four does not tell Google which address is the canonical one. One site in two shows no sign of being connected to Search Console, the free tool that tells which searches the site appears for. And only **1** business in **26** describes itself to Google and to assistants in full.

Search Console is still the most common gap

Of **27,460** working sites, **50.2%** show no Search Console verification we can see, **33.3%** have no meta description on the home page, **25.6%** do not state a canonical URL for the home page, and **21.9%** have no valid sitemap.

Search Console can also be verified in ways that are invisible from outside, so that **50.2%** is an upper bound; still, one site in two shows no sign of being connected to the tool Google uses to report problems. The sitemap helps Google find every page, the canonical keeps two copies of the same page from competing, and the meta description is the text shown under the title in the results. In a city where every search has many competitors, these details count.

The share of sites without a sitemap is in line with the average of the **6** cities in Italy we have scanned so far, which is **22.1%**. Verona is worse on all three: no verifiable Search Console on **53.7%** of sites, no valid sitemap on **24.3%**, no canonical on **30.2%**.

What working sites are missing

- Milan
- Average of 6 cities in Italy

Only 1 business in 26 describes itself to Google in full

**1,141** of **30,255** businesses with a working website (**3.8%**) have both a complete LocalBusiness block and a complete WebSite block. The LocalBusiness block is on **4,345** sites (**14.4%**), and more than half of them are incomplete: opening hours are missing on **44.8%**, the phone number on **25.2%**, the address on **15.2%**, the site URL on **9.3%** and the name on **2.2%**. The WebSite block is on **14,685** sites: the name is missing on **3.3%** and the URL on **0%**.

Structured data is a block hidden in the page that tells Google, search engines and assistants such as **Gemini**, **Claude** or **ChatGPT** the business's name, address, phone and opening hours without leaving them to guess: the same details as the listing on Google Maps, but from the business's own site, where the business controls them. The detail left out most often, opening hours, is exactly what a customer checks before leaving home; the phone number, second, is what they use to call. The WebSite block, when present, is almost always complete: the most common SEO plugins for WordPress add it on their own (Yoast SEO is on **20.3%** of sites), while the LocalBusiness block has to be filled in by hand.

The share of businesses with complete data is in line with the average of the **6** cities in Italy we have scanned so far, which is **3.8%**. In Verona the share is practically the same: **4.1%**.

Businesses with complete structured data (JSON-LD)

- Yes, complete
- No, incomplete or missing

Show the data

|                           | Milan | Average of 6 cities in Italy |
| ------------------------- | ----- | ---------------------------- |
| Yes, complete             | 3.8%  | 3.8%                         |
| No, incomplete or missing | 96.2% | 96.2%                        |

| Property      | Block         | Missing | Businesses     |
| ------------- | ------------- | ------- | -------------- |
| Opening hours | LocalBusiness | 44.8%   | 1,948 of 4,345 |
| Telephone     | LocalBusiness | 25.2%   | 1,095 of 4,345 |
| Address       | LocalBusiness | 15.2%   | 659 of 4,345   |
| URL           | LocalBusiness | 9.3%    | 404 of 4,345   |
| Name          | WebSite       | 3.3%    | 489 of 14,685  |
| Name          | LocalBusiness | 2.2%    | 95 of 4,345    |
| URL           | WebSite       | 0%      | 7 of 14,685    |

### Being read by AI assistants

More and more people ask an AI assistant instead of searching Google. For general questions, such as a good restaurant downtown or a hairdresser open on Monday, assistants rely mostly on the ratings and the number of reviews a business has on Google and on review sites.

The website becomes decisive for specific questions (the menu, prices, a particular service, holiday opening hours) and to confirm the business exists and is the right one: that is why the assistant has to be able to read it. **93.7%** of sites show their text without needing to run JavaScript, and **83.7%** let AI assistants' crawlers in.

Assistants can read Milan's sites, but must guess the business

Across **27,460** working sites the median AI Crawlability Score is **79.3** out of **100** and the mean **70.1**; the middle half of the sites sits between **59.6** and **85**, and one site in ten stays below **39.1**.

The average is below the median because a tail of sites stays very low: sites built only in JavaScript or closed to crawlers, which an assistant can barely read. Of the **100** points, **20** reward text visible without JavaScript (passed by **93.7%** of sites) and **15** a robots.txt open to AI crawlers (**83.7%**): two points the CMS almost always hands out. What separates the sites are the others: structured data on the home page (**15** points, **58.1%**) and the llms.txt file, an index meant for assistants (**10** points, **26.8%**). The ARD manifest for AI agents is published by none of the **27,460** sites. And even where structured data is present, it describes the business in full only in a few cases: just **3.8%** of businesses have complete basic data.

The median score is in line with the average of the **6** cities in Italy we have scanned so far, which is **79.3**. Verona's median AI Crawlability Score is **74.6**: Milan is ahead by almost five points, mostly thanks to structured data on the home page (**58.1%** against **53.8%**) and the canonical.

Median AI Crawlability Score

The score weighs ten checks: [here is which ones, and how much each counts](https://www.nfw.run/state-of-the-web/ai-crawlability-score).

- 79.3/100 Average of 6 cities in Italy
- 79.3/100 Milan

### Trust: HTTPS and blocklisted servers

Trust plays out on two fronts. The first is visible: **10.4%** of sites do not use HTTPS, and the browser writes "Not secure" next to the address, right where a customer is about to leave their name and phone number in a form.

The second is invisible, and it is about email. A server flagged for spam does the website no harm, which opens and shows up in search results as before; but email sent from that server can land in customers' spam folders and never be read.

243 sites on servers flagged for spam, mostly shared

Of **27,122** sites with an answer, **243** (**0.9%**) sit on a server on a spam blocklist: **144** servers out of **10,518**. Barracuda lists **178** of them, Spamhaus **67**.

For a business that sends booking confirmations, quotes or replies to customers from the same server as its website, the risk is real: the message goes out, but the customer never sees it. **243** sites on **144** servers means several sites share a server, and the flag often comes from another site hosted next door, not from the business. The website itself is not affected. Sharing is a trait of Milan: its **27,122** sites sit on **10,518** servers, **2.6** sites per server against **1.8** in Verona, probably also because of services such as Cloudflare (on **20.9%** of sites) that put many sites behind the same addresses.

The share of sites on a blocklisted server is in line with the average of the **6** cities in Italy we have scanned so far, which is **0.9%**. In Verona the share of blocklisted sites is the same, **0.9%**.

Sites on spam blocklisted servers

Milan

- Blocklisted0.9%
- Not blocklisted97.9%
- No answer1.2%

144 blocklisted servers out of 10,518 checked

Average of 6 cities in Italy

- Blocklisted0.9%
- Not blocklisted98.1%
- No answer1%

187 blocklisted servers out of 13,000 checked

### Milan and Verona compared

Verona is the city where we are based and Milan has more than five times its businesses. Both analyses were run with the same version of the tool (**1.2.0**) and the same scoring rules, so the numbers can be compared.

The result: two cities of very different sizes, and websites that look very much alike. What changes most is how many businesses have one.

Milan is ahead by a few points, almost everywhere

Businesses with a working website: **58.2%** against **51.5%**. Valid sitemap: **78.1%** against **75.7%**. Canonical stated: **74.4%** against **69.8%**. Structured data on the home page: **58.1%** against **53.8%**. Search Console verifiable: **49.8%** against **46.3%**. Complete basic data: **3.8%** against **4.1%**. llms.txt file: **26.8%** against **26.2%**.

Milan is ahead on six rows out of seven, by a margin that goes from half a point to almost five, except for working websites (almost seven). On the one row where Verona is ahead, complete basic data, the difference is three tenths of a point: in both cities almost nobody describes themselves in full. Whoever builds the sites neglects the same things everywhere; what changes most is how many businesses have one.

Share of businesses and sites, Milan and Verona

- Milan
- Verona

Speed and SEO are equal, the AI Crawlability Score is higher in Milan

Performance **66** and **66**, accessibility **88** and **87**, best practices **96** and **96**, SEO **92** and **92**. Median AI Crawlability Score **79.3** against **74.6**.

On the four Lighthouse scores, which measure how the site is built, the differences are at most one point. The AI Crawlability Score also measures what the site declares (structured data, sitemap, canonical address) and is **4.7** points higher in Milan: where sites are better looked after for Google, they are also better looked after for assistants.

Median scores, Milan and Verona

- Milan
- Verona

[Read the Verona report](https://www.nfw.run/state-of-the-web/verona-city)

// Your site

### Try it on your site

The free audit runs the same checks as this report on your site: it reads the pages, measures the home page with Lighthouse, computes the AI Crawlability Score and tells you how it compares with the sites of your city. No sign up, up to **4** sites an hour.

- SEO
- Speed
- Core Web Vitals
- AI Crawlability Score
- Compared with your city

[Run the free SEO audit](https://www.nfw.run/seo-audit)

Source: NFW Web Studio scan of **51,962** businesses, data updated on October **10**, **2026**.

// The technical detail

## The same measurements, by their technical names

For developers: how the **27,460** working sites divide, not just their average. Here are the Core Web Vitals against Google's thresholds, JavaScript, image and font weight, file formats, technologies, what the structured data is made of, and the AI Crawlability Score's individual checks.

Performance and the AI Crawlability Score are the two scores where sites differ

From the 10th to the 90th percentile: performance from **41** to **90** (median **66**), accessibility from **73** to **96** (**88**), best practices from **69** to **100** (**96**), SEO from **83** to **100** (**92**), AI Crawlability Score from **39.1** to **94.6** (**79.3**).

SEO and best practices are high and squeezed at the top: CMSs, themes and plugins provide them. Performance is much wider: it depends on the technologies chosen for the site and includes the amount and format of media, the weight of scripts and, for CMSs, the weight and number of plugins. The AI Crawlability Score is the widest of all because it depends on a limited number of points that are either passed or failed, such as llms.txt and structured data.

The median performance score is in line with the average of the **6** cities in Italy we have scanned so far, which is **66**.

Lighthouse and AI Crawlability Scores: the spread

Show the mean

- Milan
- Average of 6 cities in Italy

Show the data

|                       |                              | 10th percentile | 25th percentile | Median | 75th percentile | 90th percentile | Mean |
| --------------------- | ---------------------------- | --------------- | --------------- | ------ | --------------- | --------------- | ---- |
| Performance           | Milan                        | 41              | 54              | 66     | 76              | 90              | 65   |
| Performance           | Average of 6 cities in Italy | 41              | 54              | 66     | 76              | 90              | 65   |
| Accessibility         | Milan                        | 73              | 81              | 88     | 93              | 96              | 86   |
| Accessibility         | Average of 6 cities in Italy | 73              | 81              | 88     | 93              | 96              | 86   |
| Best practices        | Milan                        | 69              | 74              | 96     | 100             | 100             | 87   |
| Best practices        | Average of 6 cities in Italy | 69              | 74              | 96     | 100             | 100             | 87   |
| SEO                   | Milan                        | 83              | 91              | 92     | 100             | 100             | 92   |
| SEO                   | Average of 6 cities in Italy | 83              | 91              | 92     | 100             | 100             | 92   |
| AI Crawlability Score | Milan                        | 39.1            | 59.6            | 79.3   | 85              | 94.6            | 70.1 |
| AI Crawlability Score | Average of 6 cities in Italy | 39.2            | 59.6            | 79.3   | 85              | 94.6            | 70   |

Server answer in 86 ms, main content after 7.1 seconds

Medians across **25,871** sites: server response (TTFB) **86 ms**, first content (FCP) **2.6 s**, visible page (Speed Index) **4.9 s**, main content (LCP) **7.1 s**, blocking time (TBT) **124 ms**. At the 90th percentile the main content arrives after **20.9 s** and the server answers after **1.2 s**.

Against Google's thresholds, server response and blocking time are good, first content and Speed Index need improvement, and main content is poor. The 10th percentile of LCP is **2.9** seconds: fewer than one site in ten is within the **2.5** seconds Google considers good. Between the median first content and the median main content there are **4.5** seconds, the time it takes to load the big home page photo, the slider or the headline font. The mean LCP, **10.6** seconds, is well above the median: a tail of very slow sites, one in four above **12.6** seconds, pulls it up. These are lab measurements on a simulated phone with a slow connection; on an office computer the times are shorter.

The median main content time (LCP) is in line with the average of the **6** cities in Italy we have scanned so far, which is **7.2 s**. In Verona, under the same conditions: server **94 ms**, first content **2.6 s**, main content **7.5 s**.

Home page load times: Core Web Vitals and Lighthouse

Show the mean

- Milan
- Average of 6 cities in Italy
- Google's "good" threshold

Show the data

|                               |                              | 10th percentile | 25th percentile | Median | 75th percentile | 90th percentile | Mean   |
| ----------------------------- | ---------------------------- | --------------- | --------------- | ------ | --------------- | --------------- | ------ |
| First content on screen (FCP) | Milan                        | 1.4 s           | 2.0 s           | 2.6 s  | 3.4 s           | 4.7 s           | 3.0 s  |
| First content on screen (FCP) | Average of 6 cities in Italy | 1.4 s           | 2.0 s           | 2.6 s  | 3.4 s           | 4.7 s           | 3.0 s  |
| Main content on screen (LCP)  | Milan                        | 2.9 s           | 4.4 s           | 7.1 s  | 12.6 s          | 20.9 s          | 10.6 s |
| Main content on screen (LCP)  | Average of 6 cities in Italy | 2.9 s           | 4.4 s           | 7.2 s  | 12.7 s          | 20.6 s          | 10.5 s |
| Page on screen (Speed Index)  | Milan                        | 2.1 s           | 3.2 s           | 4.9 s  | 7.5 s           | 11.2 s          | 6.1 s  |
| Page on screen (Speed Index)  | Average of 6 cities in Italy | 2.1 s           | 3.2 s           | 4.9 s  | 7.5 s           | 11.0 s          | 6.1 s  |
| Blocking time (TBT)           | Milan                        | 0 ms            | 24 ms           | 124 ms | 364 ms          | 835 ms          | 401 ms |
| Blocking time (TBT)           | Average of 6 cities in Italy | 0 ms            | 24 ms           | 126 ms | 364 ms          | 832 ms          | 396 ms |
| Server response (TTFB)        | Milan                        | 13 ms           | 28 ms           | 86 ms  | 455 ms          | 1.2 s           | 432 ms |
| Server response (TTFB)        | Average of 6 cities in Italy | 13 ms           | 28 ms           | 90 ms  | 465 ms          | 1.2 s           | 432 ms |

One site in ten downloads almost 2 MB of JavaScript

JavaScript downloaded by the home page: median **703 kB**, one site in four above **1.3 MB**, one in ten above **2.0 MB**. Layout shift (CLS): median **0**, 75th percentile **0.02**, 90th percentile **0.16**.

Much of that JavaScript comes from older libraries: jQuery is on **58.5%** of sites, jQuery UI on **22.3%** and jQuery Migrate, the compatibility layer for older code, on **35.5%**. The layout, on the other hand, is stable: three sites in four stay within **0.02**, well below **0.1**, Google's good threshold, and content does not jump around while the page loads. One site in ten goes above **0.16**, close to the poor threshold of **0.25**.

The median JavaScript weight is in line with the average of the **6** cities in Italy we have scanned so far, which is **696 kB**.

JavaScript weight and layout stability

Show the mean

- Milan
- Average of 6 cities in Italy

Show the data

|                       |                              | 10th percentile | 25th percentile | Median | 75th percentile | 90th percentile | Mean   |
| --------------------- | ---------------------------- | --------------- | --------------- | ------ | --------------- | --------------- | ------ |
| JavaScript downloaded | Milan                        | 109 kB          | 329 kB          | 703 kB | 1.3 MB          | 2.0 MB          | 909 kB |
| JavaScript downloaded | Average of 6 cities in Italy | 110 kB          | 327 kB          | 696 kB | 1.2 MB          | 1.9 MB          | 899 kB |

- Milan
- Average of 6 cities in Italy
- Google's "good" threshold

Show the data

|                    |                              | 10th percentile | 25th percentile | Median | 75th percentile | 90th percentile | Mean |
| ------------------ | ---------------------------- | --------------- | --------------- | ------ | --------------- | --------------- | ---- |
| Layout shift (CLS) | Milan                        | 0               | 0               | 0      | 0.02            | 0.16            | 0.05 |
| Layout shift (CLS) | Average of 6 cities in Italy | 0               | 0               | 0      | 0.02            | 0.16            | 0.06 |

One video in ten weighs more than 36 MB

Median weight per file: images **22 kB**, fonts **31 kB**, favicons **4 kB**, preview image (og:image) **110 kB**. One image in ten is above **288 kB**, one preview image in ten above **693 kB**. **6.5%** of sites have a video, with a median weight of **4.4 MB**; one in ten is above **36.8 MB**.

The preview image is the one that appears when the site's link is shared on WhatsApp or social media: with a median of **110 kB**, it is often a photo uploaded at full resolution. **54.5%** of sites have one that downloads (in Verona **50.6%**): on the other **45.5%**, a shared link appears without an image or with one the platform picks. Videos are more common than in Verona (**6.5%** of sites against **5.5%**) and are the heaviest files: one that starts on its own when the page opens can be enough, on a slow mobile connection, to slow the page down. The chart's scale is logarithmic: each tick is ten times the one before.

The median image weight is in line with the average of the **6** cities in Italy we have scanned so far, which is **22 kB**.

File weight, by kind

Show the mean

- Milan
- Average of 6 cities in Italy

Show the data

|                          |                              | 10th percentile | 25th percentile | Median | 75th percentile | 90th percentile | Mean    |
| ------------------------ | ---------------------------- | --------------- | --------------- | ------ | --------------- | --------------- | ------- |
| Images                   | Milan                        | 498 B           | 3 kB            | 22 kB  | 95 kB           | 288 kB          | 138 kB  |
| Images                   | Average of 6 cities in Italy | 511 B           | 3 kB            | 22 kB  | 95 kB           | 286 kB          | 135 kB  |
| Fonts                    | Milan                        | 9 kB            | 16 kB           | 31 kB  | 48 kB           | 83 kB           | 47 kB   |
| Fonts                    | Average of 6 cities in Italy | 9 kB            | 16 kB           | 31 kB  | 48 kB           | 84 kB           | 47 kB   |
| Favicons                 | Milan                        | 788 B           | 1 kB            | 4 kB   | 10 kB           | 22 kB           | 14 kB   |
| Favicons                 | Average of 6 cities in Italy | 805 B           | 1 kB            | 4 kB   | 11 kB           | 22 kB           | 14 kB   |
| Preview image (og:image) | Milan                        | 15 kB           | 43 kB           | 110 kB | 286 kB          | 693 kB          | 317 kB  |
| Preview image (og:image) | Average of 6 cities in Italy | 15 kB           | 43 kB           | 110 kB | 282 kB          | 685 kB          | 313 kB  |
| Videos                   | Milan                        | 42 kB           | 973 kB          | 4.4 MB | 14.0 MB         | 36.8 MB         | 14.1 MB |
| Videos                   | Average of 6 cities in Italy | 44 kB           | 1.1 MB          | 4.9 MB | 15.0 MB         | 37.9 MB         | 14.4 MB |
| Audio                    | Milan                        | 4 kB            | 7 kB            | 16 kB  | 50 kB           | 2.7 MB          | 1.0 MB  |
| Audio                    | Average of 6 cities in Italy | 4 kB            | 7 kB            | 18 kB  | 61 kB           | 2.9 MB          | 1.1 MB  |

Fewer than one image in four uses a modern format

Of the **1,016,224** images found: JPG **36.3%**, PNG **21.5%**, WebP **18.1%**, SVG **12.8%**, AVIF **5%**. Of the fonts, **77.1%** are WOFF2. Of the favicons, **64%** are PNG.

WebP and AVIF together are **23.1%** of images. At the same quality they are usually much lighter than JPG and PNG, and converting images is one of the simplest speed fixes on a phone. AVIF, the lighter of the two, is used a little more than in Verona (**5%** against **4.1%**), but is still rare. Fonts, on the other hand, are mostly in the right format already.

The share of images in a modern format is in line with the average of the **6** cities in Italy we have scanned so far, which is **22.8%**.

File formats

Images

- JPG
- PNG
- WEBP
- SVG
- Other

Show the data

|       | Milan | Average of 6 cities in Italy |
| ----- | ----- | ---------------------------- |
| JPG   | 36.3% | 36.7%                        |
| PNG   | 21.5% | 21.7%                        |
| WEBP  | 18.1% | 18.2%                        |
| SVG   | 12.8% | 12.6%                        |
| Other | 11.3% | 10.7%                        |

Fonts

- WOFF2
- WOFF
- TTF
- 2
- Other

Show the data

|       | Milan | Average of 6 cities in Italy |
| ----- | ----- | ---------------------------- |
| WOFF2 | 77.1% | 77.3%                        |
| WOFF  | 6.1%  | 6%                           |
| TTF   | 4.4%  | 4.5%                         |
| 2     | 4.2%  | 4.1%                         |
| Other | 8.3%  | 8.1%                         |

Favicons

- PNG
- ICO
- JPG
- WEBP
- Other

Show the data

|       | Milan | Average of 6 cities in Italy |
| ----- | ----- | ---------------------------- |
| PNG   | 64%   | 64.3%                        |
| ICO   | 14.7% | 15%                          |
| JPG   | 12.6% | 12.5%                        |
| WEBP  | 4.1%  | 3.8%                         |
| Other | 4.5%  | 4.4%                         |

Preview image (og:image)

- JPG
- PNG
- WEBP
- SVG
- Other

Show the data

|       | Milan | Average of 6 cities in Italy |
| ----- | ----- | ---------------------------- |
| JPG   | 64%   | 63.9%                        |
| PNG   | 23.6% | 23.5%                        |
| WEBP  | 10.3% | 10.6%                        |
| SVG   | 0.6%  | 0.6%                         |
| Other | 1.5%  | 1.4%                         |

Videos

- MP4
- WEBM
- 4
- MOV
- Other

Show the data

|       | Milan | Average of 6 cities in Italy |
| ----- | ----- | ---------------------------- |
| MP4   | 82.8% | 83.4%                        |
| WEBM  | 5.4%  | 5.5%                         |
| 4     | 3.9%  | 3.7%                         |
| MOV   | 2.7%  | 2.9%                         |
| Other | 5.2%  | 4.5%                         |

Audio

- MP3
- WAV
- OGG
- MP4
- Other

Show the data

|       | Milan | Average of 6 cities in Italy |
| ----- | ----- | ---------------------------- |
| MP3   | 93.3% | 93.4%                        |
| WAV   | 2.5%  | 2.3%                         |
| OGG   | 1.4%  | 1.7%                         |
| MP4   | 0.7%  | 0.6%                         |
| Other | 2.1%  | 2%                           |

Four sites in ten run on WordPress, one in eight on React

Across **27,460** working sites: WordPress **38.9%**, Elementor **12.1%**, Wix **4.2%**, Duda **1.2%**, Joomla **1.1%**. Google Analytics **36.8%**, Facebook Pixel **11.1%**. Cloudflare **20.9%**, Aruba hosting **12.6%**. Online stores: WooCommerce **6%**, Shopify **4.2%**. Cookie consent: iubenda **13.9%**, Cookiebot **5.8%**. WhatsApp chat on the site **4.1%**.

Milan is a WordPress city like Verona (**38.9%** against **37.5%**), but with more recent technologies: React is on **12.1%** of sites against Verona's **9.6%**, jQuery on **58.5%** against **63.5%**. Wix is more common (**4.2%** against **2.9%**). WordPress with a page builder such as Elementor used to be an easy combination to edit, but with the arrival of modern tools it has lost its edge, and it loads a lot of code. Booking built into the website is rare (**0.4%** of sites), even in a city with **7,212** restaurants and **1,533** lodging businesses. Technologies are detected on the home page only, so ones used only on inner pages can be missed.

The share of sites on WordPress is in line with the average of the **6** cities in Italy we have scanned so far, which is **39.6%**.

Most used technologies

AllJavaScript librariesFont scriptsWeb serversCMSAnalyticsBlogsPerformanceWordPress pluginsCDNJavaScript frameworks

- Milan
- Average of 6 cities in Italy

1. 01

   Open Graph

   59.9%

1. 02

   jQueryJavaScript libraries

   58.5%

1. 03

   PHPProgramming languages

   45%

1. 04

   HTTP/3

   43.5%

1. 05

   Google Font APIFont scripts

   43.4%

1. 06

   Google Tag ManagerTag managers

   40.7%

1. 07

   MySQLDatabases

   39.9%

1. 08

   WordPressBlogs

   38.9%

1. 09

   Priority HintsPerformance

   38%

1. 10

   Google AnalyticsAnalytics

   36.8%

1. 11

   RSS

   35.8%

1. 12

   jQuery MigrateJavaScript libraries

   35.5%

Show the data

|                                | Milan | Average of 6 cities in Italy |
| ------------------------------ | ----- | ---------------------------- |
| Open Graph                     | 59.9% | 59.7%                        |
| jQuery                         | 58.5% | 60.2%                        |
| PHP                            | 45%   | 46%                          |
| HTTP/3                         | 43.5% | 42.9%                        |
| Google Font API                | 43.4% | 44.4%                        |
| Google Tag Manager             | 40.7% | 41%                          |
| MySQL                          | 39.9% | 40.7%                        |
| WordPress                      | 38.9% | 39.6%                        |
| Priority Hints                 | 38%   | 37.7%                        |
| Google Analytics               | 36.8% | 37.3%                        |
| RSS                            | 35.8% | 36.2%                        |
| jQuery Migrate                 | 35.5% | 36.2%                        |
| Font Awesome                   | 35.1% | 36.6%                        |
| core-js                        | 35%   | 35.1%                        |
| Nginx                          | 24%   | 24.2%                        |
| jQuery UI                      | 22.3% | 23.1%                        |
| Cloudflare                     | 20.9% | 20.2%                        |
| Yoast SEO                      | 20.3% | 20.5%                        |
| Twitter Emoji (Twemoji)        | 19.6% | 20.1%                        |
| Swiper                         | 17.8% | 18.3%                        |
| Apache HTTP Server             | 16.6% | 17.2%                        |
| Contact Form 7                 | 15.1% | 15.4%                        |
| Bootstrap                      | 14.9% | 16%                          |
| GSAP                           | 14.8% | 14.9%                        |
| iubenda                        | 13.9% | 14%                          |
| Cart Functionality             | 12.8% | 12.6%                        |
| Lodash                         | 12.7% | 12.5%                        |
| Aruba.it                       | 12.6% | 12.9%                        |
| Masonry                        | 12.5% | 13.3%                        |
| Elementor                      | 12.1% | 12.5%                        |
| React                          | 12.1% | 11.2%                        |
| reCAPTCHA                      | 12%   | 12.5%                        |
| Facebook Pixel                 | 11.1% | 11%                          |
| Isotope                        | 9.6%  | 10.4%                        |
| lit-html                       | 7.9%  | 8.3%                         |
| lit-element                    | 7.9%  | 8.2%                         |
| PWA                            | 7.8%  | 8%                           |
| Modernizr                      | 7.2%  | 7.5%                         |
| Site Kit                       | 6.6%  | 6.7%                         |
| Amazon Web Services            | 6.5%  | 6.3%                         |
| Slider Revolution              | 6.5%  | 6.9%                         |
| LazySizes                      | 6.5%  | 6.5%                         |
| Plesk                          | 6.1%  | 6.4%                         |
| Cookie Control                 | 6.1%  | 6.2%                         |
| Sentry                         | 6%    | 5.5%                         |
| WooCommerce                    | 6%    | 6%                           |
| wpBakery                       | 5.9%  | 6%                           |
| Cookiebot                      | 5.8%  | 6%                           |
| Google Maps                    | 5.7%  | 5.9%                         |
| LiteSpeed                      | 5.1%  | 5%                           |
| Microsoft ASP.NET              | 5%    | 4.9%                         |
| Cybot                          | 5%    | 5.2%                         |
| Animate.css                    | 4.9%  | 5.1%                         |
| FancyBox                       | 4.8%  | 5%                           |
| Tailwind CSS                   | 4.6%  | 4.4%                         |
| OWL Carousel                   | 4.6%  | 4.7%                         |
| PayPal                         | 4.6%  | 4.3%                         |
| WPML                           | 4.5%  | 4.4%                         |
| Windows Server                 | 4.4%  | 4.3%                         |
| IIS                            | 4.4%  | 4.2%                         |
| MediaElement.js                | 4.3%  | 4.4%                         |
| Wix                            | 4.2%  | 3.8%                         |
| Shopify                        | 4.2%  | 3.9%                         |
| Microsoft Clarity              | 4.2%  | 4.1%                         |
| WhatsApp Business Chat         | 4.1%  | 4.1%                         |
| jsDelivr                       | 4.1%  | 4%                           |
| Hello Elementor                | 4%    | 4.2%                         |
| Popper                         | 3.9%  | 4%                           |
| Select2                        | 3.8%  | 3.9%                         |
| cdnjs                          | 3.7%  | 3.9%                         |
| prettyPhoto                    | 3.6%  | 3.8%                         |
| Wix eCommerce                  | 3.4%  | 3%                           |
| Apple Pay                      | 3.3%  | 3.1%                         |
| YouTube                        | 3.1%  | 3.1%                         |
| Google Cloud                   | 3.1%  | 2.9%                         |
| RankMath SEO                   | 3.1%  | 3.2%                         |
| Divi                           | 3%    | 2.8%                         |
| Google Cloud CDN               | 3%    | 2.8%                         |
| Webpack                        | 3%    | 2.9%                         |
| Moment.js                      | 2.9%  | 3%                           |
| PhotoSwipe                     | 2.9%  | 3.1%                         |
| Google Ads                     | 2.9%  | 2.8%                         |
| CookieYes                      | 2.8%  | 2.8%                         |
| Skrollr                        | 2.8%  | 3%                           |
| Vimeo                          | 2.8%  | 2.7%                         |
| Facebook Login                 | 2.7%  | 2.8%                         |
| Vue.js                         | 2.7%  | 2.9%                         |
| Preact                         | 2.6%  | 2.5%                         |
| Amazon CloudFront              | 2.6%  | 2.4%                         |
| Adobe Fonts                    | 2.6%  | 2.5%                         |
| Flickity                       | 2.6%  | 2.5%                         |
| Google Ads Conversion Tracking | 2.5%  | 2.5%                         |
| AOS                            | 2.3%  | 2.2%                         |
| Next.js                        | 2.2%  | 2.1%                         |
| RequireJS                      | 2.2%  | 2.1%                         |
| All in One SEO Pack            | 2.1%  | 2%                           |
| Chart.js                       | 2%    | 2.1%                         |
| Linkedin Insight Tag           | 2%    | n/a                          |
| Polylang                       | 2%    | n/a                          |
| Smash Balloon Instagram Feed   | 2%    | n/a                          |

More than half have structured data, few describe the business

Of the **30,255** businesses with a working website, **61.2%** have at least one JSON-LD block, but only **3.8%** have complete basic data. The LocalBusiness block is missing for **85.6%**, incomplete for **8.5%** and complete for **5.9%**. The WebSite block is complete for **46.9%**.

The most common types are WebSite (**48.5%** of sites), Organization (**36%**), BreadcrumbList (**35.7%**), WebPage (**34.5%**), ImageObject (**24.2%**), Person (**19.3%**) and Article (**17.3%**): the markup SEO plugins add on their own, describing the site, its pages and the authors of its articles. LocalBusiness and its subtypes (Restaurant **0.8%**, Hotel **0.6%**, Physician **0.5%**) remain rare, while Product is on **5.8%** of sites and FAQPage on **4.5%**. Those that have the block most often leave out opening hours (**44.8%**) and the phone number (**25.2%**).

The share of businesses with complete basic data is in line with the average of the **6** cities in Italy we have scanned so far, which is **3.8%**.

Basic structured data (JSON-LD)

### What we count as complete

A business has complete basic structured data when the pages of its site carry both of these JSON-LD blocks:

- `LocalBusiness` or one of its subtypes (Restaurant, Dentist, Store, LegalService...), with name, a structured address (PostalAddress, not free text), telephone, URL and opening hours.
- `WebSite` with the site's name and URL.

Each block can appear on any of the analyzed pages. A block missing even one of these counts as incomplete. Shares are of the businesses with a working website.

Milan

57.4%

38.8%

- Complete **3.8%**
- Some JSON-LD, basics incomplete **57.4%**
- No JSON-LD **38.8%**

Average of 6 cities in Italy

56.9%

39.3%

- Complete **3.8%**
- Some JSON-LD, basics incomplete **56.9%**
- No JSON-LD **39.3%**

`LocalBusiness`Complete **5.9%**

- Complete **5.9%**
- Incomplete **8.5%**
- Missing **85.6%**

Missing from LocalBusiness

- Opening hours**44.8%**
- Telephone**25.2%**
- Address**15.2%**
- URL**9.3%**
- Name**2.2%**

`WebSite`Complete **46.9%**

- Complete **46.9%**
- Incomplete **1.6%**
- Missing **51.5%**

Missing from WebSite

- Name**3.3%**
- URL**0%**

The three heaviest points: two passed by almost everyone, one by few

Across **27,460** sites: content visible without JavaScript **93.7%**, home page title **93.6%**, Lighthouse SEO **91.8** out of **100**, HTTPS **89.6%**, robots.txt open to AI crawlers **83.7%**, sitemap **78.1%**, canonical **74.4%**, meta description **66.7%**, structured data on the home page **58.1%**, llms.txt **26.8%**, ARD manifest **0%**.

The three points that weigh the most, **50** out of **100**, split in two groups: content without JavaScript (**20** points) and an open robots.txt (**15**) are passed by the large majority of sites, structured data on the home page (**15**) by only **58.1%** of sites. Right after come the sitemap and llms.txt, **10** points each: **78.1%** of sites have a sitemap, **26.8%** the llms.txt file. **16.3%** of sites fail the robots.txt point: either they have none, or it closes the door to at least one AI crawler, sometimes by choice and sometimes through a default setting of the theme or the host.

The share of sites open to AI crawlers is in line with the average of the **6** cities in Italy we have scanned so far, which is **83.8%**.

The AI Crawlability Score's checks

- 93.7%

  Content visible without JavaScript

  weight 20

  Average of 6 cities in Italy: **94%**

- 83.7%

  robots.txt open to AI crawlers

  weight 15

  Average of 6 cities in Italy: **83.8%**

- 58.1%

  Structured data on the home page

  weight 15

  Average of 6 cities in Italy: **57.6%**

- 78.1%

  Sitemap

  weight 10

  Average of 6 cities in Italy: **77.9%**

- 26.8%

  llms.txt file

  weight 10

  Average of 6 cities in Italy: **26.1%**

- 93.6%

  Home page title

  weight 5

  Average of 6 cities in Italy: **93.7%**

- 91.8%

  Lighthouse SEO score

  weight 5

  Average of 6 cities in Italy: **91.8%**

- 89.6%

  HTTPS

  weight 5

  Average of 6 cities in Italy: **89.6%**

- 74.4%

  Home page canonical

  weight 5

  Average of 6 cities in Italy: **73.9%**

- 66.7%

  Home page meta description

  weight 5

  Average of 6 cities in Italy: **66.7%**

- 0%

  ARD manifest for AI agents

  weight 5

  Average of 6 cities in Italy: **0%**

// Digging deeper

## What else the working sites show

Cuts of the 27,460 working sites beyond the headline figures. A site counts once, only home pages are measured, and a group needs at least 10 sites to appear.

### Sector by sector

Mean Lighthouse performance and AI Crawlability Score of the working sites of each sector with at least 10 sites. A site counts once, in the sector most of its businesses are in.

| Sector                | Sites | Performance | AI Crawlability Score |
| --------------------- | ----- | ----------- | --------------------- |
| Professional services | 3,501 | 67.2        | 70                    |
| Restaurants           | 2,725 | 67.8        | 67.6                  |
| Fashion and beauty    | 2,388 | 59.9        | 75.1                  |
| Creative and media    | 2,088 | 68          | 67.9                  |
| Health                | 1,973 | 66          | 73.8                  |
| Beauty and wellness   | 1,282 | 65.1        | 69.6                  |
| Real estate           | 1,278 | 61.9        | 66.2                  |
| Events and leisure    | 1,061 | 66.4        | 68.4                  |

### What the sites run on

Technologies detected on the home page of 26,873 of 27,460 working sites, with the mean scores of the sites that use each.

| Technology         | Sites  | Share | Performance | AI Crawlability Score |
| ------------------ | ------ | ----- | ----------- | --------------------- |
| Open Graph         | 16,461 | 59.9% | 63.3        | 78.9                  |
| jQuery             | 16,061 | 58.5% | 63.2        | 73                    |
| PHP                | 12,353 | 45%   | 64.1        | 75.7                  |
| HTTP/3             | 11,945 | 43.5% | 66.2        | 74.3                  |
| Google Font API    | 11,920 | 43.4% | 62.1        | 72.4                  |
| Google Tag Manager | 11,176 | 40.7% | 59.2        | 76.9                  |
| MySQL              | 10,951 | 39.9% | 63.7        | 77.5                  |
| WordPress          | 10,672 | 38.9% | 64          | 77.8                  |

| CDN           | Sites  | Share | Performance | AI Crawlability Score |
| ------------- | ------ | ----- | ----------- | --------------------- |
| None detected | 18,652 | 67.9% | 65.6        | 67.9                  |
| cloudflare    | 3,588  | 13.1% | 65          | 76.1                  |
| google        | 2,246  | 8.2%  | 67.8        | 78                    |
| aws           | 1,582  | 5.8%  | 65.9        | 72.5                  |
| cloudfront    | 571    | 2.1%  | 54.1        | 73.3                  |
| azure         | 299    | 1.1%  | 57.7        | 67.3                  |
| fastly        | 243    | 0.9%  | 49.9        | 72.8                  |
| oracle        | 154    | 0.6%  | 46.8        | 62.6                  |

### Cookies and analytics

41.3% of the sites show a cookie consent platform, and 63.8% run an analytics tool. Of those that run analytics, 45.4% show no consent platform we could detect.

Most common: Iubenda (17.9%), Cookiebot (7.3%), Complianz (5.4%).

Detected from what the home page loads: a site may use a tool we do not see, so read these as a floor.

### Content basics

63.2% of the sites have at least one page that repeats a word above the density our crawler flags as keyword stuffing.

On the home page, 22.1% of titles are longer than 60 characters and 33.3% of the sites have no meta description. 13.9% repeat the same title on more than one page.

### Security

89.6% of the sites answer on HTTPS, and 91.8% of those redirect plain HTTP to it.

Of 24,376 certificates checked, 100% are valid and 10.4% expire within 30 days.

Security headers on the home page: 32.7% send Strict-Transport-Security and 15.2% a Content-Security-Policy. We check that a header is present, not how strong it is.

// This scan

## The Milan scan, at a glance

- Period

  From October **4** to **10**, **2026**

- Kind of scan

  Quick: home page and first **4** sitemap pages; Lighthouse and technologies on the home page only

- Area

  City of Milan

- Businesses counted

  **51,962**

- Working sites analyzed

  **27,460**

- National comparison

  Average of **6** cities scanned in Italy

- Data updated

  October **10**, **2026**

- Overture Maps data

  September **18**, **2026**

- Scanner version

  [v1.2.0](https://www.nfw.run/state-of-the-web/method/changelog#v1.2.0)

[How we measure: the full method](https://www.nfw.run/state-of-the-web/method)

// Data and limits

## Where the data comes from

The businesses and the website they list come from [Overture Maps](https://www.nfw.run/state-of-the-web/overture-maps), an open dataset of places. We use no other source to find websites: every site analyzed is the one listed on the business's Overture entry.

Places have no single licence for the whole theme: each provider has its own, all permissive. CDLA Permissive **2.0** for Meta, Microsoft, PinMeTo, Krick, RenderSEO, DAC and BrightQuery, Apache **2.0** for Foursquare (whose data was transformed to Overture's schema) and CC0 **1.0** for AllThePlaces.

Administrative boundaries (the divisions theme) are licensed ODbL and come from OpenStreetMap, geoBoundaries, Esri Community Maps and LINZ. That is why our reports carry the line Overture gives for data that includes OpenStreetMap.

Overture's page states no sharing or derived data obligations beyond that line: we add no conditions that are not there, and refer to each source's own licence for the details.

Attribution\
© OpenStreetMap contributors, [Overture Maps](https://www.nfw.run/state-of-the-web/overture-maps) Foundation

### What this scan read

- [Overture](https://www.nfw.run/state-of-the-web/overture-maps) dataset of September **18**, **2026**.
- **11,051** of the **38,511** sites we tried to analyze did not answer or blocked our tool (**28.7%**): the web figures cover the other **27,460**.
- AI Crawlability Score computed with [rules 2.0.0](https://www.nfw.run/state-of-the-web/ai-crawlability-score/changelog#v2.0.0). It is our own measure, not an industry standard.

### What these figures do and do not measure

A report says precise things, and only those. These are the limits to keep in mind when quoting one of its figures.

- Homepage only. Lighthouse and the AI Crawlability Score measure each site's main page, not the whole site: the figure is that of a shop window, not of every page.
- Working sites only. The web figures cover the sites that answer. Sites that do not answer, or that block our tool, are left out: a site behind a bot check can be unmeasurable while working for a visitor.
- Only businesses that list a website on Overture. A business with no website on its listing is not measured on the web, and a listing with an old website leads to a page that does not open. Every report says how many businesses list a website and how many have a working one.
- A sample, not a register. Overture is not the business register: it covers some businesses and some areas better than others, so the picture can lean towards businesses with a well kept listing.
- A site counts once. When several businesses list the same site, it counts once in the web figures. Business counts count each one.
- One language. Our tool presents itself as an Italian browser: a multilingual site is measured in its Italian version.
- Search Console is recognised only from a meta tag or the DNS, so the real share can be higher than the one we show.
- The AI Crawlability Score is our own measure, not a market standard: it cannot be compared with outside tools. It changes with rules versions, and two reports compare only on the same scanner and the same rules.
- Cities only, and only averages and medians. Reports do not say who is best in a sector or which studios do better, and they publish no single business's result.

[How a business gets its category](https://www.nfw.run/state-of-the-web/method#categories) [What Overture Maps is, and why we use it](https://www.nfw.run/state-of-the-web/overture-maps)

// After the report

## If your website is in these numbers

We are NFW Web Studio, a web studio based in Verona, working with businesses and professionals in Milan and across Italy and Europe. If your site is one of the slow ones on a phone, has no sitemap, or does not describe the business in a way Google can read, that can be fixed: a landing page starts from **€520** and a full website from **€1,160**, VAT included.

[Web design services for businesses](https://www.nfw.run/website-design)

### [Website redesign services](https://www.nfw.run/website-redesign)

[We rebuild your site from what you already have, and fix what this report measures: speed on a phone, sitemap, business details for Google and AI assistants. From **€320** for a landing page.](https://www.nfw.run/website-redesign)

[Learn more](https://www.nfw.run/website-redesign)

### [SEO services for businesses](https://www.nfw.run/seo-services)

[Search Console, sitemap, canonical URLs and a LocalBusiness block: the items in this report that decide whether Google finds you. From **€320** one time, or **€550** a month for ongoing SEO.](https://www.nfw.run/seo-services)

[Learn more](https://www.nfw.run/seo-services)

### [Case: Ricerca Perdite 1972](https://www.nfw.run/case-studies/ricerca-perdite-1972)

[It started as a landing page and grew into a full website with a page for every town: from 6 to 40 Google clicks in 42 days, and the first call from the Business Profile in month three.](https://www.nfw.run/case-studies/ricerca-perdite-1972)

[Read the case](https://www.nfw.run/case-studies/ricerca-perdite-1972)

[How much does a website cost: all prices](https://www.nfw.run/pricing)

// frequently asked questions

## The answers, to your questions.

### How many Milan businesses have a website?

We counted **51,962** businesses in Milan. **41,954** of them (**80.7%**) list a website, but only **30,255** (**58.2%**) have one that works: the other addresses do not answer, or lead to a social profile or a booking site. The scan ran from October **4** to **10**, **2026**.

### Which sectors in Milan are most often without a website?

Among the sectors with at least **30** businesses, the fewest working websites are in bars and pubs (**27.5%**), cafés (**32.7%**), and beauty and wellness (**38.4%**); the most are in creative and media (**75.7%**), industry (**74.6%**), and travel (**72.7%**). The shares are the sector's businesses with a website that opens.

### Does Milan have more working websites than Verona?

In part. In Milan **58.2%** of businesses have a working website, in Verona **51.5%**, and Milan is ahead in **22** sectors out of **25**. The sites themselves, though, are very alike: the same medians for performance (**66**), best practices (**96**) and SEO (**92**), and one site in two with no verifiable Search Console in Milan against more than one in two in Verona. The median AI Crawlability Score is **79.3** against **74.6**. Both analyses use the same version of the tool (**1.2.0**), so the numbers can be compared.

### Is my business among the ones you scanned? Can I see its result?

If it is based in Milan and appears on [Overture Maps](https://www.nfw.run/state-of-the-web/overture-maps), probably yes. We do not publish results for single businesses or single sites, here or in the open data. If you want to see yours, book the free **30** minute call: we show you how it came out of the scan, meaning speed, SEO, AI readability and technologies, and what we would fix first. Or run the [free SEO audit](https://www.nfw.run/seo-audit) on your site right away: the same checks as this report, compared with the sites of your city.

### What should I fix first on my website?

Looking at Milan's websites, the things missing most often are also the cheapest to fix: connecting Search Console (no sign of it on **50.2%** of sites), writing a meta description for the home page (missing on **33.3%**), adding a complete LocalBusiness block with opening hours (only **3.8%** of businesses have complete basic data), converting images to WebP or AVIF (**23.1%** today) and adding a preview image for shares (missing on **45.5%** of sites). For general searches, ratings and reviews matter most: keeping the Google listing up to date is worth as much as the website. The [free SEO audit](https://www.nfw.run/seo-audit) shows you in a few minutes which of these your site is missing; on the free call we go through them together.

### How do I cite this report?

The figures are free to use, commercial use included, as long as you cite the source (CC BY **4.0** license). Cite NFW Web Studio, the page title and its link, for example: NFW Web Studio, "Milan businesses: state of the web, October **2026**", https\://www\.nfw\.run/state-of-the-web/milano-city-october-2026-v1-2-0. The aggregate figures are also available as JSON at https\://dashboard.nfw\.run/state-of-the-web/v1/scans/92b63c4f-1e2a-478a-bb36-d38119a1573e. If you need a figure that is not here, write to us.

### What are your prices and delivery times?

A landing page starts from **€520** and a full website from **€1,160**, VAT included. These are starting prices: after a call, you get a written quote with a single figure within **24** hours. A landing page takes under **7** days, a full website starts from **7** days. With the express option, timelines are halved and guaranteed: online within **48** hours for a landing page and **96** hours for a full website.

### Can we meet in person? Do you work outside Milan?

Yes to both. We are based in Verona, and when it makes sense we come and see the shop, workshop or venue: understanding the space helps us describe it on the site. We also work remotely with businesses across Italy and Europe, with the same method and timelines: only the way we meet changes, a video call instead of a coffee.

### Can I build a free website myself?

You can, and to get started it may be enough. Before you choose, check the things this report measures on every site: how long it takes to open on a phone, whether it has a sitemap, whether it describes the business in a way Google and AI assistants can read. Some free builders cover them, some do not, and some do not let you change them. To check them you can use the [free SEO audit](https://www.nfw.run/seo-audit); if you like, we can look at what you built together on the free call.

Didn't find what you were looking for? [Contact us](https://www.nfw.run/contact-us)

// ready when you are

## Your website, online within a week.

Write to us today: we reply within **24** hours with the next steps.

- Meet in person or by video call
- Written quote within **24** hours
- Published prices, VAT included
- Online within a week
- The site stays yours

Contact for Milan

Enrico: Software Engineer

<enrico@nfw.run>

Available for in-person meetings in San Giovanni Lupatoto and Verona, and by video call across Italy and Europe.

[Write to us](mailto:info@nfw.run) [Book a call](https://calendly.com/nfw-info/30min)
