WordPress如何禁用附件(图片)页面

一、什么是WordPress的附件页面?

wordpress站点对于附件(图片)是有默认页面的,具体查看方法是通过侧边栏的“媒体库”。

WordPress如何禁用附件(图片)页面

点开每一张图片,右下角就有查看附件页面,点开来就是附件对应的页面。

WordPress如何禁用附件(图片)页面

二、WordPress附件页面对网站有什么影响?

程序的初衷是好的,使得用户可以点开每一个附件的专属页面进行查看,可是这却给SEO带来了很大的困扰。

因为附件的专属页面被蜘蛛爬取后,仍然被当做一个新的页面来看待,可是这个页面却没有任何内容,大量的此类链接无疑会使得蜘蛛对网站的评分下降。

另外一个角度就是,一旦此类链接被搜索引擎抓取并展示,用户点进这些页面是是无法获得任何信息的,会立即关掉这个页面,这无疑会影响到我们网站的综合数据。

所以从搜索引擎和用户体验两个角度,我们都应该屏蔽掉这个附件页面。

三、WordPress怎样禁用附件(图片)页面?

与其说是禁用,我更愿意说成是改造,我们分两个情况来讨论当用户访问了附件页面,我们展示什么样的内容。

1、附件存在绑定的文章页,那么将用户重定向至所在的文章页面。

2、附件不存在绑定的文章页,那么将用户重定向至首页。

这里我们使用wordpress函数 is_attachment()来实现,下面是代码。

//禁用 WordPress 附件页面
function wp_redirect_attachment_to_post() {
    // 如果是附件页面
    if ( is_attachment() ) {
        global $post;
        if( empty( $post ) ) $post = get_queried_object();
        // 如果附件有所在的页面
        if ($post->post_parent) {
            $link = get_permalink( $post->post_parent );
            wp_redirect( $link, '301' );
            exit();
        }
        // 如果没有页面
        else {
            wp_redirect( home_url(), '301' );
            exit();
        }
    }
}
add_action( 'template_redirect', 'wp_redirect_attachment_to_post' );