Create a custom URL for blog archive

When you set up a static page as home page, you can set up also a page for the blog archive. If you do that, you don’t need to alter the WP_Query in the blog page template, you only need to work with The loop like in a archive template file. When the page for the blog archive is requested, WordPress will make the correct query for the blog archive.

To make the monthly/category archive use a different template file than the standard, you can use the template_include filter and the functions is_category() and is_date():

add_filter( 'template_include', 'inlcude_archive_page_template' );
function inlcude_archive_page_template( $template ) {

    if ( is_category() ||  is_date() ) {
         $new_template = locate_template( array( 'the-archive-page-template.php' ) );
         if ( '' != $new_template ) {
             return $new_template ;
         }
    }

    return $template;
}