Recently we got a lead to continue to maintain and develop a Drupal site. Normally I'm careful enough and make deep analysis what is "inside the box". After a quick lookup, we realized that the previous developer was not familiar with Drupal (I am asking myself WHY he even chose Drupal at first place), and we saw that there is a complete mess with modules and theme too.

Before we started to work on new tasks I asked for a permission to first "fix" the site and than to work on new things. I gave an estimation and than I tough that everything will be ok.

I was wrong...

ok, we fixed it just we needed twice a time what we estimated

So, keep in mind, do not accept to fix a bad Drupal site, because:

Reason #1

Probably your first day would be do turn off all unused and unnecessary modules

(in this particular case we turned of 156 modules!!!)

Reason #2

Probably you will need to create a full new theme. If the whole Drupal is made non "drupalish" you could be sure that the theme has even bigger problems.

Reason #3

You will spent more time to figure out how something works, and than you will realize that if you start from a scratch it would be better and of course much faster.

funny examples:

hard coded things in views

php code with sql query in body field to print out a fields...

inline css at most ridiculus places

not normally used modules

code change in core modules

Reason #4

Clients usually has some old habits. And after you finally put everything on right place the client insist that he want it on his ordinary way, so you will need to break good things.

Reason #5

After every solved problem, you think that that's it, now you fixed everything, a new problem will appear.

But, if you still accept these kind of job, be sure to double you estimation, but it is much better if you convince the client to let you to make a brand new Drupal site instead of fixing the old one.