规范链接是否无法正常工作?

问题描述 投票:0回答:1

我已向我网站的所有页面添加了规范链接。我们以主页为例。 假设在那里输入了

https://sample.com
。这里我使用了yoast wordpress插件。

当您进入网站首页查看页面源码时,如下所示。 尽管如此,当在 Google 搜索控制台中运行 PageSpeed Insights 测试时,SEO 部分中会显示以下错误。 文档没有有效的 rel=canonical 不是绝对 URL (//sample.com/) 如下图所示。

link_template.php
文件具有以下代码。

/**
 * Returns the canonical URL for a post.
 *
 * When the post is the same as the current requested page the function will handle the
 * pagination arguments too.
 *
 * @since 4.6.0
 *
 * @param int|WP_Post $post Optional. Post ID or object. Default is global `$post`.
 * @return string|false The canonical URL. False if the post does not exist
 *                      or has not been published yet.
 */
function wp_get_canonical_url( $post = null ) {
    $post = get_post( $post );

    if ( ! $post ) {
        return false;
    }

    if ( 'publish' !== $post->post_status ) {
        return false;
    }

    $canonical_url = get_permalink( $post );

    // If a canonical is being generated for the current page, make sure it has pagination if needed.
    if ( get_queried_object_id() === $post->ID ) {
        $page = get_query_var( 'page', 0 );
        if ( $page >= 2 ) {
            if ( ! get_option( 'permalink_structure' ) ) {
                $canonical_url = add_query_arg( 'page', $page, $canonical_url );
            } else {
                $canonical_url = trailingslashit( $canonical_url ) . user_trailingslashit( $page, 'single_paged' );
            }
        }

        $cpage = get_query_var( 'cpage', 0 );
        if ( $cpage ) {
            $canonical_url = get_comments_pagenum_link( $cpage );
        }
    }

    /**
     * Filters the canonical URL for a post.
     *
     * @since 4.6.0
     *
     * @param string  $canonical_url The post's canonical URL.
     * @param WP_Post $post          Post object.
     */
    return apply_filters( 'get_canonical_url', $canonical_url, $post );
}

/**
 * Outputs rel=canonical for singular queries.
 *
 * @since 2.9.0
 * @since 4.6.0 Adjusted to use `wp_get_canonical_url()`.
 */
function rel_canonical() {
    if ( ! is_singular() ) {
        return;
    }

    $id = get_queried_object_id();

    if ( 0 === $id ) {
        return;
    }

    $url = wp_get_canonical_url( $id );

    if ( ! empty( $url ) ) {
        echo '<link rel="canonical" href="' . esc_url( $url ) . '" />' . "\n";
    }
}

规范链接显示成这样是因为生成错误吗?

php wordpress canonical-link yoast
1个回答
0
投票

错误就在这里。 cloudflare 中的

Automatic HTTPS Rewrites
SSL/TLS>Edge Certificates
已关闭。

© www.soinside.com 2019 - 2024. All rights reserved.