phpcms $seo(基于php的网站设计)

SEO优化 a1561571580 发布时间:2025-02-05 浏览:

phpcms $seo(基于php的网站设计)

phpcms模板制作,建站,仿站

这样回答你好了:

1.先搞清楚你需要建设网站的一个功能需求,如果简单,那你就找一般的公司,如果功能比较多比如b2c网站,一般的公司价格是低,但是做出来的网站比较垃圾,很多功能呢都无法实现,所以看个人的一个建站需求。如果你想要php网站语言编辑,必须找php程序员,.net的也可以给你做,但是不专业呗。

2.一般网站模版做出来的网站,太垃圾,根本满足不了你的seo推广要求,简单来说,他的模版都卖几百套或者上千套,做出来的seo类型都一样,试问这样的网站模版seo推广效果你敢要吗,所以建议你找公司量身定制比较好。

3.重新设计也就说,网站完全不用以前的任何功能模块,相当于重新建站,仿站也就是说你给他一个参考链接网站,然后他去照着这样的网站给你套模版,没有实质区别,但是价格一个天上一天地下。重新设计的网站构架利于seo推广,因为你不是仿照他人的网站去做。

4.一本来说,公司比较好,毕竟公司给你开发票,给你签合同,给你售后,有问题合同拿出来。这样谁的问题睡负责,清清楚楚。猪八戒毕竟不怎么正规,当然了价格也比较便宜,但是既然建站买的就是放心,多花几个钱倒也无所谓。

如果还有不懂,欢迎咨询我。有问必答!

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.

欢迎转载,但请保留原文地址

phpcms如何调用栏目优化标题

如何为PHPCMSV9的标题设置SEO

对于一个网站的页面,我们一般分为首页、栏目列表页和(文章)内容页。那么,我们就从这三个方面来看看如何在phpcmsv9中设置标题,使其更符合SEO规则。

首先,网站首页:

因为主页在网站中是独立且唯一的,所以它的标题是在后台单独设置的。设置位置:后台-设置-站点管理-(对应站点)修改-SEO设置-站点标题。

另外,如果没有设置seo的站点标题,上面的“站点名称”会显示为主页的标题。

当然,以上是系统在表面上设置后台首页标题所使用的操作方法。从程序的角度来看,主页标题的调用是通过主页的“标签”进行的。默认模板的调用如下:

{ifisset($SEO[title])!empty($SEO[title])}{$SEO[title]}{/if}{$SEO[site_title]}

然后,你可以在这里修改代码,自由调用你想放进去的东西,结合if判断灵活显示。另外$seo数组是由phpcms的全局函数库中的seo()方法生成的,可以二次开发自定义自己的生成机制。

分栏页面:

同样,我们先来看看后台的栏目列表页面标题内容的操作位置:

后台-内容-管理栏目-(在栏目列表右侧选择相应的栏目)修改-SEO设置选项卡-栏目标题。

在列列表页面的标题内容中,优先显示此处的内容。如果此处未设置,将显示主页的列名标题内容。

默认模板中,列列表页面的标题调用标签同上,但内容会根据seo()方法传入的不同$catid参数自动变化。

当然,你也可以使用其他标签自由调用你想要的或者修改定制你的调用规则。

内容页面:

一个页面的标题内容就是文章内容添加时的“标题”网站名称。默认模板中的调用标签还是和上面一样,也是seo()方法自动调用。可以定制和修改。

综上所述,数组$seo中的内容除了在后台相应位置设置你的标题内容外,主要是通过页面模板中的标签调用,$seo中的内容是通过SEO()方法调用你在后台填写的相应标题内容生成的。你可以通过修改php程序的标签规则或者seo方法来定义你的调用内容。

如何学习SEO?

SEO需要的技术真的太多了。没接触过和接触过和提升过。所知道的技术真的天差地别。

首先说一下基础的SEO知识把。

入门级SEO需要掌握知识及技术:htmlcssDIV各种CMS的运用及修改发现很多SEO连入门级需要的技术知识都掌握不全。

说下技术包含应用场景HTML这个是应用较多和频繁的。最基本的TDKmeta元标记og属性link标签>>注释A标签alt标签H标签strong标签nofollow这些都是html技术的支撑里面Css这个和html是一个包含关系。比如前提到H标签strong等Css用于定义样式文件所有样式有关的比如字体样式颜色加粗H标签定义标题大小的。

