I run a multisite blog farms with all blogs having a consistent functionalities (theme and plugins and some basic content), but independent from each other in terms of user database. I would like to prevent user signup at one site being able to sign in through all other sites. Likewise, if a user is deleted from a site, s/he can’t access other network sites.
I’m actually registering user through a plugin, so I have total control over the registration process. Any input is appreciated 🙂
This is not exactly worpdress multisite suggestion, but a hack to run and manage multiple wordpress websites. I don’t know if it works for you :
STEP 1.
Move your wordpress installation to its own directory say common (Instructions can be found at http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory)
STEP 2.
Change the path of wp-content folder and move it outside the common folder and rename it say site1-content, *site2-conten*t etc. ( Instructions at http://codex.wordpress.org/Editing_wp-config.php#Moving_wp-content_folder)
STEP 3.
Move the must use plugin folder inside the common folder created in step 1
Create one database for each of your site and create a connection to corresponding site by placing wp-config.php inside the site1-content etc folder. You would have to point all your domains to root folder. Make some modifications in wp-load.php to connect to appropriate database depending upon requested URL. You may have to create a common database as well to save this connections. (Not a difficult job to do though)
Now your folder structure would look like :
index.php
2.site1-content
– site1-content>applications
– site1-content>plugins
– site1-content>uploads
– wp-config.php(with database connection to site1)
site2-content
etc etc…
Now you have multiple wordpress websites which are using
– common wp-admin folder, wp-includes folder – therefore making up gradation with word press easier and centralized
– common mu-plugins folder to ensure all the sites have this common required plugins up and running. Again with centralized up gradation possibility
– Of-course this are multiple word-press websites not word-press multisite, therefore independent user base.
– If you dont want to create multiple database you can use different table prefix for different clients (defined in wp-config.php) and make appropriate connection depending upon the requested url
Difference of above solution from multisite :
1. wp-content folder is different for each of the client Though you can make plugins and themes folder same by moving it in the common folder ( using wp-config.php)
2. You can network activate plugins by placing it in must-use plugin folder inside common folder.
This does solve your maintenance problem and up gradation path easy for all the website. Though you would not have access to awesome super admin tools available in wordpress multisite. But you do have different requirement as well.
The only reliable solution here is to break your network into multiple sites running as single instances.
If you had a multisite where you could only sign into the site you registered at, you would be unable to use any other site. So if I registered and logged into site A, then came across site B, I cant use site B. Logging in would fail as you described, so I’d open a new account, only to be told that my email is already in use.
The user, wildly confused as to why they can’t register, yet already have an account, but cannot use it, will likely either go away never to return and badmouth site B to others, or complain, making you look bad.
Instead you need to avoid the shared user problem entirely by separating the network into single instances/installs.
This question & answer has instructions on how to do this:
Convert a Multisite WordPress install into a Single site
I can’t give an answer myself but I just watched this on Multisite BuddyPress stuff. Only the part at 102:00 about multisite and some unofficial WP installations.