SEO即搜索引擎优化,适当的SEO有利于提高网站在有关搜索引擎内的自然排名。本文针对Typecho框架下的Handsome主题进行SEO优化,有利于收录和排名。
在此之前,可以先看一看之前写的一篇文章,这是一篇对Typecho通用的SEO小技巧:
仅仅是博主个人意见,仅供参考,不对的地方还望批评指正!
欢迎访问博主的个人主页学习交流!!
1、该页面上存在多个 h1 标记
在必应的网站后台管理当中,发现几乎每一篇文章都是有《该页面上存在多个 h1标记》这个错误,这显然是模板出现了SEO的问题。
利用一个页面出现多个H1,对搜索引擎不友好,属于过度优化,甚至涉嫌作弊。
过多使用粗体标签,可能会有人认为一篇文章中有很多副标题,为了区分,把所有标题都加粗是一种非常不明智的表现。现在的搜索引擎已经很智能了,它能够区分标题和内容,所以没有必要把所有的字都加粗。尤其是对于大量的关键词进行加粗更为严重。
通过查看源代码方式,发现每篇文章都有两个h1标签。
于是就得找主题文件,经过一顿寻找,最后在/handsome/libs/content.php中找到了修改的位置,前面的h1是文章页的标题,后面的就是阅读模式的h1了,将它修改成h2即可。大约在675行的位置。
将h1修改为h2。
2、文章中的外链未做优化处理造成权重流失
撰写一篇文章所引用的外部链接在我们完成发布后,我们会发现默认情况下它并没有被添加 nofollow
标签,并且链接打开方式是_self
(当前页面打开)这就造成了权重流失。引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重。
针对文章外链,会有 nofollow 属性和新窗口打开,但是针对本站内链仅有新窗口打开。这样既可以防止外链稀释本站权重,又可以通过内链优化页面排名。
打开 typecho 根目录下的 var/HyperDown.php
文件,找到第 386 行,如以下代码:
修改为:
if (strstr($url,'//www.52txr.cn') == false ) {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
} else {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");
}
注意:www.52txr.cn
修改为你自己的网址首页
3、全局侧边栏最新评论累积垃圾链接
使用 <!--注释符-->
注释 themes/handsome/component
路径下 sidebar.php
文件的下面这行代码:
<!--<?php if (COMMENT_SYSTEM == 0): ?>
<li role="presentation"> <a href="#widget-tabs-4-comments" role="tab" aria-controls="widget-tabs-4-comments" aria-expanded="false" data-toggle="tab"> <i class="glyphicon glyphicon-comment text-md text-muted wrapper-sm" aria-hidden="true"></i> <span class="sr-only"><?php _me("最新评论") ?></span> </a></li>
<?php endif; ?>-->
或者直接删除最新评论这一栏:
4、可增加内链,相关文章推荐
这里仅仅是希望在文章页中进行相关文章的展示,另外个人博客单页面承载的链接不建议过多。下面写的是最多5个。
具体代码的位置可以自行决定,放在文章末尾的地方就好了~
<!--相关推荐-->
<div class="tab-content clear">
<h3 class="widget-title m-t-none text-md"><?php _me("相关文章") ?>
<small><i class="glyphicon glyphicon-info-sign" data-toggle="tooltip" title="我们将根据本文的tag进行相关文章的推荐"></i>
</small>
</h3>
<div id="relatedPosts" >
<ul class="list-group-item nav nav-list">
<?php $this->related(5)->to($relatedPosts); ?>
<?php if ($relatedPosts->have()): ?>
<?php while ($relatedPosts->next()): ?>
<li class="tocify-item text-second">
<a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>"><?php $relatedPosts->title(); ?></a>
</li>
<?php endwhile; ?>
<?php else : ?>
<li>暂无相关推荐</li>
<?php endif; ?>
</ul>
</div>
</div>
5、可屏蔽首页分页/分类页/标签页(作废,不要屏蔽,这个不管了)
细心的人会发现一个问题,那就是分页列表的第一页与首页内容相同、网站标题相同,这样在 SEO 上来说是造成分散权重最大的原因,搜索引擎会收录两个首页,一个是 首页 另一个则是 网址/1.htm
l的分页面!
而且每个分页都缺少h1标记,在SEO中,这是严重错误。不妨将所有的单页分页面都屏蔽,这些页面本身没有多大的价值。
需要主要的是,博主的所有文章页面格式不是直接域名加后面的网址,而是年份+xx.html
因此,设置蜘蛛屏蔽文件robots.txt,内容如下:
这几个Disallow就是让蜘蛛不要爬取相关的网页。例如:
<!--首页分页-->
https://www.52txr.cn/1.html
https://www.52txr.cn/2.html
https://www.52txr.cn/3.html
<!--分类页-->
https://www.52txr.cn/category/coding/
https://www.52txr.cn/category/skill/
<!--标签页-->
https://www.52txr.cn/tag-%E7%96%91%E9%9A%BE%E6%9D%82%E7%97%87.html
https://www.52txr.cn/tag-Python.html
https://www.52txr.cn/tag-Excel.html
6、网站标题连接符两边的空格修改
将空格-空格
换成-
,如果标题字数多的博客可以将其两边的空格去掉获得 1-2 字的展现。
7、此说明过长或过短
这主要是因为有的文章摘要写的太短了。可以把文章摘要丰富一下。
部分内容参考博客:Handsome for typecho主题SEO优化建议
10 条评论
你好博主,我参考这篇文档,优化了我博客的文章路径从默认的改为按分类的归档/{category}/{slug}.html 后,我发现博客自带的关键词搜索还是能搜到部分旧路径,导致部分页面无法打开,且 bing 已经索引收录的路径也无法打开,这个如何通Nginx实现旧链接重定向??
感谢!
赶紧改回去,不必完全一样。。。按分类这样还行,只要路径不是太长就行了。
反正也没几篇文章,也没收录几篇,无所谓了吧,后面新的文章不受影响吧
不影响后面的文章,收录的文章在后面也会更新新链接。建议了解一下“死链”,可以在必应里面提交死链,然后再提交站点的新链接或者站点地图。这样可以加快新链接的收录。建议一开始就设置一下自己的喜欢风格链接,然后就不要再改变了。新站倒是可以折腾,等文章一多,一改变链接,大部分页面都打不开,会引起搜索引擎的“不信任”,导致收录收到影响。加油哦!(๑•̀ㅁ•́ฅ)
大佬方便加个微信吗?我的bing就收录了前几篇,后来的就都不收录了。求指点
最重要的还是更新原创文章。一两天更新一篇。内容为王。(๑•̀ㅁ•́ฅ)
请问你的评论邮件提醒插件可否分享下?
可以,这个是朋友修改的,代码比较乱,等我这两天整理一下源码
似乎我的内容好久没被收录了,可以帮看看吗?