It’s a while since I’ve done this, but from some fairly ancient notes that I have, I believe you need to create a new page draft. This is what my notes say:
$pagetype = PageType::getByHandle('sidebar');
$template = $pagetype->getPageTypeDefaultPageTemplateObject();
$parent = Page::getByID(1);
$th = $app->make('helper/text');
$newPage = $pagetype->createDraft($template, $u = false);
/* @var $newPage Page */
$newPage->setPageDraftTargetParentPageID( $parent->getCollectionID());
$params = array(
'cName' => $name,
'cDescription' => $name,
'cHandle' => $th->urlify($name)
);
$newPage->update($params);
$saver = $pagetype->getPageTypeSaverObject();
$saver->saveForm($newPage);
$publishDateTime = false;
$pagetype->publish($newPage, $publishDateTime);
Thereafter, you would do something like this to update the block content:
$newarea = new Area('Main');
$newblocks = $newarea->getAreaBlocksArray($newPage);
foreach ($newblocks as $newBlock){
if ($newBlock->getBlockTypeHandle() === 'my_block_handle') {
$clr = $newBlock->getController();
//Substitute whatever parameters the block needs:
$clr->save(['title'=>$name, 'overview'=>$name, 'content'=>$content);
}
}