WordPress 禁用或禁止收录媒体页

WordPress 禁用或禁止收录媒体页,有的时候这个是很有必要的,wordpress禁用或禁止收录媒体页能够减少资源占用

默认情况下,WordPress 会为媒体库中的每一个媒体创建单独的网页,包括图片、视频和 PDF 文档等。我相信很多同学甚至都不知道这种页面的存在,你可以在媒体库中随便找一个媒体,鼠标悬浮上去,点击「查看」链接就能进入媒体页了。

这个功能对于大多数人来说的是无用的,除非你是摄影作品展示之类的网站,否则访客只看插入到文章中的图片或视频就行。

而且,大部分主题都没有针对媒体页做出优化,看起来也是巨丑无比,非常不协调,这种无用的垃圾页面我们还是直接想办法干掉好了。

方法一、使用插件

最简单也是我推荐的方法就是直接安装一个插件,它叫做 Attachment Pages Redirect,安装并启用之后,如果再访问媒体页,会被强制跳转到媒体所属的文章页,如果媒体没有归于任何文章,就会跳到首页。

这种方法弄起来非常快,只需要你在网站后台搜索插件,一键安装,再轻轻按下启用按钮就好,而且插件本身只有一个小函数,对于服务器的性能消耗几乎可以忽略不计。

方法二、利用现有插件

如果你安装了热门的 Yoast SEO 插件,可以直接使用插件提供的功能来禁用媒体页面。在后台管理菜单进入「SEO」目录下的「Advanced」页面,点击「Permalinks」选项卡,找到「Redirect attachment URLs to parent post URL.」选项,设置为开启的「Redirect」状态即可。

效果和上边说的 Attachment Pages Redirect 插件一样,都是直接跳转到媒体所属的文章页。

方法三、修改主题文件

找到主题根目录下的 attachment.php 文件(如果没有就创建一个),在最开头加入下列代码:

<?php
/**
 * 跳转到媒体所属的文章页
 *
 * @link https://www.endskin.com/disable-attachment-pages/
 */
function Bing_disable_attachment_pages() {
    if ( ( $post_parent = wp_get_post_parent_id() ) > 0 )
        $redirect = get_permalink( $post_parent );
    else
        $redirect = home_url();

    wp_redirect( $redirect );
    die;
}
Bing_disable_attachment_pages();
?>

如果你担心主题升级导致文件被覆盖的话,可以直接使用方法一里介绍的,效果一模一样的插件,或者在子主题里添加 attachment.php 文件,只放入这段代码即可。

方法四、禁止收录

如果你不想禁止媒体页的访问,但是想阻止搜索引擎收录它的话,可以把下边的代码加入到主题的 functions.php 里:

/**
 * 禁止搜索引擎收录媒体页
 *
 * @link https://www.endskin.com/disable-attachment-pages/
 */
function Bing_disable_robots_index_attachment_pages() {
    if ( is_attachment() )
        wp_no_robots();
}
add_action( 'wp_head', 'Bing_disable_robots_index_attachment_pages' );

这样做的话,媒体页的 标签里会输出一条 标签指令,告诉搜索引擎不收录这个页面。

未经允许不得转载:哈勃私语 » WordPress 禁用或禁止收录媒体页

本文共1443个字 创建时间:2017年7月23日17:17   

分享到:更多 ()