将破碎的URL转换为搜索词?

时间:2012-02-03 作者:Alex

我正在将Typepad安装迁移到Wordpress子域,大多数链接都将被破坏。重写工作的目的是:

http://mainsite.com/blogs
被重写为

http://blogs.mainsite.com
如果传递了与文章信息的完整链接,则会将其重写为完整链接;

http://mainsite.com/blogs/2014-13-7/article-title.html

http://blogs.mainsite.com/2014-13-7/article-title.html
我正在寻找一种方法,将文章标题输入Wordpress的搜索中,这样即使链接断开,有书签的用户也很容易找到它。

2 个回复
最合适的回答,由SO网友:Scott 整理而成

您可以尝试使用插件来执行此操作:

http://wordpress.org/extend/plugins/smart-404/

读取页面URL并尝试查找可能匹配的页面/帖子,然后重定向到该页面/帖子。

有关此插件的信息,请访问:http://www.aebeta.com/web-hosting/seo/7-seo-friendly-404-plugin-for-wordpress.html

SO网友:Brian Fegter

为什么不进行一对一重定向?迁移数据时,请在WXR中添加一个自定义字段,如“\\u legacy\\u url”,或使用任何机制跟踪旧url。然后,在template\\u重定向操作期间,每当WP抛出404时,检查一对一匹配。

add_action(\'template_redirect\', \'typepad_redirects\', 0);
function typepad_redirects(){
    if(is_404()){
        global $wpdb, $wp;
        $url = esc_attr($wp->request);
        $result = $wpdb->get_row("SELECT * FROM $wpdb->postmeta WHERE meta_key = \'_legacy_url\' AND meta_value LIKE \'%$url%\'");
        $redirect_url = get_permalink($result->post_id);
        if($redirect_url){
             wp_redirect($redirect_url, 301);
             die();
        }
    }
}

结束

相关推荐

Mask and Track Outbound Links

我正在为客户创建wordpress网站。MY AIM: 该网站将有来自不同网站的产品链接。这些链接实际上是网站和服务的附属链接。这些链接需要转换为http://www.example.com/go/123 或者类似的东西,当单击时,它们重定向到实际链接。下一个要求是跟踪传出链接的数量。各位,wordpress专家,能告诉我任何可以完成这项工作的插件,甚至是我想要的东西吗。我还搜索了这个网站以及wordpress上的插件目录。org,但尚未找到任何合适的插件。