You can manually create CMS Pages in Magento from CMS -> Pages. Similarly, you can create Static Blocks from CMS -> Static Blocks.
This article will show how to create CMS pages and Static blocks programmatically from code.
Create CMS Page
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$cmsPage = array(
'title' => 'Test Page',
'identifier' => 'test-page',
'content' => 'Sample Test Page',
'is_active' => 1,
'sort_order' => 0,
'stores' => array(0),
'root_template' => 'three_columns'
);
Mage::getModel('cms/page')->setData($cmsPage)->save();
Create Static Block
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$staticBlock = array(
'title' => 'Test Block',
'identifier' => 'test-block',
'content' => 'Sample Test Block',
'is_active' => 1,
'stores' => array(0)
);
Mage::getModel('cms/block')->setData($staticBlock)->save();
Please note the following line of code above. This is necessary when you are creating cms pages and static blocks from frontend.:-
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
Hope this helps. Thanks.