worpdress urls canonicals

+1 voto
preguntado por Zeus (12,360 puntos) Ago 1, 2018
Como puedo reescribir las urls canonicals que pone wordpress o quizá las ponga yoast , no se si yoast lleva esta parte, ? alguien lo sabe ?

1 Respuesta

0 votos
respondido por Zeus (12,360 puntos) Ago 1, 2018
 
Mejor respuesta

Me respondo yo mismo, las urls canonical , puedes meter una function que las reescriba, algo así:

remove_action('wp_head', 'rel_canonical');
add_action('wp_head', 'my_rel_canonical');

function my_rel_canonical() {
    if (is_page('item') && isset($_GET['pubID'])) {
        global $post;
        $link = get_permalink($post->ID) . '?pubID=' . absint($_GET['pubID']);
        echo "<link rel='canonical' href='$link' />\n";
    } else {
        rel_canonical();
    }
}

Ahora bien, en el caso de que uses yoast, entonces puedes filtrar las urls que quieres reescrbir, lo cual puedes dejar el resto para yoast y solo reescribir las que tengan un patron.... algo así:
Este último es el que estoy utilizando yo. 



function wpseo_canonical_exclude( $canonical ) {

global $post;

if ( $post-&gt;ID == -1) {

$canonical = false;

}

return $canonical;

}

add_filter( 'wpseo_canonical', 'wpseo_canonical_exclude' );
Bienvenido a Preguntas y respuestas para programadores o profesionales de la informática. Si tienes cualquier duda aquí obtendrás la respuesta.
...