当前位置:代码狗 > 经验教程 > 实用教程 > 正文

WordPress固定链接修改文章地址批量重定向插件wp-permalinks-migration

过年一直没空写文章,今天给大家分享一篇折腾经验教程。好几年前我就觉得以分类名/文章id这样的命名链接有点不好,由于考虑到已经有很多文章被收录了,就一直没改,上周发神经改了固定链接,导致几乎所有收录都变成了404,本以为百度站长的网站改版很好用,实际上卵用没有。就知道说无需改版,我TM都404了还不需要改版。

忠告:WordPress固定链接建议使用域名/postid.html的形式,即使以后你修改了分类目录,也不会影响到文章的访问!切记!

我之前采用的是域名/分类名/postid.html的链接形式,改成域名/postid.html的形式,修改很简单,只需要在WordPress后台固定链接里设置下就行了,关键是搜索引擎它不听话呀(这里指百度)。

本来想等百度自己发现错误修改错误的,目前已经有一部分改了过来,但今天听到群里一位站长说他都改了2个多月了,仍然一大片的404我觉得还是得采取点手段拯救下。

wp-permalinks-migration插件,WordPress大学出品,专门为修改固定链接所做,使用简单快捷,各种语言保证你认识,文末有资源地址。

WordPress固定连接修改文章批量重定向插件wp-permalinks-migration

WordPress固定连接修改文章批量重定向插件wp-permalinks-migration

只需要输入你曾经用过的链接形式即可,它的功能就是判断你访问的链接是不是老链接,是就301重定向到新链接,不是就不动作。这个插件的代码也很简单,只有两个核心代码,一个是WordPress固定链接规则,另一个就是重定向逻辑了,简单修改下放入functions.php中就可以省去插件。

function wpdaxue_pm_the_posts($post)
 {
 	global $wp;
 	global $wp_rewrite;
 	global $wpdaxue_pm_config;
 	if ($post != NULL && is_single() && $wpdaxue_pm_config['oldstructure'] != $wp_rewrite->permalink_structure)
 	{
 		if (array_key_exists($wp->matched_rule, $wpdaxue_pm_config['rewrite']))
 		{
			// ok, we need to generate a 301 Permanent redirect here.
 			header("HTTP/1.1 301 Moved Permanently", TRUE, 301);
 			header('Status: 301 Moved Permanently');
 			$permalink = get_permalink($post[0]->ID);
 			if (is_feed())
 			{
 				$permalink = trailingslashit($permalink) . 'feed/';
 			}
 			header("Location: ". $permalink);
 			exit();
 		}
 	}
 	return $post;
 }

 function wpdaxue_pm_post_rewrite_rules($rules)
 {
 	global $wp_rewrite;
 	global $wpdaxue_pm_config;
 	$oldstruct = $wpdaxue_pm_config['oldstructure'];
 	if ($oldstruct != NULL && $oldstruct != $wp_rewrite->permalink_structure)
 	{
 		$wpdaxue_pm_config['rewrite'] = $wp_rewrite->generate_rewrite_rule($oldstruct, false, false, false, true);
 		update_option("wpdaxue_pm_options",$wpdaxue_pm_config);
 		if ($wpdaxue_pm_config ['highpriority'] == true)
 		{
 			return array_merge($wpdaxue_pm_config['rewrite'],$rules);
 		}
 		else
 		{
 			return array_merge($rules, $wpdaxue_pm_config['rewrite']);
 		}
 	}
 	return $rules;
 }

让我没想到的是,百度收录的链接千奇百怪,下面这种地址都有,不过不用担心,wp-permalinks-migration插件仍然可以正确重定向。

wp-permalinks-migration插件固定链接批量重定向

wp-permalinks-migration插件固定链接批量重定向

目前也只能先开着这个插件,直到哪天百度完全修改过来再关掉了,前途一片黑暗!


感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论 6

  1. #2

    这个插件不错的了

    3434343@qq.com4个月前 (02-14)回复
    • 是的,简单好用。

      daimadog4个月前 (02-14)回复
  2. #1

    要不要考虑下留个我的页面,给我加点IP/偷笑

    缙哥哥4个月前 (02-14)回复
    • 我都活不下去了,排名都掉了。

      daimadog4个月前 (02-14)回复
      • 你又不靠这个赚钱……

        缙哥哥4个月前 (02-17)
      • …多一条谋生之路。

        daimadog4个月前 (02-17)
×

请作者吃根烤肠!

支付宝