I mean, it's possible for locations at other levels because I can override the canCreate method of that specific container page type.
But if directly under Site Content. There is no way for me to restrict user creating pages there. If a user can create a certain page type, then he can create as many instances as he wants along with the Home page and the 404 page.
Is there anyway I can solve this?