Times change and it looks as though your site has been eventually suffered a Google Update.
I think your 20,000 impressions were gleaned from GWT -> Traffic -> Search Queries but far more meaningful statics are available at GWT -> Health -> Index Status.
Take a long look at the Help file at the bottom left, preferably use a print out and see over the past year how your data links have evolved.
GWT Help Excerpt
How to use this data
A steady increase in the number of crawled and indexed pages indicates that Google can regularly access your content, and that your site is being indexed.
If you see a sudden drop in the number of indexed pages, it may mean that your server is down or overloaded, or that Google is having trouble accessing your content.
A high number of duplicate pages could mean that your site has problems with canonicalization, duplicate content, or automatically generated pages, or that it has been hacked. In many cases, Google will send you a message when we detect problems with your site, so make sure to set your notification preferences.
Try comparing data:
To see the percentage of your site that’s accessible to Google, compare the number of crawled pages with the number of pages blocked by robots.txt.
To see how much of your site consists of pages perceived to contain unique content, compare the number of indexed pages with the number of pages marked Not Selected.
Recently I read an interesting article, that went through the stages of increasing the impressions of his friend's site. What struck me the most from this SEO Professional was the analysis, attention to detail, improvements but most of all the non-dramatic traffic increase over a six-month period!
There is no easy solution, it takes hard-work to maintain a high level of traffic because you are unable to influence other important external factors.