Я не думаю, что это возможно.
Если вы беспокоитесь, что люди активируют вашу функцию из пользовательского интерфейса, вы можете сделать ее скрытой.
<Feature Hidden="TRUE"></Feature>
Затем в своем пользовательском шаблоне сайта блога ONET.xml вы можете принудительно активировать свою функцию при создании сайта.
<Configurations>
<Configuration>
<WebFeatures>
<Feature ID="[Insert GUID of your feature]"/>
</WebFeatures>
</Configuration>
</Configurations>
Это не остановит активацию функции через STSADM или PowerShell. Если вы хотите зайти так далеко, возможно, вы могли бы добавить к своей функции приемник функций, чтобы предотвратить его активацию на сайтах, не относящихся к BLOG ... но действительно ли это необходимо?