本站从2023年1月18日接手后就发现包括首页、文章页、独立页面等页面存在首页分页、评论分页等的收录导致页面相同链接不同的问题。
对于一个小白seo有什么方法解决呢?
在seo里面对于重复内容不同链接的解决方法就是使用canonicall,那么canonicall是什么呢?
canonical标签是一种告诉搜索引擎您要在搜索结果中显示哪个版本的URL的方法。使用canonical标签可以防止由于相同(或非常相似)或“重复”内容出现在多个URL上而引起的问题。
这种重复的内容可能是多种形式出现的,包括:
如果出现多个不同的URL地址访问到的页面都是首页,这时就可以使用canonical标签来规范首页网址,假设统一规范为https://cmsboy.cn,这时就需要在其他3个页面head标签内加上下面的一段代码:
<link rel="canonical" href="https://cmsboy.cn">
很简单就是确定唯一页面,比如说本站首页是: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唯一标签的,因此我们就需要自己更改代码。
站长也是每次接手到没有canonical唯一标签的typecho站点时都需要去找代码来改主题。太麻烦了直接写个文章统计上代码吧!
1、下载你的主题放入typecho程序的/usr/themes/路径中。
如果你的主题已经在/usr/themes文件夹里面请忽略第一步。
2、在/usr/themes/找到我们对应的主题名称的文件夹打开它。
我的主题文件夹是handsome。
3、打开主题文件夹后打开index.php文件确定自己主题的头部文件header.php路径并打开。
我的typecho主题的header.php文件路径是:component/header.php
因此我们需要打开component文件夹并打开header.php文件。
4、从打开的header.php头部文件找到第一次出现 <link
的位置。
我的header.php头部文件第一次出现 <link
是在第304行,各位可以使用ctrl+f搜索它。随后在 <link
这行代码的后面或者下面加上canonical代码。
在这行代码的上面或者下面加上以下代码:
<?php if ($this->is('index')): ?><link rel="canonical" href="<?php $this->options->siteUrl(); ?>" />
<?php endif; ?>
判断当前链接是否为typecho首页页面如果是就出现canonical唯一标签指向到首页链接如果不是则不出现此代码。
(主要用于主页分页处理)
<?php if ($this->is('post')): ?><link rel="canonical" href="<?php $this->permalink() ?>" />
<?php endif; ?>
判断当前链接是否为typecho文章页如果是就出现canonical唯一标签指向到文章链接如果不是则不出现此代码。
(用于处理文章衍生的评论链接以及文章分页链接)
<?php if ($this->is('page')): ?><link rel="canonical" href="<?php $this->permalink() ?>" />
<?php endif; ?>
判断当前链接是否为typecho独立页面如果是就出现canonical唯一标签指向到独立页面链接如果不是则不出现此代码。
(用于处理独立页面衍生的评论链接)
目前仅收集了以上3种判断以及出现canonical唯一标签的方法,还差tag页面以及作者页的判断。如有会的敬请评论贡献代码啊。
如果觉得以上3个代码都比较麻烦那就复制我们优化过的判断代码吧。
此处内容需要评论回复后(审核通过)方可阅读。