Oddly enough, there is actually a right answer to this question regarding the area targeting, but most folks don't know about it. So let's take a look... The malware issue has been dealt with above, so I'll just look at the fun stuff.
The answer is one site and one page to target all towns - probably the contact page or an areas served page. (I use a combination of both).
Basically what you do is go with some schema markup. I don't know the industry we're talking about here - so "Local Business" may not be right, but it's the most general one so I'll use it. Certain industries have their own markup categories and name spaces.
I'm assuming that this is one physical location serving a large area. If it's actually got physical branches - you can use branchOf and make individual pages for each branch or break up the page into sections to cover each one. There are lots of different ways to describe the area you cover - and the most useful for you will be to list each of the 19 towns you cover and mark them up with areaServed as the town name.
The markup is great because you're describing a specific area that Google (and other similar services) can understand natively. if you're lucky enough to not have a lot of competition in an outlying town, this can get you to show up on map results even if your physical area is outside what it might normally show in a "something near town" search. If there is nearby competition, it's always going to show the three closest, so you're screwed anyway.
The markup sucks because there isn't a lot of concise and clear writing on the proper way to do it. I've been tinkering with it for about a year now and am still homing in on the best way to make it all chug along. I can say that I've never had a negative impact on anything by doing it, but some have worked great right from the start, and others I've had to tweak a bit and am still playing with. Typically, the amount of competition and the size/budget of the competitors web site play the biggest role. I'm not doing anything wrong, but I'm just not as "complete" or something.
Play with it, though...
There's a bit of a learning curve, but when done properly it eliminates the need for these individual pages targeted to an area because you've got individual areas marked up on a single page.
Some basic reading to get you started: https://www.schemaap...local-business/
I use the "Microdata" method since it makes for cleaner code. With JSON, you end up with blocks of redundant code. With microdata, you mark up your HTML. So your town list goes from:
<p>We proudly serve, Hartford, West Hartford, and Avon Connecticut.</p>
<p>We proudly serve, <span property="areaServed" typeof="City">
</span>, <span property="areaServed" typeof="City">
<span property="name">West Hartford</span>
</span>, and <span property="areaServed" typeof="City">
</span><span property="areaServed" typeof="State">
These two sets of code look identical on the page, but it sends a clear signal to Google - both for organic search and local search, as to what you're talking about.
This markup is in its infancy, but it IS the future - and using it already helps a lot when trying to target specific things. Basically this single line of code: <span property="areaServed" typeof="City"><span property="name">Hartford</span></span> serves the same purpose as (and eliminates the need for) creating a separate page for each town.
You can also mark regions (and Google will figure it out) with zip code lists, geographic shapes on a map, counties, states, countries, or whatever. I still like to use town names because it also gets our targeted word onto the page (and usually into the snippet the searcher sees in organic results) but I've also used combinations of several of these ways of defining a region.
Important note: The above code is incomplete - you need to wrap the section in other code/spans to define it as a part of the local business or whatever other type you're using and so on. I'm just giving that as an example of the relevant section we're talking about. Inside your overall encompassing spans, you'll want to include your phone numbers, addresses, and various other relevant items (hours of operation?) etc.
Super Pro Tip: If you have your local business stuff set up and properly associated with your web site, you can update your site with holiday hours and that sort of thing and your listing on Google and Bing will update on the next crawl without you having to go manually do each one. This requires that the site is well spidered and that you set it up far enough in advance for a crawl and update to happen (usually 10 days or so in my experience - though on sites we update a lot, I've seen it as quickly as 48 hours).
Hope that helps. If none of your competition is doing this (which is quite probable in small business circles) you'll get AMAZING results. If you're competing against some juggernauts who already employ it, it's one relatively simple way to level the playing field a bit.