limiting ability of Site Owner to delete sites?

Is there any way to eliminate the ability of Site Owners to delete their sites?

I don't see anything obvious under site permissions, and then even beyond that how would this change become permanent for new sites that have not yet been created?  Owners by default have the ability to delete their sites.  How can this be removed for them for existing sites, and for the going forward, but still let them do everything else that a Site Owner needs to do.

As I last resort, perhaps there is a css hack to hide the "Delete this Site" link under Site Settings?

Thanks in advance.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

The normal way for this is using EventReceivers (in this case .
Every list have Events Syncron or Asyncron. With Sync events You can deny the operation.

You need to create and EventReceiver dll with visual studio, install to the gac and assign to lists.

find usefull video:

note: Event Receivers somtimes called event handlers.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
crmsharepointAuthor Commented:
Thanks - actually I'm looking to prevent them from deleting SITES, as opposed to lists.  They can delete the lists all they want as far as I'm concerned.

I found one blog that talked about renaming the page that "Delete this site" links to, but no discussion about actually limiting the delete site permission itself.
Ted BouskillSenior Software DeveloperCommented:
No.  A site owner has full permissions by design.  I'd recommend you change the role of users that should not delete sites to a lesser one.
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

crmsharepointAuthor Commented:
I thought about this.  However, these particular users are tasked with performing functions that typically site owners are tasked with doing:

adding/removing users
creating/deleting lists
modifying list schema
designing pages
creating sub-sites, etc.  

Is there a way to give them these capabilities without having the delete site capability?
As the name show "Site Owners" have rights to "Own" the site (including deletion).
But You can use Event Receivers to disable Site deletion by code.
Use should write code that uses SPWebEventReceiver.SiteDeleting method and need to assign this eventreceiver to sites (also you can do this with code).

Disabling list item, list or site deleting is similar. Check links above.
Ted BouskillSenior Software DeveloperCommented:
One choice you have that might work is create your own custom group and add the permissions you need.  This URL has a matrix of the features:

You will likely have to play with it a bit using a test account.
crmsharepointAuthor Commented:
I was also able to do this by renaming deleteweb.aspx in the 12 hive.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SharePoint

From novice to tech pro — start learning today.