在建站做PC端和移动端适配的时候经常会提到绝对路径和相对路径,对“/”、“../”、“../../”;“http://域名/images/”、“/images/”之间的区别让很多WEB前端、SEO新手疑惑,这是非常重要的一个环节,SEO优化必须要有WEB前端的基础。下面吖七SEO把两者结合起来说一下。
URL写法一般有两种,绝对路径和相对路径,WEB前端主要是为了正确引用目录下的文件。内容管理系统CMS的路径不尽相同,有一些放在根目录下,有些放在和源文件同一个目录下。
比如根目录下有文件夹images(http://www.vi586.com/images/1.jpg)和源文件(http://www.vi586.com/a/b/pro.html),源文件pro.html引用根目录下的images文件夹可采用
<img src="/images/1.jpg"/> <img src="../../images/1.jpg"/> <img src="http://www.v586.com/images/1.jpg"/>
只有一个“/”代表的是根目录(是用户能访问得到网站根目录,并不是购买的虚拟空间或服务器的根目录);“../”代表源文件的上级目录;“../../”表示源文件的上上级目录,以此类推,建议采用绝对路径的形式,保证抓取路径的唯一性,这个对SEO是非常重要的环节。当然相对路径对网站搬家来说比较简单,直接移植过去就行了。绝对路径就需要调用,cfg_basehost是个变量,在dedeCMS系统设置里面,网站搬家后修改后直接再生成就好。
<img src="{dede:global.cfg_basehost/}/images/1.jpg"/>
比如根目录下有文件夹images(http://www.vi586.com/images/)和源文件(http://www.vi586.com/index.html),源文件index.html引用根目录下的images文件夹直接写文件名即可。
<img src="images/1.jpg"/>
wap.vi586.com,seo.vi586.com等都是二级域名,百度会给予比子目录(http://www.vi586.com/wap/或http://www.vi586.com/seo/)稍高的权重。但是用.htaccess重写路径之后,发现很多地方采用的是相对路径,出现404错误。
比如二级域名http://wap.vi586.com下,<img src="/upload/image/1.jpg"/>实际路径是http://wap.vi586.com/upload/images/1.jpg,而这个路径下面是没有这个文件的,真正文件路径是http://www.vi586.com/images/1.jpg,因此写绝对路径还是很有必要。
如果采用dedeCMS之类的内容管理系统有这方面的设置,能一步解决所有的附件、链接等都为绝对路径,这对SEO优化来说是杠杠的!遇到的问题比较多,比如某个频道链接的实际绝对路径是http://www.vi586.com/wap/channel1/,而我们希望的实际绝对路径是http://wap.vi586.com/channel1/,参考文章《dede用php函数修改二级域名相对路径变绝对路径链接》
二级域名下很多默认的标签都在未采用绝对路径之前的实际路径为"http://wap.vi586.com/wap/images/",很明显是错误的。.htaccess只能改写点击URL访问的问题,但是文件路径调用却不能解决,可以采用php的str_replace函数的命令,这样就能全移动站的路径都是以http://wap.vi586.com开头的绝对路径,权重更集中,不会出现蜘蛛反复跳转的问题。下面为大多数二级域名下的修改方法
<!--频道、文章调用链接绝对路径--> {dede:channel}[field:typeurl function='str_replace("/wap","http://wap.vi586.com",@me)']{/dede:channel} {dede:arclist}[field:arcurl function='str_replace("/wap","http://wap.vi586.com",@me)']{/dede:arclist} <!--面包屑导航绝对路径--> {dede:field name='position' function='str_replace("/wap","http://wap.vi586.com",@me)'/} <!--上下篇绝对路径--> {dede:prenext get='pre' function='str_replace("/wap","http://wap.vi586.com",@me)'/} {dede:prenext get='next' function='str_replace("/wap","http://wap.vi586.com",@me)'/} <!--文章图片绝对路径--> {dede:field name='body' function='str_replace('/upload/','http://www.vi586.com/upload/',@me)'}
移动端面包屑导航还有一个主页的链接仍然是http://www.vi586.com,不分散权重可以设置成相对路径“/”,打开/include/typelink.class.php,找到
$this->indexUrl = $GLOBALS['cfg_basehost'].$GLOBALS['cfg_indexurl'];
修改为
$this->indexUrl = $GLOBALS['cfg_indexurl'];
这样的修改方法适合二级域名解析到子目录下的做法,如果一个空间服务器安装两个CMS就简单得多,参考文章《SEO优化排名靠前不可忽略的标题和面包屑导航》,至此二级域名(移动端的)附件、链接修改完毕。
本文地址:https://www.vi586.com/tool/275.html
版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处