如何禁用WordPress图片永久链接?(已安装Yoast SEO)
嘿,这个问题我之前帮不少用户解决过,刚好你已经装了Yoast SEO,咱们先从插件设置入手,再补充个代码方案双保险:
方法一:通过Yoast SEO直接关闭图片独立链接
- 登录WordPress后台,找到Yoast SEO菜单进入
- 在Yoast的仪表盘里,点击SEO → 搜索外观(Search Appearance)选项卡
- 切换到媒体(Media)子标签页
- 找到「为媒体文件生成单独的URL」选项,把它切换为关闭状态
- 最后点击页面底部的「保存更改」,新上传的图片就不会再生成独立永久链接了
方法二:用代码彻底禁用(适合需要更彻底控制的场景)
如果担心插件更新后设置重置,或者想让已上传的旧图片也生效,可以往主题的functions.php文件(建议用子主题,避免主题更新丢失代码)里添加这段代码:
// 取消生成图片独立永久链接 function disable_media_attachment_links($link) { return ''; } add_filter('attachment_link', 'disable_media_attachment_links'); // 拦截访问旧图片独立页面,301跳转到所属文章 add_action('template_redirect', function() { if (is_attachment()) { $parent_post = get_post(get_post()->post_parent); if ($parent_post) { wp_redirect(get_permalink($parent_post), 301); } else { wp_redirect(home_url(), 301); } exit; } });
这段代码不仅会阻止生成新的图片链接,还会把访问旧图片独立页面的请求,重定向到图片所属的文章首页(如果没有所属文章就跳转到站点首页),彻底避免暴露直接图片链接。
额外注意事项
- 对于已经上传的旧图片,Yoast的设置不会自动修改它们的旧链接,你可以用上面的代码处理,或者通过Yoast的「重定向管理器」把旧图片链接手动重定向到对应文章
- 修改主题代码前,一定要备份好文件,用子主题操作更稳妥
内容的提问来源于stack exchange,提问作者Cloud
相关产品推荐
相关产品推荐

