如何将旧帖子URL重定向到新帖子并保留旧帖子评论?

时间:2018-06-14 作者:Harsha

如何将旧帖子URL重定向到新帖子URL并保留旧帖子评论?有可能吗。谁能给我一个插件来做这个。

2 个回复
SO网友:Dharmishtha Patel

我使用的是free redirection 插件。如果您使用的是Yoast SEO premium,那么重定向功能已经为您提供了。如果您喜欢,还可以使用任何其他插件。唯一需要确保的是,它应该是301重定向。

对于这个例子,我使用重定向插件。

以下是场景:

Already published post with URL: https://WPSutra.com/how-to-add-google-amp-to-wordpress-to-speed-up-your-mobile-site
New URL After editing the post slug: https://WPSutra.com/Google-amp-WordPress
转到工具>重定向(或正在使用的任何其他插件的重定向选项卡)。还可以使用设置重定向。htaccess方法。

在这里,您可以设置从旧帖子到新帖子的301重定向,如以下屏幕截图所示:enter image description here

这样做的目的是,当有人单击您的旧URL时,他们将自动重定向到新URL。这将确保在更改已发布帖子的帖子slug后不会丢失任何流量。

请注意,您将丢失您的社交媒体共享号(&A);在处理编辑旧帖子URL时,这是一个非常小的权衡。我通常这样做是为了编辑我的旧博客帖子或处理不良博客帖子。

SO网友:Harshal Solanki
<?php
/* If your Old Website Blog indexed on google crawling site & you want to replace your URL with New One,
Here, I describe whole process. */
// Redirected Single Blog Posts using "template_redirect" function without use of "301 Redirection" plugin
/* Redirected Blog detailed page URL like : 
"HOMEURL/test-abc" to "HOMEURL/resources/blog/test-abc" */

/* Start Template Redirection Only For Single Blog Posts */
add_action(\'template_redirect\', \'redirect_single_post_func\');

function redirect_single_post_func() {
    if (is_singular(\'post\')) {
        global $post;
        global $wp;
        $resource_ID = \'Your Page/Posts ID\'; //specify id here
        $resource_post = get_post($resource_ID);
        $resource_slug = $resource_post->post_name;

        $blog_ID = \'Your Page/Posts ID\'; //specify id here
        $blog_post = get_post($blog_ID);
        $blog_slug = $blog_post->post_name;


        $url = $wp->request;
        if (strstr($url, $resource_slug) && strstr($url, $blog_slug)) {
            return true;
        } else {
            $post_slug = $post->post_name;
            $new_slug = home_url() . "/resources/blog/" . $post_slug;
            wp_redirect($new_slug);
        }
        exit;
    }
}
?>
结束