WordPress 链接 URL 规范优化,防止页面重复

老黑
老黑
老黑
15
文章
0
评论
2020年10月1日12:02:58 评论

kzong最近发现wordpress伪静态存在一个问题,会造成文章地址后门加上“/”和任意数字依然可以正常返回状态码200,这回让搜索引擎误以为站点页面存在重复行为,可能引发降权。通过搜索引擎kzong找到了相关的解决办法,大佬们已经为我们提供了解决经验。

WordPress 链接 URL 规范优化,防止页面重复

问题展示:

root@iZwz9avyv2945ilt432lffZ:~# curl -I https://www.ixmu.net/1.html
HTTP/2 200 
server: nginx
date: Thu, 01 Oct 2020 03:49:03 GMT
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
vary: User-Agent
x-pingback: https://www.ixmu.net/xmlrpc.php
link: <https://www.ixmu.net/?p=1>; rel=shortlink
泪雪博客

WordPress 优化链接规范造成页面重复,其问题源自于 WordPress 本身的固定链接都是属于伪静态处理,就会导致文章页面后面添加斜杠“/”加任意数字依旧会返回 200 状态及正常的文章内容,从而可能会导致出现一些重复收录或被恶意利用,从而导致网站出现问题或者被搜索引擎降权。

由于是 WordPress 自身就存在的一个问题,但是也不算是什么非常大的问题,所以可能没有被大家所重视,因为对于正常的 WordPress 建站和使用推广过程中,我们基本是不太可能手动的在 WordPress 生成的 URL 链接后再加上任意的数组或者参数之类的情况,所以对于网站优化来说搜索引擎也不可能会自动的在链接中加斜杠再加参数,顶多是一些无效的动态参数罢了。

不论是从 WordPress 优化还是网站安全的角度,以及网站优化来说,网站的 URL 都应该具备唯一性,而对于一些其它参数做到屏蔽,一下就是子凡通过再次开发增加一个判断来实现对 WordPress URL 规范优化,代码如下:

//判断链接是否规范
$current_url = home_url(add_query_arg(array()));
$pid = url_to_postid($current_url);
$link = get_permalink($pid);
if($current_url!=$link){
	global $wp_query;
	$wp_query->set_404();
	status_header(404);
	nocache_headers();
	include( get_query_template( '404' ) );
  	die();
}

使用方法是直接添加到当前主题的 single.php、page.php 文件的最顶部

kzong在正常配置的过程中以上代码被当作文本直接输出在了导航栏下方,所以给它价格php标签,修改后的代码直接加在 single.php、page.php 顶部即可:

<?php
$current_url = home_url(add_query_arg(array()));
$pid = url_to_postid($current_url);
$link = get_permalink($pid);
if($current_url!=$link){
	global $wp_query;
	$wp_query->set_404();
	status_header(404);
	nocache_headers();
	include( get_query_template( '404' ) );
  	die();
}
?>

问题解决后的效果:

root@iZwz9avyv2945ilt432lffZ:~# curl -I https://www.ixmu.net/1.html/9622
HTTP/2 301 
server: nginx
date: Thu, 01 Oct 2020 03:59:33 GMT
content-type: text/html; charset=UTF-8
location: https://www.ixmu.net/1.html
x-powered-by: PHP/7.2.24
vary: Accept-Encoding, Cookie
set-cookie: PHPSESSID=i391f6jif3c24shvhjheqnncus; path=/
pragma: no-cache
x-pingback: https://www.ixmu.net/xmlrpc.php
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
x-redirect-by: WordPress

针对WordPress链接进行URL 规范优化,可以防止页面重复,提高搜索引擎的评分,对于需要做seo优化的站点而言非常有帮助。但是,最终不要忘记了内容为王,站点的基本优化只能为权重加分。

黑软技术栈接受广大网友的投稿,如果你热爱创作分享,欢迎邮件投稿至pengjinpwu@aliyun.com;
如果我们的文章对你有所帮助,你很欣赏它,不妨动动手指点击上方"打赏"按钮,支持本站的发展。
老黑
  • 本文由 发表于 2020年10月1日12:02:58
  • 转载请务必保留本文链接:https://www.ixmu.net/article/69.html