{"id":2242,"date":"2026-10-27T07:30:00","date_gmt":"2026-10-27T07:30:00","guid":{"rendered":"https:\/\/damosenelblanco.com\/?p=2242"},"modified":"2026-09-03T22:12:13","modified_gmt":"2026-09-03T22:12:13","slug":"municipal-websites-7-things-a-town-hall-should-answer","status":"publish","type":"post","link":"https:\/\/damosenelblanco.com\/en\/municipal-websites-7-things-a-town-hall-should-answer\/","title":{"rendered":"Municipal websites: 7 things a town hall should be able to answer on its website (with data from 947 municipalities)"},"content":{"rendered":"<p>To build the <a href=\"https:\/\/damosenelblanco.com\/en\/proyecto\/quivoto-en\/\">quivoto<\/a> Observatory we spent months inside open data portals, council minutes and town hall websites of every size. You learn a lot from what a public administration publishes and how it publishes it. You learn even more from what is hard to find. This is our list of what a town hall website should be able to answer in thirty seconds, without a search box and from a phone, and what the data says about how far we are from that.<\/p>\n<blockquote class=\"deb-art__pull\">\n<p>A municipal website is not a shop window for the government. It is the office that stays open when the town hall is closed.<\/p>\n<\/blockquote>\n<h2>What the transparency data says<\/h2>\n<p>For each of the 947 municipalities of Catalonia, the Observatory records the share of mandatory transparency items its portal has published. The median is 85%: most town halls publish most of what the law asks of them. But only 1.6% reach 100%, and 0.9% do not even reach half. Municipalities above 50,000 inhabitants comply the most (86.4% of them are above 80%); those between 5,000 and 10,000 are, curiously, the ones that comply least.<\/p>\n<div class=\"deb-figwrap\"><figure class=\"deb-fig\" data-deb-chart><figcaption class=\"deb-fig__head\"><span class=\"deb-fig__title\">Municipal transparency by size \u00b7 councils publishing at least 80% of the mandatory items<\/span><\/figcaption>\t\t<div class=\"deb-fig__scroll\">\n\t\t\t<svg viewBox=\"0 0 760 378\" role=\"img\" aria-label=\"Horizontal bars: percentage of councils publishing at least 80% of the mandatory transparency items, across nine population bands. It ranges from 59.5% in municipalities of 5,001 to 10,000 inhabitants to 86.4% in those above 50,000; the overall figure is 68.5%.\">\n\t\t\t\t\t\t\t\t\t<line class=\"deb-fig__grid\" x1=\"150\" x2=\"150\" y1=\"22\" y2=\"328\"\/>\n\t\t\t\t\t<text class=\"deb-fig__axis\" x=\"150\" y=\"346\" text-anchor=\"middle\">0%<\/text>\n\t\t\t\t\t\t\t\t\t<line class=\"deb-fig__grid\" x1=\"285\" x2=\"285\" y1=\"22\" y2=\"328\"\/>\n\t\t\t\t\t<text class=\"deb-fig__axis\" x=\"285\" y=\"346\" text-anchor=\"middle\">25%<\/text>\n\t\t\t\t\t\t\t\t\t<line class=\"deb-fig__grid\" x1=\"420\" x2=\"420\" y1=\"22\" y2=\"328\"\/>\n\t\t\t\t\t<text class=\"deb-fig__axis\" x=\"420\" y=\"346\" text-anchor=\"middle\">50%<\/text>\n\t\t\t\t\t\t\t\t\t<line class=\"deb-fig__grid\" x1=\"555\" x2=\"555\" y1=\"22\" y2=\"328\"\/>\n\t\t\t\t\t<text class=\"deb-fig__axis\" x=\"555\" y=\"346\" text-anchor=\"middle\">75%<\/text>\n\t\t\t\t\t\t\t\t\t<line class=\"deb-fig__grid\" x1=\"690\" x2=\"690\" y1=\"22\" y2=\"328\"\/>\n\t\t\t\t\t<text class=\"deb-fig__axis\" x=\"690\" y=\"346\" text-anchor=\"middle\">100%<\/text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"43\" text-anchor=\"end\">up to 100 inhab.<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,32 L483.5,32 Q487.5,32 487.5,36 L487.5,42 Q487.5,46 483.5,46 L150,46 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"22\" width=\"760\" height=\"34\" data-tip=\"up to 100 inhab.|a~\u2265 80% published~62.5%|-~Median published~84%|-~Municipalities~32\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"77\" text-anchor=\"end\">101\u2013250<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,66 L482.4,66 Q486.4,66 486.4,70 L486.4,76 Q486.4,80 482.4,80 L150,80 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"56\" width=\"760\" height=\"34\" data-tip=\"101\u2013250|a~\u2265 80% published~62.3%|-~Median published~84%|-~Municipalities~151\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"111\" text-anchor=\"end\">251\u20131,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,100 L506.2,100 Q510.2,100 510.2,104 L510.2,110 Q510.2,114 506.2,114 L150,114 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"90\" width=\"760\" height=\"34\" data-tip=\"251\u20131,000|a~\u2265 80% published~66.7%|-~Median published~84%|-~Municipalities~294\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"145\" text-anchor=\"end\">1,001\u20132,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,134 L542.4,134 Q546.4,134 546.4,138 L546.4,144 Q546.4,148 542.4,148 L150,148 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"124\" width=\"760\" height=\"34\" data-tip=\"1,001\u20132,000|a~\u2265 80% published~73.4%|-~Median published~85%|-~Municipalities~109\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"179\" text-anchor=\"end\">2,001\u20135,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,168 L553.2,168 Q557.2,168 557.2,172 L557.2,178 Q557.2,182 553.2,182 L150,182 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"158\" width=\"760\" height=\"34\" data-tip=\"2,001\u20135,000|a~\u2265 80% published~75.4%|-~Median published~85%|-~Municipalities~138\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"213\" text-anchor=\"end\">5,001\u201310,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,202 L467.3,202 Q471.3,202 471.3,206 L471.3,212 Q471.3,216 467.3,216 L150,216 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__val\" x=\"481.3\" y=\"213\">59.5%<\/text>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"192\" width=\"760\" height=\"34\" data-tip=\"5,001\u201310,000|a~\u2265 80% published~59.5%|-~Median published~82.5%|-~Municipalities~84\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"247\" text-anchor=\"end\">10,001\u201320,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,236 L544.5,236 Q548.5,236 548.5,240 L548.5,246 Q548.5,250 544.5,250 L150,250 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"226\" width=\"760\" height=\"34\" data-tip=\"10,001\u201320,000|a~\u2265 80% published~73.8%|-~Median published~85%|-~Municipalities~61\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"281\" text-anchor=\"end\">20,001\u201350,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,270 L541.8,270 Q545.8,270 545.8,274 L545.8,280 Q545.8,284 541.8,284 L150,284 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"260\" width=\"760\" height=\"34\" data-tip=\"20,001\u201350,000|a~\u2265 80% published~73.3%|-~Median published~87%|-~Municipalities~45\"\/>\n\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__rlbl\" x=\"138\" y=\"315\" text-anchor=\"end\">over 50,000<\/text>\n\t\t\t\t\t<path class=\"deb-fig__bar deb-fig__bar--a\" d=\"M150,304 L612.6,304 Q616.6,304 616.6,308 L616.6,314 Q616.6,318 612.6,318 L150,318 Z\"\/>\n\t\t\t\t\t\t\t\t\t\t<text class=\"deb-fig__val\" x=\"626.6\" y=\"315\">86.4%<\/text>\n\t\t\t\t\t\t\t\t\t\t<rect class=\"deb-fig__hit\" x=\"0\" y=\"294\" width=\"760\" height=\"34\" data-tip=\"over 50,000|a~\u2265 80% published~86.4%|-~Median published~89%|-~Municipalities~22\"\/>\n\t\t\t\t\t\t\t\t<line class=\"deb-fig__mark\" x1=\"519.9\" x2=\"519.9\" y1=\"16\" y2=\"328\"\/>\n\t\t\t\t<text class=\"deb-fig__annot\" x=\"525.9\" y=\"14\">Overall: 68.5%<\/text>\n\t\t\t\t<text class=\"deb-fig__axis\" x=\"150\" y=\"372\">Percentage of councils in the band \u00b7 936 municipalities with data<\/text>\n\t\t\t<\/svg>\n\t\t<\/div>\n\t<details class=\"deb-fig__table\"><summary>See the data as a table<\/summary><div class=\"deb-fig__tscroll\"><table><thead><tr><th>Population band<\/th><th class=\"n\">Municipalities<\/th><th class=\"n\">Median published<\/th><th class=\"n\">\u2265 80%<\/th><th class=\"n\">At 100%<\/th><\/tr><\/thead><tbody><tr><td>up to 100 inhab.<\/td><td class=\"n\">32<\/td><td class=\"n\">84%<\/td><td class=\"n\">62.5%<\/td><td class=\"n\">0%<\/td><\/tr><tr><td>101\u2013250<\/td><td class=\"n\">151<\/td><td class=\"n\">84%<\/td><td class=\"n\">62.3%<\/td><td class=\"n\">0.7%<\/td><\/tr><tr><td>251\u20131,000<\/td><td class=\"n\">294<\/td><td class=\"n\">84%<\/td><td class=\"n\">66.7%<\/td><td class=\"n\">2.7%<\/td><\/tr><tr><td>1,001\u20132,000<\/td><td class=\"n\">109<\/td><td class=\"n\">85%<\/td><td class=\"n\">73.4%<\/td><td class=\"n\">0.9%<\/td><\/tr><tr><td>2,001\u20135,000<\/td><td class=\"n\">138<\/td><td class=\"n\">85%<\/td><td class=\"n\">75.4%<\/td><td class=\"n\">2.2%<\/td><\/tr><tr><td>5,001\u201310,000<\/td><td class=\"n\">84<\/td><td class=\"n\">82.5%<\/td><td class=\"n\">59.5%<\/td><td class=\"n\">1.2%<\/td><\/tr><tr><td>10,001\u201320,000<\/td><td class=\"n\">61<\/td><td class=\"n\">85%<\/td><td class=\"n\">73.8%<\/td><td class=\"n\">1.6%<\/td><\/tr><tr><td>20,001\u201350,000<\/td><td class=\"n\">45<\/td><td class=\"n\">87%<\/td><td class=\"n\">73.3%<\/td><td class=\"n\">0%<\/td><\/tr><tr><td>over 50,000<\/td><td class=\"n\">22<\/td><td class=\"n\">89%<\/td><td class=\"n\">86.4%<\/td><td class=\"n\">0%<\/td><\/tr><\/tbody><\/table><\/div><\/details><p class=\"deb-fig__source\">Source: quivoto Observatory (CC BY open data, 3 September 2026), 936 municipalities with data. Overall: a median of 85% of items published, 68.5% of councils above 80%, 1.6% at 100% and 0.9% below 50%.<\/p><\/figure><\/div>\n<p>Ticking the transparency list is the floor, not the ceiling. You can have 100% of the items published and still leave a resident unable to find what time the library opens. That is why the list below is not about what the law requires, but about what people expect.<\/p>\n<h2>The seven things<\/h2>\n<h3>1. Who governs, and with whom?<\/h3>\n<p>The mayor, the governing team, the distribution of portfolios and the full council with names, groups and contact details. It sounds basic, and on many websites it lives in a PDF from two terms ago. If quivoto can show it for 947 municipalities from public sources, the town hall itself can keep it up to date.<\/p>\n<h3>2. When is the next council meeting, and what was voted at the last one?<\/h3>\n<p>Date, agenda, a live stream if there is one, and readable minutes: text, not scans. Minutes are the raw material of local democracy and they are still published as photographs of paper. Minutes as text can be searched, quoted and linked; an image cannot.<\/p>\n<h3>3. How much do I pay, and what is it spent on?<\/h3>\n<p>This year\u2019s budget in a format a normal person understands, the property tax rate and the main fees, and last year\u2019s accounts. Four figures and a chart are worth more than the full file in PDF, which should also be there, but afterwards.<\/p>\n<h3>4. How do I complete a procedure without going in?<\/h3>\n<p>Every town hall has an e-office; whether it works from a phone, in plain language and without dying on a digital certificate is another story. The ten most common procedures should be on the home page, one button each, with the rest behind a search that understands \u201cregister as a resident\u201d.<\/p>\n<h3>5. What is happening this week?<\/h3>\n<p>Events, roadworks notices, water cuts, changes in waste collection, markets. It is the most visited section and the least cared for. A notice that arrives late is not a notice.<\/p>\n<h3>6. How do I talk to someone?<\/h3>\n<p>Phone, email, opening hours, address with a map, and an incident channel that confirms it received yours. A form that never replies is worse than no form.<\/p>\n<h3>7. Where is the data?<\/h3>\n<p>An open data section with the datasets the town hall already sends to other administrations, in CSV or JSON and with a clear licence. It costs nothing extra: the data already exists. We could build quivoto precisely because many administrations publish; the town halls that also do it on their own website gain something money cannot buy: trust.<\/p>\n<h2>What a municipal website is not<\/h2>\n<p>A quarterly newsletter in PDF. A carousel of ribbon-cutting photos. A home page that changes with every new administration and content that never changes. A news section that only covers the governing team. Three versions of the same website for three different terms, all still online. And above all, a website that only makes sense from inside the town hall.<\/p>\n<h2>What we have done with town halls<\/h2>\n<p>With Cornell\u00e0\u2019s town hall <a href=\"https:\/\/damosenelblanco.com\/en\/proyecto\/cornella-city-council-platform\/\">we built a platform<\/a> designed so that services can be found, not displayed. For Esplugues de Llobregat we run <a href=\"https:\/\/damosenelblanco.com\/en\/proyecto\/digital-coverage-service-for-events-and-social-networks-of-the-city-council-of-esplugues\/\">the digital coverage of its events<\/a>, which is the other half of communicating: being where things happen. And in Sant Just Desvern, where our studio is, we know what it is like to look for the recycling centre\u2019s opening hours on a Saturday. Everything we do for <a href=\"https:\/\/damosenelblanco.com\/en\/sectors\/public-administration\/\">public administrations<\/a> starts from the same question: what does the resident need, not the org chart?<\/p>\n<h2>How to specify it properly in a tender<\/h2>\n<p>If you are tendering a municipal website, four things belong in the specification and almost never appear. Accessibility: WCAG level AA has been mandatory for the Spanish public sector since Royal Decree 1112\/2018, and most municipal websites still fail it; require an audit before acceptance. Languages: Catalan and Spanish with the same care, not an automatic translator. Ownership: code, designs, domain and content belong to the town hall, with documentation so the next contractor can continue. And data: the website should publish in open formats what it already produces. If you need help with the specification, <a href=\"https:\/\/damosenelblanco.com\/en\/contact\/\">let\u2019s talk<\/a>; we have sat on both sides of the table.<\/p>\n<h2>Frequently asked questions<\/h2>\n<h3>Is a town hall website required to be accessible?<\/h3>\n<p>Yes. Royal Decree 1112\/2018 requires Spanish public administrations to meet WCAG 2.1 level AA, publish an accessibility statement and provide a channel to report problems.<\/p>\n<h3>What is the transparency portal and how is it different from the website?<\/h3>\n<p>It is the section where the town hall publishes the information required by the transparency law: organisation, contracts, budgets, salaries. It usually sits apart from the website, and that separation is part of the problem.<\/p>\n<h3>How much does a town hall website cost?<\/h3>\n<p>It depends on the size and on whether it includes an e-office, a catalogue of procedures and open data. Corporate website price ranges are a starting point; procedures and integrations are what set it apart from a business site.<\/p>\n<h3>How often should it be updated?<\/h3>\n<p>Events and notices daily. Council meetings and minutes every session. Budgets and accounts every year. If nobody has the task assigned by name, it will not get done.<\/p>\n<h3>Where does the data in this article come from?<\/h3>\n<p>From the quivoto Observatory, which brings together open data from the Catalan government, the AOC Consortium, Idescat, the Spanish Ministry of Finance and the Catalan Ombudsman for all 947 municipalities, with every figure linked to its source and published under CC BY.<\/p>\n<div class=\"deb-art__extra\">\n<p><b>Next:<\/b> <a href=\"https:\/\/damosenelblanco.com\/en\/sectors\/public-administration\/\">what we do for public administrations<\/a> \u00b7 <a href=\"https:\/\/damosenelblanco.com\/en\/proyecto\/quivoto-en\/\">the quivoto case<\/a> \u00b7 <a href=\"https:\/\/damosenelblanco.com\/en\/proyecto\/cornella-city-council-platform\/\">the Cornell\u00e0 platform<\/a> \u00b7 <a href=\"https:\/\/damosenelblanco.com\/en\/proyecto\/digital-coverage-service-for-events-and-social-networks-of-the-city-council-of-esplugues\/\">Esplugues digital coverage<\/a> \u00b7 <a href=\"https:\/\/damosenelblanco.com\/en\/quivoto-municipal-voting-advice-tool\/\">a voting compass should not tell you how to vote<\/a> \u00b7 <a href=\"https:\/\/damosenelblanco.com\/en\/contact\/\">let\u2019s talk<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>We spent months inside municipal portals to build the quivoto Observatory. This is what a town hall website should answer in thirty seconds, and what the transparency data of all 947 Catalan municipalities says.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[],"class_list":["post-2242","post","type-post","status-publish","format-standard","hentry","category-technology-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/posts\/2242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/comments?post=2242"}],"version-history":[{"count":1,"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/posts\/2242\/revisions"}],"predecessor-version":[{"id":2260,"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/posts\/2242\/revisions\/2260"}],"wp:attachment":[{"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/media?parent=2242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/categories?post=2242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/damosenelblanco.com\/en\/wp-json\/wp\/v2\/tags?post=2242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}