Frankly speaking, I didn't like the title I just wrote for this post. But our years of dependence on Google began 'paying off' in September as we lost our traffic. Starting 4-5 September last year, traffic to our forums dropped ~50%. I found out that starting 28 August our website was generating a TON of internal broken links, because of a JavaScript bug in WordPress Disqus plugin. Our site's got ~400k listed URLs and the 404 "Page Not Found" count rose to 99k over a period of 20 days (by the time we discovered the root cause of the problem). I found that Google Bot dropped crawl rate of our website by about 90% at the same time.
I fixed the problem immediately and all the error URLs that Google Bot found through Javascript bug, were 301 redirected to their correct URLs (which have the canonical tag, properly setup). Subsequently, GWT dropped the error count to zero by the end of December and in the first week of January, we found that Google Bot started crawling our website at increased frequency. Traffic improved by about 20%, but it's still faraway from where I should have been.
Google clearly says that 404s do not affect rankings or crawl rate; but we noticed the opposite. I've checked, re-checked & double-checked if there's anything 'out of place' on the site. I found nothing. Second, we never participated in anything blackhat.
The Question Is-
How long should I wait before Google might just restore our rankings? I see a ton of crappy websites outranking us for our original content. I'm assuming that it was the large number of internal broken links that caused our rankings to go down. Any opinions, views, feedback would be greatly appreciated.