Which CMS can handle multiple independent websites? – CMS and WordPress – SitePoint Forums

I work for a web design company that builds and hosts small business brochure type websites, with a typical 6 page website and no e-commerce.

We are currently running an in-house built CMS that was created 15 years ago and unfortunately it is now past its expiration date (it looks very dated and we would like to make several improvements). All the people who originally worked there have left the company, so we’re looking at replacing it with something standard.

I looked at several CMSs and although they looked good for a single site, I don’t think they would work so well in our situation. Our current CMS is a single installation (eg a set of CMS files and a database) that manages over 500 websites. Ideally the replacement should work similarly, for example we don’t want to have to install a separate set of CMS files and database for each site. We think it would be a nightmare to administer when it comes to updating the CMS, not to mention the waste of space due to repeating each CMS file across all sites.

Each client site operates under its own domain name and each client has a login which enables it to connect to an interface enabling it to update the content of its site (update of text and images only, cannot edit HTML and CSS and cannot add new pages). Once connected, the customer only sees the content of his website, he does not even know that other sites exist in the CMS. We have a super admin login that allows us to update any client’s website (update text and images, update HTML and CSS, add and remove entire pages, etc.) .

Client sites are initially built outside of the CMS as simple HTML pages that include all text and images (for example, you can open the pages in a browser and see the site as it is supposed to be). We then import the site into the CMS which reads the HTML pages and saves them to the database and copies the images to an image directory on the server (each client has its own image directory). We then use an editor in the CMS to browse and mark the pages for text and images that the client is allowed to edit. The client cannot modify anything other than the blocks that we have marked as modifiable. We also mark up common HTML code that repeats on site pages, e.g. footer, menu bar, etc., and the CMS extracts them. The end result are pages in the CMS that might look like this:



Blah blah


$$site-header$$
$$site-menu$$

$$page-title$$

$$page-intro$$ $$site-footer$$

As you can see, we have tags surrounded by two dollar signs. The tag content is kept elsewhere in the database and when the CMS builds the page for output to the browser, it gathers all the tag content and generates a complete HTML page. The content of the tag can range from a few words of text (eg the $$page-title$$ tag) to dozens of lines of HTML code (eg the $$site-footer$$ tag).

When the customer logs into the CMS, they see a list of pages on their site and can click on one to edit it. The full page is displayed as it would appear in a browser, and when they hover over the parts of the page they can edit, their little handles appear to show them that part is editable. They can then click on it to edit it. If it’s text, a text editor appears at the top of the page and they can edit the text. If it’s an image, they have the option to upload a new image which will replace the old one (the new image is resized to match the size of the current image so the layout doesn’t change ).

I would have thought our requirements would be the same as many other web design companies, but I’m having trouble finding a CMS that can handle multiple sites from a single CMS installation and treat each site as completely separate from all others (eg does not share users or domain names between sites).

The last requirement is that we can host it on our own server.

Harry L. Blanchard