Build a Client Development site with WordPressMU
79Ever get tired of installing and setting up WordPress yet again so you can show a client a theme in development? Why yes, there is an easier way.
Enter WordPressMU, the multi-user, multi-blog version of WordPress which will soon be merged into the core. For those of you ready to jump-start some development, read on.
Installing WPMU is a slightly different process than regular WP. Basically, don’t edit the config file. Let the installer run. For the purposes of this tutorial, pick a subdirectory installation to give you client blogs in the format of yourdevsite.com/client1/.This way, we won’t have to tinker with the server to enable wildcard subdomains.
Now that we are up and running, the biggest difference you will notice is that WPMU has an additional backend menu: the Site Admin menu. Upon installation a site admin is created, as well as the main site blog. This user has access to everything on the system, whether they are listed as a user on that blog or not. They are a Super User. Get familiar with the site admin menus, as this is where you enable some sitewide features, add new blogs, edit some member blog details, and generally do some admin work.
There are two sub-menu items disabled: the theme editor and the plugin editor. This is mainly because on a live site, when used as a free blog host, this can be really dangerous. One wrong edit to a plugin and you bring down everyone’s blog. One oops to a theme and it affects everyone using that theme. Since users can’t edit themes, you may want to make extensive use of theme options pages, since they are set on a blog by blog basis.
Also in WPMU there is a multitude of code that gets stripped out by default. Think of how WordPress.com works; you’re essentially using the same software. Since you’re the one in charge and hosting it for a limited number of users, I’ll get into how we can workaround some issues.
The first thing you may want to do is pick a fairly sedate theme for the main blog and set a welcome page as the front page. It should only be seen by client or someone who just wanders by, so something brief is fine. You could also include a login widget in the sidebar, so clients have a way to login. I’m assuming here you’re setting up a complete new site, and not one where the main blog is in use.
Set your registration to closed. It is set this by default, so you’re good to go. This will keep out random people and sploggers trying to set up shop. A splog is the term for Spam Blog.
How Plugins Are Used in WPMU
There are two plugins folders under WPMU. One is the regular plugins folder, the other is called mu-plugins. This folder is for wpmu-specific plugins and any code placed in here gets executed automatically. It does not recognize plugins contained within subfolders; there must be a file in the main folder for it to run. Any plugin requiring activation will not work porperly if placed in this folder. Also, none of the mu-plugins will show up on a list in the admin area. If it adds a user menu, you will see it.
As for the regular plugins folder, this is shared across user blogs, so each blog has access to the same list of plugins. This is disabled by default but still viewable to Site Admins. The Plugins menu can be turend on under the Site Admin -> Options menu. Regular plugin settings will apply to that blog only. They do not apply sitewide unless the plugin was specifically built to work that way.
While there are quite a number of plugins that have issues with working under WPMU, some of these are being fixed, and other plugins work just fine. Enabling plugins on a blog-by-blog basis and having it specific to that blog works in most cases. The trouble usually comes up in sitewide activation, or getting global results from all blogs, because many regular WP plugins aren’t multi-blog aware. Your best bet is to try a few plugins that do the same thing, and ask around the forums or on twitter.
Plugins We Need for a Client Development Site
All of the plugins below go in the mu-plugins folder.
The More Privacy plugin will help you achieve privacy for your clients. It adds these privacy options to the two defaults:
- Blog Visibility
- I would like my blog to be visible to everyone, including search engines (like Google, Sphere, Technorati) and archivers and in public listings around this site.
- I would like to block search engines, but allow normal visitors
- I would like only logged in users to see my blog.
- I would like only logged in users who are registered subscribers to see my blog.
- I would like only administrators of this blog, and network to see my blog.
Only the first option will let Google crawl the blog.
New blog defaults – this little plugin adds some extra options to the Site Admin menu so every time you add a new blog, these defaults are already in place. The options included are everything on the blog’s options page, as well as the default theme. This can eliminate a couple of steps in setting up each new blog.
Unfiltered MU will allow everyone on the site to paste code like javascript or styling into posts or text widgets, as if they were an admin on a regular WordPress blog. It does not allow php code. You’ll still need to add allow php, if you really need it. You won’t see anything happen when you add it, but if you have tried saving a post in WPMU that has code, it will no longer get stripped out.
As we are working on a closed system, this is okay. All of the plugins I’ve mentioned above go in the mu-plugins folder, as we want these to run constantly.
Setting Up Each Client’s Blog
You can add new blogs to the system very easily. Visit Site Admin -> Blogs and at the bottom, simply fill out the blog name and admin email. I generally like to be the admin of each blog.
Add the client as a user to the site under Site Admin -> Users. Email them separately to let them know to expect the user/pass email. Now you have to add them as a user to their blog. You can do this in the backend of their blog (under the Users menu), or you can also add them under Site Admin -> Blogs, then hover over their blog until the edit menu appears underneath their name. Click to edit their blog details. On the right is a drop-down to add them to this blog. Pick their user level, depending. I find Editor is usually a good role. Click the button to save.
Working on Client Themes
When you add a theme to WPMU, it will show you a message that it needs to be activated sitewide. You may not wish to have all themes available in each blog’s Appearance menu, so here’s how to enable a theme for one blog.
Visit Site Admin -> Blogs and find the blog name in the list. Click to edit the details. On the right, you’ll see a list of disabled themes with checkboxes. Check the one you want to allow for just this blog, and save.
When working on themes, you may wish to just work on them offline, then upload the changes for the client to view. If you need to make minor changes, enabling the theme editor can be accomplished by editing /wp-admin/imcluded/mu.php file and comenting out at line 1216 as follows:
$pages = array( 'theme-editor.php', 'plugin-editor.php' ); foreach( $pages as $page ) { if ( strpos( $_SERVER['PHP_SELF'], $page ) ) { wp_die( __('Page disabled by the administrator') ); } } |
To comment this out, put a double-forwardslash at the beginning of the first line, like this: //
While this enables both the theme and plugin editors, they are still removed from the menu system. Save the following code as a php file and place it in the mu-plugins folder.
<?php function ra_add_theme_editor_menu() { global $submenu; $submenu['wpmu-admin.php'][] = array(__('Theme Editor'), 'edit_themes', 'theme-editor.php'); } add_action('_admin_menu','ra_add_theme_editor_menu', 99); ?> |
This adds the menu items back, but places them under the site Admin menu. If a client attempts to access the theme editor directly by typing it in, they will still be denied permission.
Now you have your very own exclusive client development site. Clients will be able to login to their development blog to check on progress, just as if it were a stand-alone blog. You’ll be able to move their theme after they approve it, and even Export any content used on the dev blog.
Enjoy this post? You should follow me on Twitter!
Thanks for tutorial !
Avesome Gravatar dude ;)
Funny avatar!
Thanks :))
You’re welcome. :) Let me know if you try it out.
I think it I try
Terrific use of MU. I love finding neat secondary uses for things like this. Thanks!
It can be a real timesaver. :)
Great article / tutorial Andrea.
I have been doing this for a while but there are a few plugins there that I will take a closer look at. Keep up the great work!
The plugins I mentioned are ones I use regularly – they’re great.
Great tutorial. How easily you explained the concepts. Thanks for sharing your knowledge.
Joomla Coder
I’m really enjoying WordPressMU and the service it provides. Nice info about the service.
[…] you a designer or developer building WordPress sites for your clients? Here’s a tip: use WordPress MU. Pro Blog Design has a step-by-step guide to tweaking a WordPress Multi-User installation to […]
[…] Design articles from which I learned new, better or alternative ways to do things Better CSS Navigation Styling Semi Web Safe Fonts to Spice Up Your Web Designs The Most 10 Common Mistakes Web Designers Make Social Bookmarking Link Codes for 33 of the Biggest Coding A HTML 5 Layout From Scratch Javascript For Designers: Getting on Your Feet Fast Front End Design Conference Videos 11 Ways to Get Inspired – See What Best Designers Do Plugins That Make WordPress Into A Company Intranet Letterpress: Where, How and Inspiration! 20 Creative Hand Drawn Websites Designs Colors on The Web: Color Theory for Designers 10 Common Design Flaws that Frustrate Your Website’s Users Top 10 WordPress Codes Every Designer Should Know 50 Really High Quality Photoshop Navigation Menu Tutorials 40+ Awesome Tutorials and Techniques For WordPress Theme Developers 70 Must-Have CSS3 and HTML5 Tutorials and Resources Mastering CSS, Part 2: Advanced Techniques and Tools Designing and Developing for the Target Audience 8 Web Usability and Best Practices for Beginners 65 Must-Know CSS Strategies and Tutorials An introduction to the new tags in HTML 5 Prevent password reset hacking on your WordPress blog Nifty Navigation Tricks Using CSS 10 Simple Steps to Better Photoshop Performance 10 Important Traits of a Great Blog Design 30 PHP Best Practices for Beginners Identify The Target Audience Tutorials, Resources and Tips for Joomla! Template Development 6 Ways To Improve Your Web Typography The Art of User-Centric Web Design Practical solutions to hyphenate text on web pages How to Effectively Organize your Photoshop Layers Taming Advanced CSS Selectors 7 WordPress Customizations Sexy HTML List Tricks Create a Letterpress Effect with CSS Text-Shadow 27 Useful Logo Design Tutorials and Tips 50+ Cheat Sheets for Building WordPress Themes and Plugins 21 Really Useful & Handy PHP Code Snippets How to implement a mobile version of your blog in three simple steps Mastering Photoshop With Paths 10 Free sources to create mobile version of your blog or website Corporate Blog Design: Trends And Examples Create an Elegant Logo in 7 Easy Steps Essential Tips for Designing an Effective Homepage 6 Essential tools to check your website Usability Akismet 101 Guide for All WordPress Users Build a Featured Posts Section for WordPress Category Hacks for WordPress Theme Designers The Top 10 Typography Rules All in One Place 25+ Great HTML 5 Resources to Get You Started Websites like Wine: CSS Techniques to make a site Better With Age 20 Essential WordPress Caching And Performance Plugins 50 Useful New jQuery Techniques and Tutorials 60 Tutorials Creating High Quality Design Icons 9 WordPress Hacks to Encourage User Interactivity 7 examples of innovative effects and techniques in webdesign 10 Awesome Things To Do With WordPress’ Custom Fields Essential WordPress Plugin: Add To Facebook Preventing Widows in Post Titles @font-face and 15 Free Fonts You Can Use Today Most useful and must read articles on HTML 5 Identify The Target Audience Goals 20 Vital Techniques & Best Practices For Effective Web Design Build a Client Development site with WordPressMU […]
[…] recently wrote a guest post for the excellent Pro Blog Design, called Build a Client Development Site with WordPress MU. The blog’s audience is mainly designers who work with WordPress, so the tutorial is written […]
[…] recently wrote a guest post for the excellent Pro Blog Design, called Build a Client Development Site with WordPress MU. The blog’s audience is mainly designers who work with WordPress, so the tutorial is written […]
[…] I recently wrote a guest post for the excellent Pro Blog Design, called Build a Client Development Site with WordPress MU. The blog’s audience is mainly designers who work with WordPress, so the tutorial is written […]
This is interesting and could save lots of time! Thanks!
Build a Client Development site with WordPressMU…
Ever get tired of installing and setting up WordPress yet again so you can show a client a theme in development? Why yes, there is an easier way. Enter WordPressMU, the multi-user, multi-blog version of WordPress which will soon be merged into the core…
thanks for the tutorial…very helpfull for me…
[…] Build a Client Development Site with WordPress MU […]
Awesome tutorial! Look like wpmu worth a try! =D Thanks!
Great tutorial. Thanks for breaking MU down for us. This will help out a bunch!
Glad you all liked it – if you do give it a try and have any issues, just let me know.
[…] Build a Client Development site with WordPressMU […]
Hi Andrea,
Thanks for this.
This looks like it can come in handy for me because I’m tinkering with the idea of setting up minisites to either keep myself or flip.
You conclude with ” ….. , and even Export any content used on the dev blog.”
Is it possible to export content in a format suited to regular WP blogs ?
I’m asking because each WPMU blog adds 8 more tables to the database.
WPMU has the same Export menu in the backend as a regular WP blog. You can use that to Import in to a stand-alone WP install.
The extra tables MU adds for each blog are almost identical to the tables on a single WP.
Hi Andrea,
Thanks for coming back on this.
I realise what you are saying, but I had hoped that you knew of a better way.
Because I would still have to change the table name prefixes in the backup files with scan and replace in an editor. And I forsee problems with the options file. Messy.
But there seems to be no other way.
I’ll probably go for a SQL copy session between to databases.
P.S.
“sew warm quilts” ?
Probably with a huge WPMU logo. :)
Great post, thank you! I talked to you on twitter about this, but just to clarify: couldn’t this same setup be used for live client sites? With a dedicated server and a domain-mapping/multi-site plugin this seems like a great solution, would make administration and updates to WordPress much easier. Or is there something I’m missing that might make it unadvisable?
The same setup can and has been used to do this for live sites. Totally do-able, and yes it scales. :D
I’m still looking for the best way to transfer m Wp blog to WordPress mU blog. Still no luck with it :(
In simple terms, you have to Export your WP blog, install WPMU then Import.
You also have to move over al your themes & plugins, and set them all up.
Glad to find a blog talking about WPMU with some practical advice. In the past I’ve not found much insight for the business owner (with technical background) to determine which environment makes sense when hosting a large number of blogs.
[…] Build a Client Development site with WordPressMU | Pro Blog Design (tags: wpmu) […]
This is a very helpful post. I especially like the plugin suggestions. Thank you! WPMU is great for development, but it’s even better if you’re hosting your client’s site as well.
Is it possible to add a bunch of plug ins to mu and then one click install new blogs and have all of your plugs ins install to the new blog?
The plugins are all in one folder that is shared between users. So, once you install a plugin, it’s available to all members blogs instantly, as well as for any new blogs.
Thanks.
I will implement your suggestion.
Great work here
Very insightful post, I am wondering however if this will work for sites using WordPress as a CMS rather than just themes. I want to use WordPress MU for developing client sites and then exporting them to the client’s server and keeping the original as sort of an archive.
Yep, that’ll work to. You may have to export a bit extra out of the db (depending on if you want more than the content) but it’s all the same principle.
Just what I was looking for! Thanks!
Brilliant Tutorial! Will save a lot of time. Thank you
[…] 6. Design a Client Development Site with WordPress MU […]
[…] 6. Design a Client Development Site with WordPress MU […]
[…] 3. Design a Client Development Site with WordPress MU […]
Thank you Andrea! I guess I can consider myself a fan of your writing. I appreciate it!
[…] 6. Design a Client Development Site with WordPress MU […]
Brilliant article – only just found this site – and it’s full of very useful and practical stuff.
Using MU for client sites is a simple but clever idea – wish I’d thought of it a while ago.. :-)
Thanks,
Paul.
wow thanks a lot for the useful information. I will definitely bookmark your blog.
great and interesting post. thanks for this.
Really nice post. I’d love to have more content on worpress MU about setting up and managing paid business listings for our teeth whitening products.
Ooops. Sorry for the double post. Really nice post. I’d love to have more content on worpress MU about setting up and managing paid business listings for our teeth whitening products.
it’s great andrea… I just using WP and think to try it too…
Ah finally something useful for people that own tons of micro blogs… I was setting up local servers until now and taking screenshots and stuff to work a theme in development and the whole process sucked :)
This is useful for me and to make web development more easier. Thanks for the tips and advice on how to effectively use this platform.
Haven’t tried WP Mu but this gives me a reason to check it out. Thanks for the useful info!
Hi – I was wondering – when importing new content from a live site to a dev site, how do you ensure other sites don’t get pinged by the dev site’s content.
To clarify – I’m redeveloping a client’s site, which is live. She’s linking to tons of content on her posts, and every time she’s linking to something, the other blogs get notified. How do I make dev site totally invisible and prevent my dev site from pinging other sites?
Turn off the pings & trackbacks in the Settings menu.
@andrea… yes, that should you do.. :)
Hi Andrea,
As a client development site I have used the absolute privacy plugin which is not set to be site wide. The plugin works well and prevents “Subscribers” being able to view any dashboard etc.
However, one logged in how do I prevent clients/subscribers from guessing other client blogs and viewing those?
e.g client.devsite.com/volvo
Once logged in they could guess another site such as client.devsite.com/ford
Thanks for any help
development can often be frustrating, especially with plugins at times
Hi, I’m not too familiar with WP but will caching be a problem with MU?
Like the others have said. While it is quite expensive, it is one of the best frameworks!!!!!
A big thank you from me for this post. Really helpful! Thanks for the tips
Awesome article. Oh and you Gravatar kicks ass… literally
Hi, the post is been really helpful for me, a very big thank you from me, for sharing the information.
WordPressmu is very useful but for some, this is not effective because it does not really work for them. They are just spending a lot of time.
Where would we be without WordPress. All of my sites are wordpress built. Most effective and efficient CMS out there.
Hi – I am using 3.0 MU updated from 2.9 and previous.
I have thousands of blogs/sites with no users. I have used power tools and other programs to try to delete them, but it does not work.
The blog/sites have Never for posts and users blank. It is very hard to delete through admin 15 sites at a time.
Do you know of a tool to help and/or a tool to not let this happen again.
Thanks,
Giorgia
This article is truly relevant to my study at this moment, and I am really happy I discovered your website.
WordPressMU is an awesome service, I am building blog community and the users love it.
Great tutorial. Keep up the great work!
This is a great tutorial. WordPress is good for a lot of things, whether you’re making a blog or creating a website. Sometimes is can get a bit tiring though, setting up WordPress again and again just for showing clients a theme in progress so this was must needed, thanks for sharing this with us.
[…] 3. Design a Client Development Site with WordPress MU […]
This has some awesome info on WordPressMU Posts like this are very helpful so users don’t have to spend hours learning on their one. I really appreciate the the time you put into conveying this info. Thanks!
There’s so many great plugins these days, this is on the top of my list
very good tutorial… I thank you for posting such awesome information on WordPressMU.
[…] Buils a Client Development Site with WordPress MU […]
WordPressMU is an awesome service, I am building blog community and the users love it.