Specify custom canonical URL in WordPress Post Specify custom canonical URL in WordPress Post wordpress wordpress

Specify custom canonical URL in WordPress Post


can you please used this code :

function rel_canonical() {    if ( !is_singular() )        return;    global $wp_the_query;    if ( !$id = $wp_the_query->get_queried_object_id() )        return;    $link = get_permalink( $id );    echo "<link rel='canonical' href='$link' />\n";}// A copy of rel_canonical but to allow an override on a custom tagfunction rel_canonical_with_custom_tag_override(){    if( !is_singular() )        return;    global $wp_the_query;    if( !$id = $wp_the_query->get_queried_object_id() )        return;    // check whether the current post has content in the "canonical_url" custom field    $canonical_url = get_post_meta( $id, 'canonical_url', true );    if( '' != $canonical_url )    {        // trailing slash functions copied from http://core.trac.wordpress.org/attachment/ticket/18660/canonical.6.patch        $link = user_trailingslashit( trailingslashit( $canonical_url ) );    }    else    {        $link = get_permalink( $id );    }    echo "<link rel='canonical' href='" . esc_url( $link ) . "' />\n";}// remove the default WordPress canonical URL functionif( function_exists( 'rel_canonical' ) ){    remove_action( 'wp_head', 'rel_canonical' );}// replace the default WordPress canonical URL function with your ownadd_action( 'wp_head', 'rel_canonical_with_custom_tag_override' );


We can also add this for meta keywords, meta description and meta title

// function to insert All-in-One SEO Pack keywordsfunction keyword_insert() {   global $post; // VERY important!   // Retrieve keyword meta data from the SEO Pack   $seokeywords = stripslashes(get_post_meta($post->ID, '_aioseop_keywords', true));   // Default keywords in case none are specified for the page   if (empty($seokeywords)) $seokeywords = "Homestar Runner, Strong Bad, The Cheat";   // Output the html code   $seokeyword_block = "<meta name=\"keywords\" content=\"".$seokeywords."\"/>\n";   echo $seokeyword_block;}// function to insert All-in-One SEO Pack descriptionfunction description_insert() {   global $post; // VERY important!   // Retrieve description meta data from the SEO Pack   $seodesc = stripslashes(get_post_meta($post->ID, '_aioseop_description', true));   // Default description in case none is specified for the page   if (empty($seodesc)) $seodesc = "Oh! I am Homestar, and This is A Website!";   // Output the html code   $seodesc_block = "<meta name=\"description\" content=\"".$seodesc."\"/>\n";   echo $seodesc_block;}function title_insert() {   global $post; // VERY important!   // Retrieve title meta data from the SEO Pack   $seotitle = stripslashes(get_post_meta($post->ID, '_aioseop_title', true));   // Default description in case none is specified for the page   if (empty($seotitle)) $seotitle = "";   // Output the html code   $seotitle_block = "<title>".$seotitle."</title><meta name=\"title\" content=\"".$seotitle."\"/>\n";   echo $seotitle_block;}

Please check this URL for reference