WordPress图片附件地址跳转到文章页面方法

WordPress的图片附件在可打开连接的情况下会有一些意想不到的问题出现,特别是对SEO有很不利的影响,可打开连接的图片附件会有两个相同内容的url。我自己的服务器上就发现百度蜘蛛会拼命地抓取/?attachment_id=1图片附件地址,这些附件页面实际除了图片外均为空白内容,对SEO是很不友好的。所以我们有必要将这些附件地址均统一跳转到附件所属文章页面,那么如何才能自动将WordPress图片附件地址跳转到文章页面呢?请看以下代码:
将以下代码插入主题function.php文件中:
/*
重定向附件页面到文章页
代码来源: www.wpzxbj.com
*/
add_action( 'template_redirect', 'wpse27119_template_redirect' );
function wpse27119_template_redirect()
{
// Get out of here if not headed to an attachment page
if( ! is_attachment() ) return;
// Find the $post variable representing the page where we're heading
global $post;
if( empty( $post ) ) $post = get_queried_object();
// Check if post has a parent
if ($post->post_parent)
{
// Yes so find permalink of parent post
$link = get_permalink( $post->post_parent );
// Redirect attachment to the parent post
wp_redirect( $link, '301' );
exit(); // always call exit after wp_redirect
}
else
{
// No parent so just redirect to home page
wp_redirect( home_url(), '301' );
exit(); // always call exit after wp_redirect
}
}
这段代码仅对图片附件页面有效, 原理是检查附件页面是否有相应文章页,如果有就自动301跳转到文章页,如果没有就跳转到网站首页。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















