为什么不对所有页面使用规范的link元素?

时间:2014-10-12 作者:henrywright

没有为所有页面设置规范链接元素。例如,如果我查看帖子的源代码,我可以在<head>:

<link rel=\'canonical\' href=\'http://example.com/post-name/\' />
然而,如果我查看作者存档页的源代码,我看不到link元素。

为什么所有页面都不使用规范链接元素?

Reference

下面是WordPress用来输出规范链接元素的函数。

/**
 * Output rel=canonical for singular queries.
 *
 * @since 2.9.0
*/
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 );

    if ( $page = get_query_var(\'cpage\') )
        $link = get_comments_pagenum_link( $page );

    echo "<link rel=\'canonical\' href=\'$link\' />\\n";
}

2 个回复
SO网友:Rarst

并不是每个页面都能通过规范链接神奇地变得更好。规范链接的技术目的是在不同的URL上消除相同或几乎相同内容的重复。

这对档案馆没有意义,因为它们是:

内容的收集移动目标,在新帖子发布后,现在头版或存档中的内容将不会出现。虽然为一些存档实现添加规范是有意义的,但它不适合典型的WordPress存档。

SO网友:IXN

因为permalinks指的是单数帖子,而不是分类法或归档类型的页面。也可以为它们创建规范链接,但代码不同。

结束