本站从2023年1月18日接手后就发现包括首页、文章页、独立页面等页面存在首页分页、评论分页等的收录导致页面相同链接不同的问题。
对于一个小白seo有什么方法解决呢?
canonicall
在seo里面对于重复内容不同链接的解决方法就是使用canonicall,那么canonicall是什么呢?
这种重复的内容可能是多种形式出现的,包括:
- 可在URL中添加或不添加“ www”前缀的网页
- 可通过“ HTTP”和“ HTTPS”协议访问网页
- 同一样目下的多个列表页。
如果出现多个不同的URL地址访问到的页面都是首页,这时就可以使用canonical标签来规范首页网址,假设统一规范为https://cmsboy.cn,这时就需要在其他3个页面head标签内加上下面的一段代码:
<link rel="canonical" href="https://cmsboy.cn">
正确使用唯一标签canonical
很简单就是确定唯一页面,比如说本站首页是:cmsboy.cn 而抢它的页面链接是cmsboy.cn/page/2/而它们的标题都是“缘梦の镇”因此我们确定唯一链接为cmsboy.cn。
又比如我们的文章页链接是:cmsboy.cn/archives/530.html 而它的重复链接是cmsboy.cn/archives/530.html/comment-page-1#comment-848的评论分页链接。这个页面是评论衍生链接因此我们确定唯一链接就是cmsboy.cn/archives/530.html。
在typecho使用canonical
目前来说市面上很多typecho的主题都是没有canonical唯一标签的,因此我们就需要自己更改代码。
站长也是每次接手到没有canonical唯一标签的typecho站点时都需要去找代码来改主题。太麻烦了直接写个文章统计上代码吧!
为typecho主题增加canonical教程
1、下载你的主题放入typecho程序的/usr/themes/路径中。
2、在/usr/themes/找到我们对应的主题名称的文件夹打开它。
3、打开主题文件夹后打开index.php文件确定自己主题的头部文件header.php路径并打开。
因此我们需要打开component文件夹并打开header.php文件。
4、从打开的header.php头部文件找到第一次出现 <link
的位置。
<link
是在第304行,各位可以使用ctrl+f搜索它。随后在 <link
这行代码的后面或者下面加上canonical代码。
在这行代码的上面或者下面加上以下代码:
<?php if ($this->is('index')): ?><link rel="canonical" href="<?php $this->options->siteUrl(); ?>" />
<?php endif; ?>
(主要用于主页分页处理)
<?php if ($this->is('post')): ?><link rel="canonical" href="<?php $this->permalink() ?>" />
<?php endif; ?>
(用于处理文章衍生的评论链接以及文章分页链接)
<?php if ($this->is('page')): ?><link rel="canonical" href="<?php $this->permalink() ?>" />
<?php endif; ?>
(用于处理独立页面衍生的评论链接)
typecho判断页面出现canonical优化代码
如果觉得以上3个代码都比较麻烦那就复制我们优化过的判断代码吧。