绝对路径和相对路径的区别
绝对路径指的是包含域名的完整网址,相对路径指的是不包含域名的被链接页面相对于当前页面的相对网址。
比如页面 A 的 URL 是 https://www.xinbaoku.com/archive/8DFPFMFw.html,页面 B 的URL是 https://www.xinbaoku.com/archive/Ov9tDH5J.html,页面 A 链接到页面 B 时使用的代码如下:
如果使用完整的 URL:
网站应该使用绝对路径还是相对路径呢?对SEO有什么影响?没有绝对答案,两者各有优缺点。
假设站长希望被收录的 URL 是带 www 的版本,由于技术原因不能从 http://example.com 做 301 转向到 http://www.example.com,所有页面中的链接使用绝对路径,例如:
即使网页移动位置,网页中的链接还是指向正确的 URL。
绝对路径缺点如下:
相对路径的缺点如下:
如果不能做 301 重定向,因而产生了严重的网址规范化问题,使用绝对路径有助于解决网址规范化问题。如果文章被大量转载、抄袭,使用绝对路径可以带来一些外部链接。除此之外,使用相对路径比较简单。
在正常情况下,相对路径不会对网站有什么副作用,绝对路径也不会有什么特殊好处。搜索引擎错误解析相对路径URL的可能性是非常低的。
比如页面 A 的 URL 是 https://www.xinbaoku.com/archive/8DFPFMFw.html,页面 B 的URL是 https://www.xinbaoku.com/archive/Ov9tDH5J.html,页面 A 链接到页面 B 时使用的代码如下:
<a href="/archive/Ov9tDH5J.html">页面B的链接文本</a>
这就是相对路径。如果使用完整的 URL:
<a href="https://www.xinbaoku.com/archive/Ov9tDH5J.html">页面B的链接文本</a>
也就是浏览器地址栏中所显示的完整的 URL,就是绝对路径。网站应该使用绝对路径还是相对路径呢?对SEO有什么影响?没有绝对答案,两者各有优缺点。
绝对路径
绝对路径的优点如下:- 如果有人抄袭、采集你的网站内容,抄袭者比较懒,连页面里面的链接一起原封不动地抄袭过去,绝对路径链接还会指向你的网站,增加网站外链及权重。
- 网站有 RSS 输出时,内容会被一些 Feed 聚合网站抓取显示。同样,页面里指向原网站的链接会被保留。
- 有助于预防和解决网址规范化问题。
假设站长希望被收录的 URL 是带 www 的版本,由于技术原因不能从 http://example.com 做 301 转向到 http://www.example.com,所有页面中的链接使用绝对路径,例如:
http://www.example.com/article.html
http://www.example.com
即使网页移动位置,网页中的链接还是指向正确的 URL。
绝对路径缺点如下:
- 除非链接是动态插入的,不然不好在测试服务器上进行测试。因为里面的链接将直接指向真正域名的 URL,而不是测试服务器上的 URL。
- 除非链接是动态插入的,不然移动页面将比较困难。因为页面位置发生变化,其他页面链向本页面的链接可能无法跟着变化,还指向原来的已经硬编码的绝对路径。
- 代码比较多。链接数量大时,多出来的字符可能使 HTML 文件变大不少。
相对路径
相对路径正好相反,优点如下:- 移动内容比较容易,不用更新其他页面上的链接。
- 在测试服务器上进行测试比较容易。
- 节省代码。
相对路径的缺点如下:
- 页面移动位置,里面的链接可能也需要改动。
- 被抄袭和采集的网站没有任何益处。不过很多采集软件其实是可以自动鉴别绝对路径和相对路径的,所以使用绝对路径有助于自己的链接留在采集网站上,只在某些情况下是有效的。
- 搜索引擎解析 URL 时可能出错,不能正确读取页面上的链接 URL。
如果不能做 301 重定向,因而产生了严重的网址规范化问题,使用绝对路径有助于解决网址规范化问题。如果文章被大量转载、抄袭,使用绝对路径可以带来一些外部链接。除此之外,使用相对路径比较简单。
在正常情况下,相对路径不会对网站有什么副作用,绝对路径也不会有什么特殊好处。搜索引擎错误解析相对路径URL的可能性是非常低的。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算