随着互联网技术的飞速发展,越来越多的网站开始采用WordPress和PHPcms作为平台。WordPress以其强大的功能和丰富的插件,深受广大用户喜爱;而PHPcms则以其高效、稳定的特点,成为企业建站的优选。如何从WordPress迁移到PHPcms呢?本文将为您提供全方位的攻略,让您轻松完成迁移。
一、为什么要从WordPress转PHPcms?
1. 性能提升:PHPcms相比WordPress在性能上更优,能够更好地满足大规模网站的运行需求。
2. 安全性:PHPcms在安全性方面更为可靠,能够有效防止黑客攻击。
3. 定制化:PHPcms提供了丰富的模板和插件,方便用户进行定制化开发。
4. SEO优化:PHPcms在SEO方面具有天然优势,有助于提高网站在搜索引擎中的排名。
5. 企业级功能:PHPcms为企业级网站提供了更多实用功能,如多站点管理、会员管理等。
二、WordPress转PHPcms的准备工作
1. 备份WordPress网站:在迁移之前,首先要备份您的WordPress网站,以免数据丢失。
2. 确定PHPcms版本:根据您的需求选择合适的PHPcms版本,如企业版、社区版等。
3. 购买PHPcms域名和空间:为您的PHPcms网站购买合适的域名和空间。
4. 下载PHPcms安装包:在PHPcms官网下载最新版本的安装包。
5. 准备迁移工具:选择合适的迁移工具,如插件、API等。
三、WordPress转PHPcms的具体步骤
1. 导入内容:
* 使用插件:通过WordPress插件(如WordPress to PHPcms)将内容导入PHPcms。
* 手动导入:将WordPress网站中的文章、图片等数据手动复制粘贴到PHPcms中。
2. 迁移数据库:
* 使用工具:使用phpMyAdmin等数据库管理工具,将WordPress数据库中的数据导入PHPcms数据库。
* 手动操作:将WordPress数据库中的数据手动迁移到PHPcms数据库。
3. 修改配置文件:
* 修改PHPcms配置文件:根据实际需求修改PHPcms配置文件,如数据库连接信息、站点设置等。
* 修改WordPress配置文件:修改WordPress配置文件,确保其与PHPcms兼容。
4. 调整模板:
* 使用现有模板:选择与WordPress风格相似的PHPcms模板,并进行调整。
* 定制模板:根据需求定制PHPcms模板,以达到更好的视觉效果。
5. 测试和优化:
* 测试网站功能:测试网站各项功能,确保迁移后的网站正常运行。
* 优化网站性能:对网站进行性能优化,如压缩图片、缓存等。
四、常见问题及解决方案
常见问题 | 解决方案 |
---|---|
数据丢失 | 重新导入数据,或联系技术支持 |
网站无法访问 | 检查网络连接、域名解析等 |
配置错误 | 查看配置文件,修改错误配置 |
模板不兼容 | 更换模板,或联系技术支持 |
从WordPress转PHPcms是一项较为复杂的工作,需要您耐心细致地操作。本文为您提供了详细的攻略,希望对您有所帮助。在迁移过程中,请注意以下几点:
1. 备份网站:确保数据安全。
2. 选择合适版本:根据需求选择PHPcms版本。
3. 合理规划:制定详细的迁移计划。
4. 学习相关知识:提高自己的技术水平。
相信通过本文的指导,您一定能够顺利完成WordPress转PHPcms的迁移工作。祝您网站迁移顺利,取得更好的发展!
问个问题,phpcms dedecms wordpress各有何优劣势
wordpress是一款优秀的博客系统,做小型文章类博客网站居多;
dedecms和phpcms都是综合内容管理系统,也就是中小型文章、图片、视频站都可以做,从功能方面来讲差不多。
我个人认为(以下内容不免带有个人喜好色彩,只供参考):
dedecms相对来说更老一些,架构上没有phpcms优秀,我很喜欢phpcms的mvc模块化单入口结构,所以我更喜欢用phpcms做二次开发,安全上,从我给客户做的网站被植入木马的次数来看,dedecms较多。
另外,dedecms的模板标签相对于phpcms的更庞杂一些,庞杂到很多站长记不住那么多标签只能借助于一些标签生成器,而phpcms只需要了解{}\pc\if\loop几个标签然后灵活组合使用即可。
dedecms是一个老牌cms,所以网上分享的dedecms模板多于phpcms模板。
phpcms页面跳转
希望phpcms跟WordPress一样,能够在文章发布页面自定义url,从而提高SEO优化吗?phpcms V9版本默认是不支持自定义网址的,不过只要跟我一起稍微做下改动即可实现自定义url,甚至超过WordPress的固定连接功能。
添加字段
内容-模型管理-选择你要修改的模型,一般是文章模型,然后是字段管理,添加字段
作为主表字段,选择是,非常重要,否则在批量生成url中会无法生成自定义字段
字段名为prefix不建议修改,因为要跟后面的代码关联起来
字段别名为 html文件名,这个随意,好记即可
值唯一选是,你不希望2篇文章的url是同一个吧,这样就会覆盖上一篇文章
其他保持默认即可
修改网址生成文件
打开/phpcms/modules/content/classes/url.class.php
大概在 67行找到
$day= date(“d”,$time);
在其下方插入
$tmp_id=$content_ishtml&&$prefix?$prefix:$id;//增加自定义HTML文件名支持
代码大概的意思是,如果纯在字段prefix则使用该字段的值,如果不存在则直接显示文章ID
紧接着下一行的代码应该是
$urls= str_replace(array(“{$categorydir}”,”{$catdir}”,”{$year}”,”{$month}”,”{$day}”,”{$catid}”,”{$id}”,”{$page}”),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page),$urlrule);
在第二个array中把$id替换成$tmp_id,完整代码如下
$urls= str_replace(array(“{$categorydir}”,”{$catdir}”,”{$year}”,”{$month}”,”{$day}”,”{$catid}”,”{$id}”,”{$page}”),array($categorydir,$catdir,$year,$month,$day,$catid,$tmp_id,$page),$urlrule);
这样他就会判断,如果prefix的值存在则取该值,不存在还是用原来的文章ID,非常方便不是。
注意:该代码只有在纯静态下支持,在伪静态中暂时没有想到好的办法。如果把$tmp_id这行中的$content_ishtml&&删除,那么伪静态后的网页也是打不开的,因为动态网址后面跟的必须是文章ID,如果跟的是其他值就不存在该文章了。
修改生成HTML的文件
打开/phpcms/modules/content/create_html.php,找到代码
$urls=$this->url->show($r['id'],'',$r['catid'],$r['inputtime']);
共有三处,批量替换成
$urls=$this->url->show($r['id'],'',$r['catid'],$r['inputtime'],$r['prefix']);
因为PHPCMS生成内容HTML文件共有三处,所以上面的替换就有三处。
创建或编辑内容时会生成HTML
内容管理里下面有个“批量生成HTML”
发布管理的“批量更新内容”他又包含了先择模型生成和不选择模型生成
享受战果
后台-扩展-URL规则管理中,URL规则用{$id}即可,当prefix中有值,则文章url显示prefix的值,没有则调取默认的文章ID值。
补充
在定义$tmp_id之前加上以下代码
$prefix= str_replace(“”,”-“,$prefix);
$prefix= strtolower($prefix);
把空格转换成短横杠,你不希望把翻译好的英语词组之间的空格手动填写横杠来区分吧。
把大小字母转换成小写字母,网址中有大写字母总显得不太美观。
我新加的自定义字段,设置了判断唯一值。但是当我不想填写这个字段时,他也提示重复。所以我想有没有办法让他判断,只有在非空值时才判断唯一值?
打开/phpcms/modules/content/fields/content_input.class.php
查找
if($this->fields[$field]['isunique']&&$this->db->get_one(array($field=>$value),$field)&& ROUTE_A!='edit') showmessage($name.L('the_value_must_not_repeat'));
替换成
if($this->fields[$field]['isunique']&&$value&&$this->db->get_one(array($field=>$value),$field)&& ROUTE_A!='edit') showmessage($name.L('the_value_must_not_repeat'));
如果我们希望实现在有prefix则调用prefix,无则用当前日期,该怎么办?
$diytime=date('YmdHi',$time);
$tmp_id=$content_ishtml&&$prefix?$prefix:$diytime;//增加自定义HTML文件名支持
$tmp_id=$content_ishtml&&$tmp_id?$tmp_id:$id;//静态页面用上面判断的$tmpid值,动态页面则调用$id值
在原来的tam_id之前定义了一个时间变量,然后进行判断。但是在动态页面时,id值会变成时间,就无法显示文章了,所以最后还加了一行,如果是静态页面则执行第二行的判断,否则就调用ID.
欢迎转载,但请保留原文地址
PHP免费cms系统哪个好
国内目前流行的免费的php+cms比较
备注:免费CMS的PHP程序下载都可以在他们的官方网站上下载(有一些不是开源的,但有免费版),如果您对cms的概量还不很理解,请看这里:什么是CMS?
网站内容管理系统,即ContentManagementSystem,英文缩写是CMS。网站内容管理系统具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。网站内容管理系统的功能并不只限于文本处理,它也可以处理图片、Flash动画、声像流、图像甚至电子邮件档案。网站内容管理系统其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。
国内最常用的PHP+MySql免费开源CMS系统大全
1.DEDE-这是一款国内开源的cms,作者是一个个人,能做出如此功能的cms,是相当不错的。2007版功能十分强大,希望能改善之前数据量一大,更新静态页就很慢的缺点。因为开源,有较多的玩家和拥护者。非常适合有一定编程基础的站长。
官方:
2.phpcms-一个综合的网站管理系统,由PHP+MYSQL构架全站生成html,能够快速高效地应用于LINUX和WINDOWS服务器平台,是目前中国LINUX环境下最佳的网站管理应用解决方案之一。据传被酷6收购。
官方:
3.帝国网站管理系统-Ecms全称为”帝国网站管理系统”,英文译为”EmpireCMS”简称”Ecms”.Ecms是基于B/S结构,且功能强大而易用的网站管理系统.是一个经过完善设计的适用于Linux/windows/Unix等环境下高效的网站解决方案。
官方:
4.php168-PHP168整站系统,代码全部开源,可方便的进行二次开发,功能模块可以自由安装与删除,个人用户免费使用。系统频道模块很多,适合作个人门户网站。较多页面没有生成静态页。如果你想建站,就义无反顾的选择它吧!!!
官方:
5.HBcms:一个以PHP官方推荐的PEAR+SMARTY技术架构的cms,比较容易上手,适合没经验的新人做网站。没有下载,分类信息等模块,适合做文章为主的网站。全站生成静态页,默认附带了几套模板,可以方便的更换模板。个人企业都免费,无需授权。
官方:
6.SupSite-一款将论坛资源自动转换成门户网站的php程序系统,使用SupeSite,并利用你现有的论坛,你将自动拥有一个功能完备的,资源丰富的站点系统;由论坛变成网站,一切都是自动完成,你不需要任何干涉。让你轻轻松松实现建立网站的目的。
官方:
7.曼波-MAMBO,一个国外的CMS系统,功能很强大,支持添加很多组件,模块;拥有丰富的模板.Mambo是一个网站内容管理系统(CMS),它是网站的后台引擎,使网站内容的创建、管理和共享更加简易。Mambo十分强大,但官方网站也承认,它不是典型的“门户”网站解决方案。
官方:
8.Joomla!是一套在国外相当知名的内容管理系统,2007年开源cms第一名!Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、Windows、MacOSX等各种不同的平台上执行。操作接口除了美观之外,也花了很多心力在设计这些接口的简易操作性。但初次使用者,需要花一点时间学习一下操作的方式,才能运用自如。。
官方:
9.Drupal-Drupal是一个强大的软件,它可以让个人或社区使用者很容易地发表、管理并组织一个网站里大量且多样的内容。已经有许多个人和组织采用Drupal来建立各种不同的网站。Drupal是一套采用GPL授权的开放源码软件,是由数以千计的使用者和开发人员所共同维护和开发的。
官方:
10.WordPress-是一款基于PHP和MySQL的Blog软件,但是它也可以当作简单的cms系统来用。通过它可以快速而简便的搭建属于你自己的Blog(网站)平台。简而言之,这个Wordpress就相当于咱们用来搭建论坛的那些程序,比如用在自留地上的雷傲,还有别的比如PHPBB等等Wordpress因为它的安装简单和可扩展性好几乎已经成了独立搭建Blog平台的第一选择。Wordpress还有一个MU就是多用户的版本,支持多用户的Blog系统。
官方:
说到免费的PHPCMS系统,再看看目前国外的CMS状况
国外的cms比较发现:通过Alexa统计的几个主要的CMS(ContentManagementSystem)工具的最近三个月网站日浏览的统计,这份统计包括Drupal,Joomla,Mambo,Xoops和Typo3,很明显可以看出曾经的CMS老大Xoops已经式微,Mambo在变故之后半死不活,Typo3一直都名声平平(不知道Typo3与Typo是什么关系,Typo是基于RubyonRails(ROR)的blog系统,有着非常kool的ajax应用,正准备搭一个Typo看看)而相比较而言,Joomla与Drupal却变得越来越popular,四月中的那次飞跃估计与Drupal的最终推出关系比较大。当然这只是对于各个CMS的流行程度的一个估测值,会有这样那样的bias,譬如可能因为是Drupal的安装使用过于复杂所以用户才不断的到Drupal.org上去问问题,导致Drupal的网站页面访问上升,而Xoops因为发展历史很长,并且使用简单,所以用户在下载安装之后不用经常的去Xoops的网站寻求帮助(呵呵,GRE逻辑题)。但是不管怎样这份Alexa的Pageviews的统计还是能给我们指一指CMS的流行风向。点这里查看CMS整站系统介绍
如何选择最优秀的CMS,最好的CMS
现在每个CMS功能介绍上都会说自己的产品如何强大,比如说什么模板体系如何好,缓存技术如何高明,刷新效率,负载容量如何强,操作如何如何简单,容易上手,跟第三方无缝结合,还有功能模块的如何丰富,生成静态发布,信息采集吹牛谁都会,大家都会写,关键是客户如何认为,不用功能很多。另外,CMS系统SEO搜索优化也是比较重要的因素,适用得当,可以给你带来很多搜索引擎的流量。
一句话,适合自己的就是最好的。