I just wanted to pre-empt a situation that is highly likely to occur at some point in the future. I am going to be hosting a small online business using shared hosting. Obviously, once the website (which uses Drupal) is finalized and I take it out of maintenance mode, I want to keep it usable 99.99%. However at some point of time, I'll probably wish to make some edit, add content or even make some reforms that will need some thorough testing. I know that there is a preview button but for some alterations this may not be enough, but I'd still like to avoid putting the site in maintenance. (Although for fixing bugs and critical updates I obviously would).

I'd appreciate your suggestions on how I could do this please. I assume it must be a common issue among online businesses?

  • You should look at creating another instance of the site for major development and after testing you can push the changes to the live site. For content addition I dont think this is needed. In case of contents you can always have to option to make it unpublished. And then when everything looks ok you can publish it. Jan 20, 2013 at 14:19
  • @MohammedShameem Sorry for the slow reply and thanks. I think I will do that. If I use to test modules etc., and they work how do you suggest that I update the main site (bearing in mind that I can't use Drush)? And what do you recommend I do about the database for the staging site? Just clone the database of the original site?
    – Andy
    Feb 2, 2013 at 17:32

1 Answer 1


The more or less standard solution is to maintain a so-called staging site (i.e. a mirror of your production site, but in a protected environment), and make all changes to the staging site before committing them to the production site.

The use of a staging site is not only limited to edits, but is also very useful when making more substantial changes, such as updating a module or adding a new module. The staging site let you run detailed tests to make sure that changes does not "break" anything before committing to the main site.

You can use drush to simplify syncing content and configuration between the staging and production site.

Edit: By "protected environment", I mean some computer that is not available to outsiders on the Internet. It is typically only available for use by yourself (and your team if you're not working alone, but manage a team of developers). The standard way of protecting it is to use a firewall and only allow connections from the IP-addresses belonging to you (and your team members)

  • Sorry for the very slow reply and thank you for your answer. A staging site does make sense and sounds simple too so I think that this is what I will do. Unfortunately because I only have shared hosting I can't get access to the SSH so I don't think I can use Drush (if I'm right) so what's the next best solution?
    – Andy
    Feb 2, 2013 at 17:22
  • Also, could you please clarify what you mean by a protected environment. A password protected directory? Thanks again
    – Andy
    Feb 2, 2013 at 17:34
  • Ah I understand, so the staging site isn't actually hosted online. That makes a lot more sense. If I create a local version of the staging site on Ubuntu or something then it would be near impossible to access, and I can use Drush because I'll have root access. Thanks very much!
    – Andy
    Feb 4, 2013 at 20:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.