On this page
- 01What place 37 actually tells you
- 02How much of the list is chance
- 03Six measures, six different leaders
- 04Twenty big cities against everyone else
- 05Where buying online does differ
- 06Why we correct for sector
- 07All 107 places with their intervals
- 08What a business owner can do with this
- 09What existed and how this fits
- 10Which municipality we mean after the mergers
Of the 107 Belgian municipalities with at least 50 working local business websites, 95 were not clearly above or below the national score in November 2026. We measured 23,676 sites on six criteria. Place 37, Halle, could just as well be anywhere from 11 to 77, so read each place with its interval.
95 of the 107 municipalities touch the national line
interval wholly above or below the countryinterval touches the countrythe country: 65.4
- Above the country (8)
- Middelkerke, Tongeren-Borgloon, Braine-l’Alleud, Nieuwpoort, Waterloo, Bruges, Ghent, Brussels
- Below the country (4)
- Eupen, Anderlecht, Oupeye, Hoogstraten
Left Middelkerke (70.3), right Hoogstraten (59.1).
Each stroke is a municipality with at least 50 working sites, from place 1 on the left to place 107 on the right. Score from 0 to 100, standardised to the national sector mix. The full table with every municipality is further down this page.
What place 37 actually tells you
Belgium has 565 municipalities, and most small businesses think in those units: the town hall, the local paper, the shopping street. Each municipality here gets a score from 0 to 100, the plain average of six percentages. The six are a tap-to-call button on a phone, a mobile layout, a fast start page, local structured data, AI crawlers left unblocked, and buying or booking online. The country as a whole scores 65.4.
A town with 60 sites is a small sample. Swap a few businesses and its place moves by dozens. So we redrew the sites within each municipality 2,000 times, and the middle 95 percent of the resulting places is the interval.
Halle sits at place 37, with an interval from 11 to 77. For half of the municipalities the interval spans at least 81 places. Out of 5,671 pairs of municipalities, 98.0 percent have overlapping intervals and can't be told apart. Only 13 pairs have at least 100 sites each, no overlap and a gap of at least 5 points. Bruges against Kortrijk is one: 68.4 against 63.4, with intervals 4 to 36 and 48 to 102.
| Place | Municipality | Province | Sites | Score | Interval of the place |
|---|---|---|---|---|---|
| 1 | Middelkerke | West Flanders | 65 | 70.3 | 1 to 49 |
| 2 | Tongeren-Borgloon | Limburg | 67 | 69.9 | 1 to 44 |
| 3 | Seraing | Liège | 50 | 69.5 | 1 to 81 |
| 4 | Braine-l’Alleud | Walloon Brabant | 240 | 69.3 | 1 to 35 |
| 5 | Nieuwpoort | West Flanders | 76 | 69.2 | 1 to 56 |
| 37 | Halle | Flemish Brabant | 240 | 66.6 | 11 to 77 |
| 103 | Ath | Hainaut | 58 | 61.6 | 44 to 107 |
| 104 | Eupen | Liège | 91 | 61.4 | 73 to 106 |
| 105 | Anderlecht | Brussels | 93 | 61.2 | 64 to 107 |
| 106 | Oupeye | Liège | 71 | 59.6 | 69 to 107 |
| 107 | Hoogstraten | Antwerp | 93 | 59.1 | 91 to 107 |
8 municipalities have their whole score interval above the country: Middelkerke, Tongeren-Borgloon, Braine-l’Alleud, Nieuwpoort, Waterloo, Bruges, Ghent and City of Brussels. 4 have it below: Eupen, Anderlecht, Oupeye and Hoogstraten. The rest show no clear difference. Even the ends of the list stay uncertain. Middelkerke at place 1 could be as low as 49, and Hoogstraten at place 107 could be as high as 91.
How much of the list is chance
Every list has a first and a last, even with nothing behind it. We tested that directly. We shuffled all sites across municipalities 1,000 times, within their own sector, and rebuilt the whole list each time. That gives the spread municipalities get from chance alone.
The measured spread of the score is 2.1 points; chance alone gives 1.9. The top municipality scores 70.3, while the top of a shuffled list averages 71.1. Chance also puts about 6 municipalities above and 2 below the country. We saw 8 and 4, within what chance can produce (10 and 5). We put the real spread between municipalities at about 0.8 point out of 100.
The same test per municipality gives 13 below the usual 5 percent threshold, where chance alone predicts 5.4. After correcting for 107 tests at once, none remain.
| Measure | Measured spread | Spread by chance | More than chance? |
|---|---|---|---|
| Score out of 100 | 2.1 | 1.9 | no |
| Tap-to-call button | 7.1 | 5.6 | yes |
| Mobile layout | 2.3 | 1.8 | yes |
| Fast start page | 4.4 | 4.5 | no |
| Local structured data | 5.5 | 4.5 | yes |
| AI crawlers open | 2.1 | 1.8 | weak |
| Buy or book online | 6.9 | 5.3 | yes |
The spread is the standard deviation between municipalities, in percentage points. Municipalities do differ on single measures, speed excepted. Those differences largely cancel in the score because the measures don't move together: the average rank correlation between two measures is 0.1 on a scale up to 1.
Municipalities really differ on tap-to-call and buying online
measured spreadspread from chance alone
- Score on six measures2.11.9
- Tap-to-call link7.15.6
- Mobile ready2.31.8
- Fast4.44.5
- Local schema5.54.5
- AI crawlers open2.11.8
- Buy or book online6.95.3
Standard deviation in percentage points between the ranked municipalities. Chance: the same sites shuffled across municipalities 1,000 times, within their sector.
Six measures, six different leaders
Since the score flattens so much, single measures are more useful than the final place. Below are the highest and lowest municipality on each measure, among those with at least 100 sites, as raw shares. An extreme in such a list always overstates a little, because it is the place where chance fell one way. On speed the spread is no larger than chance, so that row mostly shows chance.
| Measure | Country | Highest | Lowest |
|---|---|---|---|
| Tap-to-call button | 51.7 | Waregem 62.8 (115 of 183) | Diest 41.5 (73 of 176) |
| Mobile layout | 97.2 | Mechelen 99.6 (233 of 234) | Blankenberge 88.3 (91 of 103) |
| Fast start page | 77.4 | Ostend 84.2 (117 of 139) | Tournai 67.0 (71 of 106) |
| Local structured data | 19.1 | Uccle 28.8 (34 of 118) | Tielt 6.3 (9 of 142) |
| AI crawlers open | 96.9 | Roeselare 99.5 (182 of 183) | Diest 91.4 (171 of 187) |
| Buy or book online | 49.9 | Aalst 66.1 (82 of 124) | Herstal 24.7 (36 of 146) |
Drop one measure from the score and 6 to 10 of the top ten stay. The order depends on what you measure. The sector correction matters too: on the raw score, 7 of the ten stay.
The call button has the widest spread. On a phone, a linked number takes one tap, and the 48.3 percent of sites without one ask the customer to retype it. Our mobile study breaks that down by sector.
Twenty big cities against everyone else
Before seeing any result we fixed twenty big cities: the thirteen Flemish regional centres, the City of Brussels, and Liège, Charleroi, Namur, Mons, La Louvière and Tournai. They hold 7,087 sites, against 16,589 elsewhere.
Cities lead on buying or booking online: 54.1 against 48.2 percent, after correcting for sector mix. On the other five measures and on the total score the gap stays under our 5-point threshold, so we call those about equal.
| Measure | Twenty cities | Other municipalities | Gap in points |
|---|---|---|---|
| Score out of 100 | 66.2 | 65.0 | 1.1 |
| Tap-to-call button | 49.4 | 52.7 | -3.3 |
| Mobile layout | 97.9 | 96.8 | 1.0 |
| Fast start page | 77.8 | 77.2 | 0.5 |
| Local structured data | 21.1 | 18.2 | 2.9 |
| AI crawlers open | 96.7 | 97.0 | -0.3 |
| Buy or book online | 54.1 | 48.2 | 5.9 |
Gaps are calculated before rounding.
Cities lead only on buying and booking online: 54.1 against 48.2 percent
20 big citiesall other municipalities
- Tap-to-call link49.4%52.7%
- Mobile ready97.9%96.8%
- Fast77.8%77.2%
- Local schema21.1%18.2%
- AI crawlers open96.7%97.0%
- Buy or book online54.1%48.2%
Percent of sites, standardised to the national sector mix. 7,087 sites in the cities, 16,589 elsewhere.
The cities themselves spread over the whole list. La Louvière has fewer than 50 working sites in the frame, so it gets no place.
| Place | Municipality | Province | Sites | Score | Interval of the place |
|---|---|---|---|---|---|
| 8 | Bruges | West Flanders | 456 | 68.4 | 4 to 36 |
| 13 | Turnhout | Antwerp | 52 | 67.6 | 2 to 79 |
| 14 | Aalst | East Flanders | 133 | 67.5 | 4 to 74 |
| 23 | Ghent | East Flanders | 1,297 | 67.0 | 18 to 49 |
| 24 | Charleroi | Hainaut | 77 | 67.0 | 4 to 84 |
| 26 | City of Brussels | Brussels | 948 | 66.9 | 17 to 54 |
| 31 | Roeselare | West Flanders | 183 | 66.8 | 7 to 78 |
| 41 | Hasselt | Limburg | 225 | 66.2 | 15 to 78 |
| 48 | Antwerp | Antwerp | 1,217 | 65.8 | 31 to 71 |
| 49 | Namur | Namur | 326 | 65.8 | 22 to 82 |
| 55 | Ostend | West Flanders | 139 | 65.6 | 13 to 92 |
| 56 | Sint-Niklaas | East Flanders | 140 | 65.6 | 15 to 92 |
| 57 | Genk | Limburg | 57 | 65.5 | 8 to 98 |
| 59 | Mechelen | Antwerp | 248 | 65.5 | 23 to 85 |
| 61 | Tournai | Hainaut | 106 | 65.3 | 8 to 101 |
| 63 | Leuven | Flemish Brabant | 531 | 65.3 | 34 to 83 |
| 84 | Liège | Liège | 359 | 64.3 | 42 to 95 |
| 90 | Mons | Hainaut | 352 | 63.7 | 55 to 98 |
| 94 | Kortrijk | West Flanders | 207 | 63.4 | 48 to 102 |
Even Antwerp (1,217 sites) and Ghent (1,297), the two municipalities with the most sites, keep intervals of 41 and 32 places. Why cities sell online more often, this measurement can't say.
Where buying online does differ
Belgium has three regions, and on buying or booking online a clear line runs through them: 51.8 percent in Flanders against 43.3 in Wallonia, on 14,749 and 5,039 readable sites. Brussels has 46.4 percent on the call button against 52.6 in Flanders, yet 23.9 against 18.3 on local data. All of these use the same sector mix.
| Region | Sites | Score | Call button | Local data | Online |
|---|---|---|---|---|---|
| Flanders | 15,870 | 65.7 | 52.6 | 18.3 | 51.8 |
| Wallonia | 5,413 | 64.1 | 51.6 | 19.4 | 43.3 |
| Brussels | 2,393 | 66.1 | 46.4 | 23.9 | 53.3 |
Buying or booking online: from 41.7 percent in Liège to 53.9 in East Flanders
Percent of working sites whose HTML we could read, standardised to the national sector mix.
Provinces show the same pattern. In East Flanders you can buy or book on 53.9 percent of sites, in the province of Liège on 41.7. On the call button West Flanders has 56.6 percent and Flemish Brabant 49.1.
| Province | Sites | Score | Call button | Online | Top three on the list |
|---|---|---|---|---|---|
| Antwerp | 4,110 | 65.7 | 52.2 | 52.2 | Turnhout, Hulshout, Lier |
| Brussels | 2,393 | 66.1 | 46.4 | 53.3 | Uccle, Saint-Gilles, Schaerbeek |
| East Flanders | 3,839 | 65.8 | 50.5 | 53.9 | Aalst, Beveren-Kruibeke-Zwijndrecht, Ghent |
| Flemish Brabant | 2,523 | 65.3 | 49.1 | 51.1 | Zaventem, Beersel, Scherpenheuvel-Zichem |
| Hainaut | 1,244 | 64.1 | 52.0 | 43.2 | Charleroi, Tournai, Lessines |
| Limburg | 1,939 | 65.1 | 54.4 | 48.7 | Tongeren-Borgloon, Heusden-Zolder, Lommel |
| Liège | 1,621 | 63.8 | 51.8 | 41.7 | Seraing, Huy, Herstal |
| Luxembourg | 634 | 63.5 | 49.9 | 43.7 | Aubange |
| Namur | 836 | 63.5 | 50.4 | 42.8 | Namur, Gembloux |
| Walloon Brabant | 1,078 | 65.5 | 53.6 | 44.4 | Braine-l’Alleud, Waterloo, Wavre |
| West Flanders | 3,459 | 66.1 | 56.6 | 50.8 | Middelkerke, Nieuwpoort, Bruges |
Percentages are corrected for sector mix. The names are the highest places per province, and their intervals usually overlap with their neighbours'. Full counts per measure are in the CSV.
Why we correct for sector
A seaside town full of restaurants and a town full of accountants can't be compared without a correction. On buying or booking online, the gap between sectors is larger than between any two provinces.
| Sector | Sites | Score | Call button | Local data | Online | Fast |
|---|---|---|---|---|---|---|
| Hospitality | 8,126 | 68.7 | 51.5 | 24.4 | 62.2 | 78.9 |
| Retail | 6,955 | 64.2 | 49.7 | 15.2 | 50.3 | 76.8 |
| Business services | 2,767 | 59.9 | 54.9 | 17.1 | 16.9 | 75.8 |
| Health care | 2,429 | 66.6 | 55.9 | 16.3 | 59.5 | 77.2 |
| Personal care | 1,430 | 66.5 | 45.2 | 17.7 | 63.3 | 77.6 |
| Construction and trades | 1,330 | 60.1 | 51.3 | 18.3 | 21.9 | 74.5 |
| Cars and garages | 639 | 63.2 | 62.0 | 18.3 | 28.6 | 78.3 |
So every municipality's score uses the same national sector mix. A sector with fewer than 5 sites in a municipality is filled up with the national percentage. The CSV also has the raw score and raw place. Both lists run closely together, with a rank correlation of 0.9 on a scale up to 1. The sector table shows raw percentages.
All 107 places with their intervals
Read each row with its interval. The last column says whether the municipality's score sits clearly above or below the country. Brussels here means the City of Brussels, one of the nineteen municipalities of the region. Names follow common English usage, or the French name in Wallonia and Brussels.
| Place | Municipality | Province | Sites | Score | Interval of the place | Against the country |
|---|---|---|---|---|---|---|
| 1 | Middelkerke | West Flanders | 65 | 70.3 | 1 to 49 | above |
| 2 | Tongeren-Borgloon | Limburg | 67 | 69.9 | 1 to 44 | above |
| 3 | Seraing | Liège | 50 | 69.5 | 1 to 81 | no clear difference |
| 4 | Braine-l’Alleud | Walloon Brabant | 240 | 69.3 | 1 to 35 | above |
| 5 | Nieuwpoort | West Flanders | 76 | 69.2 | 1 to 56 | above |
| 6 | Waterloo | Walloon Brabant | 110 | 68.9 | 1 to 48 | above |
| 7 | Uccle | Brussels | 128 | 68.7 | 1 to 64 | no clear difference |
| 8 | Bruges | West Flanders | 456 | 68.4 | 4 to 36 | above |
| 9 | Zaventem | Flemish Brabant | 70 | 68.4 | 1 to 82 | no clear difference |
| 10 | Aubange | Luxembourg | 55 | 68.1 | 1 to 89 | no clear difference |
| 11 | Beersel | Flemish Brabant | 71 | 68.1 | 2 to 79 | no clear difference |
| 12 | Heusden-Zolder | Limburg | 95 | 67.7 | 4 to 69 | no clear difference |
| 13 | Turnhout | Antwerp | 52 | 67.6 | 2 to 79 | no clear difference |
| 14 | Aalst | East Flanders | 133 | 67.5 | 4 to 74 | no clear difference |
| 15 | Saint-Gilles | Brussels | 152 | 67.4 | 5 to 71 | no clear difference |
| 16 | Knokke-Heist | West Flanders | 131 | 67.3 | 5 to 76 | no clear difference |
| 17 | Scherpenheuvel-Zichem | Flemish Brabant | 75 | 67.2 | 3 to 87 | no clear difference |
| 18 | Huy | Liège | 57 | 67.2 | 3 to 88 | no clear difference |
| 19 | Schaerbeek | Brussels | 143 | 67.1 | 5 to 79 | no clear difference |
| 20 | Hulshout | Antwerp | 61 | 67.1 | 3 to 89 | no clear difference |
| 21 | Lier | Antwerp | 56 | 67.0 | 3 to 87 | no clear difference |
| 22 | Beveren-Kruibeke-Zwijndrecht | East Flanders | 68 | 67.0 | 2 to 85 | no clear difference |
| 23 | Ghent | East Flanders | 1,297 | 67.0 | 18 to 49 | above |
| 24 | Charleroi | Hainaut | 77 | 67.0 | 4 to 84 | no clear difference |
| 25 | Waregem | West Flanders | 196 | 67.0 | 6 to 74 | no clear difference |
| 26 | City of Brussels | Brussels | 948 | 66.9 | 17 to 54 | above |
| 27 | Laakdal | Antwerp | 74 | 66.9 | 2 to 97 | no clear difference |
| 28 | Woluwe-Saint-Pierre | Brussels | 67 | 66.9 | 3 to 91 | no clear difference |
| 29 | Deinze | East Flanders | 231 | 66.8 | 11 to 70 | no clear difference |
| 30 | Sint-Martens-Latem | East Flanders | 85 | 66.8 | 5 to 85 | no clear difference |
| 31 | Roeselare | West Flanders | 183 | 66.8 | 7 to 78 | no clear difference |
| 32 | Kontich | Antwerp | 66 | 66.7 | 2 to 97 | no clear difference |
| 33 | Wavre | Walloon Brabant | 119 | 66.6 | 5 to 85 | no clear difference |
| 34 | Westerlo | Antwerp | 67 | 66.6 | 4 to 88 | no clear difference |
| 35 | Lommel | Limburg | 94 | 66.6 | 5 to 92 | no clear difference |
| 36 | Izegem | West Flanders | 81 | 66.6 | 4 to 89 | no clear difference |
| 37 | Halle | Flemish Brabant | 240 | 66.6 | 11 to 77 | no clear difference |
| 38 | Ixelles | Brussels | 292 | 66.4 | 14 to 77 | no clear difference |
| 39 | Blankenberge | West Flanders | 115 | 66.3 | 5 to 92 | no clear difference |
| 40 | Nazareth-De Pinte | East Flanders | 172 | 66.3 | 3 to 97 | no clear difference |
| 41 | Hasselt | Limburg | 225 | 66.2 | 15 to 78 | no clear difference |
| 42 | Aartselaar | Antwerp | 110 | 66.1 | 8 to 90 | no clear difference |
| 43 | Haaltert | East Flanders | 58 | 66.1 | 5 to 99 | no clear difference |
| 44 | Wetteren | East Flanders | 73 | 66.0 | 3 to 100 | no clear difference |
| 45 | Merelbeke-Melle | East Flanders | 125 | 66.0 | 8 to 94 | no clear difference |
| 46 | Heist-op-den-Berg | Antwerp | 156 | 65.9 | 10 to 89 | no clear difference |
| 47 | Sint-Truiden | Limburg | 72 | 65.8 | 5 to 99 | no clear difference |
| 48 | Antwerp | Antwerp | 1,217 | 65.8 | 31 to 71 | no clear difference |
| 49 | Namur | Namur | 326 | 65.8 | 22 to 82 | no clear difference |
| 50 | Kruisem | East Flanders | 87 | 65.8 | 5 to 99 | no clear difference |
| 51 | Geel | Antwerp | 255 | 65.7 | 21 to 82 | no clear difference |
| 52 | Wingene | West Flanders | 65 | 65.7 | 5 to 101 | no clear difference |
| 53 | Gavere | East Flanders | 74 | 65.7 | 10 to 97 | no clear difference |
| 54 | Woluwe-Saint-Lambert | Brussels | 77 | 65.7 | 5 to 101 | no clear difference |
| 55 | Ostend | West Flanders | 139 | 65.6 | 13 to 92 | no clear difference |
| 56 | Sint-Niklaas | East Flanders | 140 | 65.6 | 15 to 92 | no clear difference |
| 57 | Genk | Limburg | 57 | 65.5 | 8 to 98 | no clear difference |
| 58 | Ottignies-Louvain-la-Neuve | Walloon Brabant | 114 | 65.5 | 11 to 96 | no clear difference |
| 59 | Mechelen | Antwerp | 248 | 65.5 | 23 to 85 | no clear difference |
| 60 | Schilde | Antwerp | 70 | 65.4 | 6 to 102 | no clear difference |
| 61 | Tournai | Hainaut | 106 | 65.3 | 8 to 101 | no clear difference |
| 62 | Herk-de-Stad | Limburg | 50 | 65.3 | 6 to 102 | no clear difference |
| 63 | Leuven | Flemish Brabant | 531 | 65.3 | 34 to 83 | no clear difference |
| 64 | Zedelgem | West Flanders | 61 | 65.2 | 10 to 99 | no clear difference |
| 65 | Dendermonde | East Flanders | 81 | 65.2 | 9 to 100 | no clear difference |
| 66 | Vilvoorde | Flemish Brabant | 53 | 65.2 | 3 to 105 | no clear difference |
| 67 | Essen | Antwerp | 84 | 65.2 | 12 to 100 | no clear difference |
| 68 | De Haan | West Flanders | 158 | 65.1 | 15 to 100 | no clear difference |
| 69 | Lievegem | East Flanders | 50 | 65.1 | 6 to 104 | no clear difference |
| 70 | Etterbeek | Brussels | 113 | 65.0 | 13 to 99 | no clear difference |
| 71 | Oudenaarde | East Flanders | 119 | 65.0 | 21 to 96 | no clear difference |
| 72 | Beringen | Limburg | 251 | 64.9 | 31 to 92 | no clear difference |
| 73 | Zele | East Flanders | 50 | 64.9 | 13 to 101 | no clear difference |
| 74 | Lessines | Hainaut | 52 | 64.9 | 4 to 106 | no clear difference |
| 75 | Herstal | Liège | 160 | 64.7 | 8 to 104 | no clear difference |
| 76 | Ypres | West Flanders | 85 | 64.7 | 17 to 101 | no clear difference |
| 77 | Aalter | East Flanders | 146 | 64.5 | 21 to 101 | no clear difference |
| 78 | Rotselaar | Flemish Brabant | 68 | 64.5 | 14 to 104 | no clear difference |
| 79 | Tielt | West Flanders | 153 | 64.5 | 27 to 98 | no clear difference |
| 80 | Wevelgem | West Flanders | 96 | 64.5 | 16 to 102 | no clear difference |
| 81 | Menen | West Flanders | 211 | 64.4 | 26 to 100 | no clear difference |
| 82 | Mol | Antwerp | 78 | 64.4 | 14 to 103 | no clear difference |
| 83 | Rumst | Antwerp | 52 | 64.3 | 2 to 107 | no clear difference |
| 84 | Liège | Liège | 359 | 64.3 | 42 to 95 | no clear difference |
| 85 | Lochristi | East Flanders | 72 | 64.3 | 18 to 103 | no clear difference |
| 86 | Grimbergen | Flemish Brabant | 56 | 64.1 | 10 to 105 | no clear difference |
| 87 | Jette | Brussels | 111 | 64.1 | 24 to 102 | no clear difference |
| 88 | Pelt | Limburg | 64 | 64.0 | 19 to 104 | no clear difference |
| 89 | Gembloux | Namur | 106 | 63.9 | 17 to 105 | no clear difference |
| 90 | Mons | Hainaut | 352 | 63.7 | 55 to 98 | no clear difference |
| 91 | Kasterlee | Antwerp | 56 | 63.7 | 23 to 105 | no clear difference |
| 92 | Tessenderlo-Ham | Limburg | 234 | 63.5 | 43 to 102 | no clear difference |
| 93 | Binche | Hainaut | 66 | 63.4 | 27 to 105 | no clear difference |
| 94 | Kortrijk | West Flanders | 207 | 63.4 | 48 to 102 | no clear difference |
| 95 | Herentals | Antwerp | 75 | 63.3 | 35 to 105 | no clear difference |
| 96 | Diest | Flemish Brabant | 187 | 63.2 | 48 to 104 | no clear difference |
| 97 | Nivelles | Walloon Brabant | 121 | 63.1 | 46 to 104 | no clear difference |
| 98 | Aarschot | Flemish Brabant | 173 | 62.6 | 52 to 105 | no clear difference |
| 99 | Lummen | Limburg | 84 | 62.5 | 24 to 107 | no clear difference |
| 100 | Forest | Brussels | 54 | 62.0 | 47 to 106 | no clear difference |
| 101 | Braine-le-Château | Walloon Brabant | 63 | 61.8 | 44 to 107 | no clear difference |
| 102 | Chaudfontaine | Liège | 80 | 61.7 | 54 to 107 | no clear difference |
| 103 | Ath | Hainaut | 58 | 61.6 | 44 to 107 | no clear difference |
| 104 | Eupen | Liège | 91 | 61.4 | 73 to 106 | below |
| 105 | Anderlecht | Brussels | 93 | 61.2 | 64 to 107 | below |
| 106 | Oupeye | Liège | 71 | 59.6 | 69 to 107 | below |
| 107 | Hoogstraten | Antwerp | 93 | 59.1 | 91 to 107 | below |
What a business owner can do with this
Your place says little about your own site. You can check that in half an hour on the same six points.
- Call button. Open your start page on a phone and tap your number. If nothing happens, link it with `tel:`. The mobile study has the other phone checks.
- Local data. Add name, address and opening hours as schema markup, with LocalBusiness or a subtype. Organization alone doesn't count as local data in this measurement. These local SEO tips cover the rest, and local SEO is how we work on it.
- Buying or booking. Let customers book if your business allows it, with a booking system or an online store if it pays off. For an accountant or a builder it often doesn't fit, and that is no failure.
- Speed. Run the speed test, then remove the biggest brake with this guide.
- AI crawlers. Use the AI crawler checker to see whether your robots.txt blocks anything you didn't mean to. If your site doesn't show up at all, start with this check.
- New site? Read what a website costs first. How we build websites is on that page.
What existed and how this fits
We found no list of Belgian municipalities by the websites of their businesses. The employers' group UNIZO has a Digital Scan a business fills in about itself. In the Netherlands, MKB-Nederland ran an election of the most small-business-friendly municipality every two years, on the local business climate, not on websites.
This study uses the same frame as our earlier measurements, so figures should line up. In the mobile study, 48.2 percent of 21,973 sites had no callable number; here 51.7 percent have one, after removing 22 company numbers linked as phone numbers. Local data sits at the same 19.1 percent. Mobile layout is higher here (97.2 against 96.5 percent) because we also count a viewport tag without quotes. In the AI crawler study, 3.1 percent of 23,676 sites blocked a crawler, the same figure as 96.9 percent open.
Speed means something else here than in the page speed study: there the largest element in a browser on 426 sites, here the full HTML on all sites. The Ghent study (200 sites) and the national small business study (586 sites) use different samples and checks, so don't compare those directly.
Which municipality we mean after the mergers
On 1 January 2025, 28 Flemish municipalities became 13. We use the boundaries of that day. Melle is part of Merelbeke-Melle, Borsbeek of Antwerp, Wachtebeke of Lochristi, Moerbeke of Lokeren and Kortessem of Hasselt. Old names get no number of their own. A business in Melle counts towards all of Merelbeke-Melle, and we have no figure for Melle alone.
What people ask about the list and their own place
What are the best cities in Belgium, ranked?
On local business websites no single best city can be named. Middelkerke is at place 1 with 70.3 points, but its interval runs to place 49, and 95 of 107 municipalities are not clearly above or below the country. Lists of the best cities to visit or live in measure other things.
Which Belgian city has the best business websites?
Among the twenty big cities, Bruges has the highest place: 8 of 107, with an interval from 4 to 36. Bruges, Ghent and City of Brussels have their whole score interval above the country.
Is this a list of Belgian cities ranked by population?
No. We rank on six measures of the websites of local businesses, for municipalities with at least 50 working sites in OpenStreetMap. Inhabitants don't count towards the score, and not every municipality gets a place.
Do small businesses need a website?
This study can't say, because it only covers businesses that have one. It does show what those sites offer: 51.7 percent of 21,973 have a tap-to-call button and 49.9 percent let you buy or book online.
Why is my municipality not on the list?
It has fewer than 50 working sites in our frame. 556 of the 565 municipalities have at least one site, and 107 reach the limit. Below 50, the interval on a place is too wide to mean anything.
How do I compare a Belgian city for my business?
Use single measures with their counts, not the final place. The CSV has each municipality's shares on all six measures. Gaps count here only when both sides have at least 100 sites and differ by at least 5 points.
