I’m writing this post because I’ve been recently asked why a site is still penalized a long time after having submitted a disavow file, and I’ve thought maybe some public considerations are better than a private answer.
First of all, however, let me say I’m not the maximum authority regarding algorithmic link based penalties or filters (well, I’m not the maximum authority regarding anything, to be honest) and everything I’m going to say is just based on common sense.
But let’s back to the problem: most of the webmasters that have used the disavow tool report not having seen any visible effects after several weeks or months. Given they haven’t done any mistakes, their problem is the tool doesn’t work as an On/Off switch. When a file is uploaded it simply tells Google to ignore some links in the incoming link graph, by applying a “nofollow” tag to them. Then, each of those links still remains “followed” until Google doesn’t recrawl the page cointaining it. This is clearly stated in the Disavow Tool Documentation: