在WordPress Post中指定自定义规范URL


Specify custom canonical URL in WordPress Post

我们运营着1000多个网站,其中大多数是为特定的体育赛事而制作的。目前,我们让我们的作家专门为独特的内容写信给他们所有人。

但是,我们有2个主要网站

,涵盖其垂直领域的所有事件;我们希望开始从这些主要网站将内容联合到迷你网站。

为了在谷歌眼中保持最佳实践,我们必须通过rel=canonical标签指定文章的原始来源 - 但是我们当前的插件AIOSEO(多合一SEO)不支持在帖子或页面的基础上指定规范标签。

有没有办法创建这样的函数?

你能用这个代码吗:

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 tag
function 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 function
if( function_exists( 'rel_canonical' ) )
{
    remove_action( 'wp_head', 'rel_canonical' );
}
// replace the default WordPress canonical URL function with your own
add_action( 'wp_head', 'rel_canonical_with_custom_tag_override' );

我们也可以为元关键字、元描述和元标题添加这个

// function to insert All-in-One SEO Pack keywords
function 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 description
function 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;
}

请查看此网址以供参考