无论过去还是现在,对代码编程技术一知半解的站长依然不在少数,此篇文章纯属技术方法贴,主要介绍phpcms框架站内搜索引擎搭载无限长尾引爆流量方法,之所以没有使用dedecms、帝国cms、discuz等开源框架,是因为phpcms是我目前接触的比较适合搭载和部署SEO架构以及二开的php框架,主要是二开;我们知道基本上所有的开源框架都搭载了站内搜索引擎配置,比如:sphinx,而大部分站点基本上都完全没有使用到,或者只简单的使用了网站搜索功能,这篇文章将详细介绍如何使用搜索引擎搭载无限长尾引爆流量以及额外技术福利【只针对独立主机】,不说h1,不说tdk!phpcms二开到完成基本只需要花一星期左右,当然,对于老司机而言,这个时间或许有点长,但对于不太会技术的而言,算得上是福利贴了。
一、 phpcms全站伪静态方法
全站伪静态有什么好处呢?首先我们不需要一直更新更新网站,特别是网站数据量和网站群比较大的时候,生成全静态会让你抓狂,缺点是对主机的要求稍微要高点,然而,这并不是本文的重点!
在phpcms后台管理的扩展=》URL规则管理方法中我们可以自定义适合SEO优化的URL规则;phpcms的伪静态配置方法是非常灵活易用的,URL规则指栏目最后生成的URL地址,示例就不用多说,我们可以使用可用变量配置成适合站点的URL规则,示例图如下:【注意是否生成静态选择否】
栏目页和内容页的配置方法完全一样;规则配置完成之后,在内容=》管理栏目=》随意选一个栏目=》生成HTML设置=》是否生成html全选否,然后选择我们建立的URL规则,不要忘记刷新栏目缓存。
二、 apache.htaccess伪静态配置
.htaccess如果无法创建,可以选择先创建一个txt文件,将文件另存为.htaccess就阔以了,内容如下:
RewriteEngine on
RewriteRule ^content-([0-9]+)-([0-9]+)-([0-9]+).html$ index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 == 内页及内页分页
RewriteRule ^category-([0-9]+)-([0-9]+)[/]?$ index.php?m=content&c=index&a=lists&catid=$1&page=$2 ==栏目页及栏目分页
如果没有效果,请确定是否开启了伪静态、是否对应了我们建立的URL规则,这里不多做介绍,百度一下,谷歌一下一抓一大把。
三、 shpinx搭载及管理方法
phpcms中内置的方法我没有使用,而是完全自建及重新搭载;使用的是coreseek开源中文检索引擎,版本4.1,coreseek是基于sphinx延伸,因为网站数据词库要求不高,所以选择了简单的配置方法,如果需要咨询其他cms或者搜索引擎例如:迅搜或其他搜索引擎搭载,可以多联系交流;
安装及管理方法请参考Coreseek + Sphinx + Mysql + PHP构建中文检索引擎
四、 如何聚合数据,部署大量长尾
我们知道,优化一个或多个栏目或栏目长尾等,列表数据或其他相关数据不可或缺,难道我们每一个栏目都需要发布文章?这样做的话,部署几十上百个栏目就会累到你怀疑人生,简单一点的企业网站或许不会怎么用到,而这个方法是各种大流量网站通用办法,我们与他们的区别就是词库的维护,人员的多少,执行力的高低!但这并不影响我们对数据的聚合。Phpcms的自定义tag是非常强大的,我们可以自己定义个tag标签,示例如下
public function lists_sphinx($data) {
require_once 'sphinxapi.php'; //sphinx引入,针对虚拟主机,独立主机可以配置php扩展,不需要单独引入;
$s = new SphinxClient;
$s->setServer("localhost", 9312);
$s->setMatchMode(SPH_MATCH_ANY);
$s->setMaxQueryTime(30);
$s->SetLimits(0, 20, 1000);//查询数据,并没有做分页显示
$res = $s->query(‘[愚人]关键字’, '[mysql]数据源source ');
$err = $s->GetLastError();
return $res;
}
然后在phpcms模版页中使用下面的标签{pc:content action="lists_sphinx" title="$catname"}就可以自动匹配文章结果,而不需要每个栏目都去管理发布文章,生成全静态等等;当然sphinx等搜索引擎并不只是这么简单。功能也不仅仅如此而已,如何与SEO搭配还需要我们不断研究。
五、 手机端同步主站,单独手机站目录及伪静态
Phpcms手机网站比较蛋痛的一点是部署手机站后与pc主站同目录!m站的栏目数据还需要重新绑定栏目,这对于SEO来说简直是一个灾难!而且index比较麻烦,链接也是动态链接!不仅维护非常麻烦,优化起来也是很费劲的,下面详细介绍如何手机端同步主站,单独手机站目录及伪静态;
手机端同步主站
Phpcms有一个wap模块,wap站点需要使用wap模块的tag标签获取数据,下面介绍如何使手机站同样适用pc tag标签调取数据,我们找到wap模块的list-标签把pc的list标签完全复制到wap模块的list标签中,include template(‘content’,$template);改为include template('wap',$template);这样,我们就可以完全同步主站栏目数据并适用单页面!这里需要注意两点:
1、 wap需要typeid参数,也就是后台wap管理中绑定的pc栏目id,这样操作之后,我们可以自己加入一个catid参数,typeid的值和catid一样就可以了。
2、 wap的模版保持和pc模版同名,pc有几个模版,wap就几个模版,wap端样式自行修改,tdk不在重述。
单独手机站目录
M站使用单独目录可以自己定义rebots,404,sitemap等等,在网站根目录建立m文件夹,apache http.conf不在重述,只需要注意一个配置:DirectoryIndex index.php 访问wap主域时默认请求的页面,也可以使用其他文件名。
在index.php中我们可以这样使用:
列表页:新建list.php代码如下:
内容页使用相同的方法,新建details.php修改ur地址及参数就可以了。
PhpmsM站伪静态
Phpcms wap模块的地址修改也非常简单,找到wap模块global.func.php,修改为我们想要的静态地址就可以了,然后新建伪静态规则,就可以访问了,但是,我们修改为后会发现,图片或css样式错误,我们只需要把资源重定向到主站就可以完美解决了,规则如下:
RewriteEngine on
RewriteRule ^uploadfile(.*)$ ==资源重定向
RewriteRule ^statics(.*)$ ==资源重定向
RewriteRule ^content-([0-9]+)-([0-9]+).html$ details.php?m=wap&a=show&catid=$1&id=$2&typeid=$1 ==内页地址
RewriteRule ^ category -([0-9]+)-([0-9]+)[/]?$ category .php?m=wap&a=lists&catid=$1&page=$2&typeid=$1 ==列表页及单页地址
以上就是phpcms整站二开流程方法,介绍比较粗暴,不是非常详细,但,我们都是需要不断学习的,是么?引爆流量的一个点,是如何聚合网站数据,对于大数据的网站来说,这样的流程方法虽然不能彻底解放你的双手,但解放你一只手完全是足够的。有足够的内容支撑,大量的长尾栏目部署,解决了內链、内容等等问题,我相信流量只是一个时间问题【短时间内】,大多数站长也不会说SEO优化仅仅就是发发外链、写写文章那么简单!
本文版权所有 @ 妙学巧记转载请注明链接,谢谢!
A5创业网 版权所有