I have converted static footer into a block and content area.
now I want to set this block as default for all pre-existing pages.
don't want content authors to set this footer block manually for each page
You can create a schedule job to traverse the content tree and set the value on each page.
or you can refer this.
If this footer is setup once and used across all pages, you can take the approach used in the Alloy site which is to create a custom view model for all of your pages which contains the relevant references to the footer contents. You can then call the construction of that view model in your controllers.
In this thread there is a simple solution suggested by Aniket
That will be helpful.