ecshop是一款非常好的B2C开源程序;但SEO方面做的不足的地方不少,比如404、TITLE方面,今天分享下ecshop404设置方法
默认的ECSHOP也做了这方面的设置,它的设置是这样的:
当某个商品或者商品类别不存在的时候,自动跳转到了首页。
通过查看日志,你会发现这样的跳转返回的是状态码是 302,而不是404。
302对搜索引擎非常不友好,经常大姨妈的百度不知道什么时候会把你的首页给K了;因此无论是客户体验还是SEOecshop做404势在必行
一)、
首先讲一下如何修改配置文件,
本人所知一共有两种方法可以选择,请读者针对自身情况选择适合自己的方法。
1)、一种方法是在 httpd.conf 里进行设置,如下图所示:
这个需要你有足够的权限或者你的空间商允许你修改你网站对应的那个httpd.conf 才行
2)、另一种方法是直接修改你网站根目录下的 .htaccess 文件
用记事本软件打开你的 .htaccess文件,在最底部加入下面代码
ErrorDocument 404 /404.html
这个方法容易操作,适合所有人,建议新手朋友使用这种方法。
还有一点小细节需要注意,这个细节也曾经让本人吃了不少苦头。
就是你制作的404.html 网页不能太小,不能少于2KB,
如果小于2KB,浏览器也不会正常显示。安全起见,要做成10KB以上才最保险。
二)、
下面再讲一下 针对“商品ID或商品类别ID不存在的时候”的404页面。
因为这种情况发生的时候已经进入了goods.php,已经开始“程序读取数据”的进程,
已经不再受 httpd.conf 和 .htaccess 配置文件的约束了,
所以这个需要在程序文件中加跳转代码来实现,
默认的ECSHOP也做了这方面的设置,它的设置是这样的:
当某个商品或者商品类别不存在的时候,自动跳转到了首页。
通过查看日志,你会发现这样的跳转返回的是状态码是 302,而不是404。
了解SEO的朋友应该明白这样是不太好的,所以我们要用下面的方法来优化它。
依次打开下面几个文件 goods.php、article.php 、category.php、article_cat.php
将每个文件中的
ecs_header("Location: ./\n");
都修改为
require('404.html');
@header('HTTP/1.1 404 Not Found');
@header('Status: 404 Not Found');
然后,你可以用IE浏览器测试一个不存在的商品ID或者类别ID看看,
如果出现的是你自定义的那个404页面,那就说明以上的各步操作都是对的。
然后再去查看下系统日志,看看返回的状态码是不是404,如果是的话,那就大功告成了。
相关阅读:ecshop title优化