很多大概讲的话这些就是和SEO相关的。DIV这是网站布局里面块的应用。主要是html里面布局的部分。

CMS运用这个是重点了。大部分的SEO优化的站点使用的是开源的CMS这里面企业站的话以织梦和帝国为最。当然还有其他的但是最多的是这二类。这些CMS有很多功能是对于SEO很有好处。看你自己怎么用。能否熟练使用。

进阶级SEO需要掌握知识及技术:数据分析技术CMS功能开发JSpython定制功能正则采集和爬虫数据分析;基本数据分析利用比如EXC表格CMS功能开发需要PHP语言的熟悉织梦和帝国都是PHP的。如增加文章发布后自动主动推送给百度熊掌号。

可以在网上找到源码你还是的修改和利用。这里有人会说找程序员,交给程序员解决。没错如果公司有程序员是可以交个他们解决。但是如果我们知道这方面的知识在沟通和写需求的时候描述是否效率会提升包括沟通成本。而不是一点程序思维都没有瞎JB提需求。

JS:基本的了解和应用就可以了。比如跳转如何用JS作出302跳转效果PC端跳转移动端代码跳转适配这里面水很深。黑帽很多东西在JS里面都能找到亮点的特色。404跳转判断来访跳转。发现这里面举例跳转比较多。

因为缺少在Seo实战中这个JS效果用的比较多。而跳转有很多种。打个比方写一个最简单JS跳转效果。当网站页面被克隆时如何挽回流量?

分析:克隆页面那么就会包含页面所有的元素如果我写一个JS用来判断当前页面url是否为自己本身的url实现跳转是否就能把这一部分流量搞回来?这个代码我就不放放出来了网上很多也很简单。

判断当前url是否包含"XXX"不包含就跳到'XXX'如果克隆者并没有过滤掉JS的话。那么当用户访问克隆页面触发了JS就会跳转到被克隆的页面这是不是流量就回来了。

PYthon定制功能这个就很大了。比如一些日常的SEO操作查排名查收录查导出url分析爬虫日志推送不收录url到百度等等。。很多具体根据需求。所以作为一个进阶SEO你需要掌握python正则这个应用场景就太多了。

移动适配规则提交里面就用正则带适配url里面各层级的参数同时python里面识别很多都有正则包括采集里面对于url识别里面很多正则。采集和爬虫这个包含正则截取正则替换scarpy等。应用场景里面基本是大数据采集。

大神级SEO需要掌握知识及技术:数据分析模型建立与拓展PYthon自动化shell分析产品模型与需求。

这个就能难说叻。毕竟我也是在学习和进步中。和接触到的大神了解来说发现了一些技术,肯定还有一些隐藏的属性和技能没了解到。数据分析是一个大的东西。每个SEO大神对于SEO数据分析都有自己模型和维度。同时在做数据分析的时候会涉及到很多技术。

比如pythonshell等甚至很多我也不了解的技术。python自动化这个最近5118创始人李昊在最近分享中反复提到这个词。李昊是技术出身,所以对于SEO有着关于自动化、程序化、批量化执行执念。把一些SEO实战所需要的一些数???或者功能程序化自动化批量化。

shell也是用来做数据分析,用来剥离数据分析数据中间可以结合python用来获得需要的数据和效果。产品模型与需求做SEO都到大神级别了那么对于做产品或者做一些提升流量需求的产品和需求时也是需要了解和应用的。到了这一步我估计已经有一大批SEO哭死在路上。因为可能他们做了好几年可能还是在入门级SEO徘徊。当你和更多大神级SEO交流时候你就会发现技术原理技术思维无处不在。越是学习的越多了解的越多,发现自己懂得越少进步的空间越大。

祝好!希望题主不要被我这一大堆关于SEO技术给弄懵逼。一步一步来,一步一个脚印。回头看看自己的学习进步过程真的太有意义了。

欢迎大佬拍砖指正,欢迎新人交流讨论。欢迎同行和围观群众点赞、收藏、评论。

在线咨询

点击这里给我发消息QQ客服

在线咨询

免费通话

24h咨询:


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部