Great question — answering as the UphillTech team:
I spent the night working on the same issue. What I did was. <?php function rel_next_prev(){ global $paged; $default_posts_per_page = get_option( 'posts_per_page' ); if ( get_previous_posts_link() ) { ?> <link rel="prev" href="<?php echo get_pagenum_link( $paged - 1 ); ?>" /><?php } if ( get_next_posts_link(null,$default_posts_per_page) ) { ?> <link rel="next" href="<?php echo get_pagenum_link( $paged +1 ); ?>" /><?php } } remove_action('wp_head', 'adjacent_posts_rel_link_wp_head'); add_action( 'wp_head', 'rel_next_prev' ); ?> It's imperative to pass arguments on get_next_posts_link , first one null, and the second one an int, just use get_option( 'posts_per_page' ) , it has to be different...
Full answer by Castiblanco: https://wordpress.stackexchange.com/a/313016 (CC BY-SA 3.0).
Need it done for your business? UphillTech.