update user information

You’re not closing the first if tag.

/* Update user information. */
if ( !empty( $_POST['url'] ) ){
    update_user_meta( $current_user->id, 'user_url', esc_url( $_POST['url'] ) );
} else{
    delete_user_meta( $current_user->id, 'user_url');
}

Also, you should use esc_url_raw on a raw url and then if you’re echoing into the html use esc_url. You also shouldn’t save esc_attr values. This is to be used when echoing as an html attribute value. Instead, try wp_filter_kses().