- A+
一、对链接优化
Emlog 建站程序大家基本都知道,Emlog 文章页面访问路径可变化,举例来说,本文的正确访问路径应该是/posting-173.html,但是换成/posting/173.html 甚至于/seo/173.html 这些根本不应该存在的路径居然同样可以访问,同一文章页出现了多个访问路径。那么解决的办法是给文章页面设置 canonical 标签,对搜索引擎强调网页规范访问路径。
将以下代码写入模板 module.php 文件中:
- <?php //文章访问路径标准化
- function gf_url($id){
- if ($id){echo '<link rel="canonical" href="'.Url::log($id)."\" />";}
- }?>
再将下面的代码添加到网页头部即可。
- <?php echo gf_url($logid);?>
顺便给大家普及一下什么是 canonical 标签:
rel=”canonical” 这个标签已经推出很久了,canonical 是 Google、雅虎、微软等搜索引擎一起推出的一个标签,它的主要作用是用来解决由于网址形式不同内容相同而造成的内容重复问题,这个标签对搜索引擎作用非常大,简单的说它可以让搜索引擎只抓取你想要强调的内容。
二、解决链接重复推送
现在百度站长平台及 360 站长平台都推出了自己的链接自动推送 JS,但是百度还是 360 的这个 JS 工具都算是半产品,都没有考虑到重复推送问题,注意:JS 自动推送不能判断重复提交,百度官方自己也说了恶意提交垃圾页面或者重复页面的站点将会被惩罚限制提交,直至关闭提交权限,那么我们该怎么做才能避免重复提交呢?
可以查考百度自动推送 JS 优化,规避错误、重复推送、判断文章是否被收录这篇文章,和下面的方法大同小异。
1.找到主题的 module.php 文件,在文件最底部添加如下代码
- <?php //判断内容页是否百度收录及百度自动推送代码
- function baidu($url){
- $url='http://www.baidu.com/s wd='.$url;
- $curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);$rs=curl_exec($curl);curl_close($curl);if(!strpos($rs,'没有找到')){return 1;}else{return 0;}}
- function logurl($id){$url=Url::log($id);
- if(baidu($url)==1){echo "<a rel=\"external nofollow\" title=\"本文已被百度收录\" target=\"_blank\" href=\"http://www.baidu.com/s wd=$url\">本文已被百度收录!</a>";
- }else{echo "<a>本文已提交百度!</a><script>
- (function(){
- var bp = document.createElement('script');
- var curProtocol = window.location.protocol.split(':')[0];
- if (curProtocol === 'https') {
- bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
- }
- else {
- bp.src = 'http://push.zhanzhang.baidu.com/push.js';
- }
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(bp, s);
- })();
- </script>";}}
- ?>
2.找到文章页面文件 echo_log.php,在合适的位置添加以下代码:
- <?php echo logurl($logid);?>
三、网站 title 优化
网站 title 在任何搜索引擎规则中都是大头,而 emlog 程序默认首页 title 为列表页和文章页 title 的后缀,导致页面 title 大量重复、关键词冲突,分类页、标签页、作者页、搜索页等等,文件都在 include/controller/ 里面。
标题太长,不利于用户体验。
所以我们需要修改一处地方,把它改为 分类标题 _ 站点标题。
以分类页为例子,文件是:sort_controller.php :
把$site_title 改成 $blogname
也就是不调用浏览器标题了,改为调用站点标题。 好了,现在保存文件,上传覆盖原文件,然后刷新一下分类页,看看标题是不是改变了?
这个方法可以用于更改搜索页、标签页、作者页、存档页的修改,这些文件都存放于 include/controller/ 文件夹,大家可以按照上面的方法来修改。
Emlog 程序默认的分页 title 都一模一样,造成很多同名页面,关键词冲突;以下是解决这个问题的方法。
第一步:写一个从第二页开始显示分页标题的函数,放在模版文件的 module.php 里面,代码如下:
- <?php
- //分页标题后面加 - 第几页
- function page_tit($page){
- if ($page>=2){ echo ' - 第'.$page.'页'; }
- }
- ?>
第二步:header.php(如果你的头部文件修改过的话,就要找到对应的头部文件)文件头部调用
- <?php echo page_tit($page); ?>
本文版权归原作者所有,这里只是为了促进学习特此分享。希望大家都能尊重作者的劳动!