We can safely assume `hasattr(self, 'view_on_site')` will always be `True` here.