欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

SEO优化,Laravel,yii2,restfull。本贴里有好几个问题,烦请有这方面知识的朋友赐教

程序员文章站 2022-05-29 18:02:52
...
为了SEO做到优化,我觉得URL不应该出些module name,controller name。只应该出现文章的slug.

我自己的小说站是这说设计的
http://www.x.com/gulong 作者古龙的信息
http://www.x.com/xiaolifeidao 小说《小李飞刀》的具体内容。
http://www.x.com/youxiuzhuojiapaiming 这是一个论坛的版块《优秀作家排名》

我会有一个system_slug表。
根据slug表查询出这篇文章的是属于news模块,还是属于小说模块。

SystemController {
               public funciton distributionController($slug)
               {
                        $module = "select moduleName from system_slugs where slug='slug';         
                        $contoller = "select contollerName from system_slugs where slug='slug';         
                        return $module::$contollerName($slug);
               }
}

1,我这个小说站用的是Laravel,很方便这样写。如果换成Yii2的,这样写行得通吗,(下一个项目比较大,也比较长久,已经决心用Yii2,Yii2的路由分配好像不足够灵活?)
2,这种模式来优化seo有没有问题啊?
3,我在国外的stackflow上看到有人提这个问题。有人回答说最好用restfull来处理这样设计,我不懂。用restfull怎么就更有利于实现这样的想法呢?

回复内容:

为了SEO做到优化,我觉得URL不应该出些module name,controller name。只应该出现文章的slug.

我自己的小说站是这说设计的
http://www.x.com/gulong 作者古龙的信息
http://www.x.com/xiaolifeidao 小说《小李飞刀》的具体内容。
http://www.x.com/youxiuzhuojiapaiming 这是一个论坛的版块《优秀作家排名》

我会有一个system_slug表。
根据slug表查询出这篇文章的是属于news模块,还是属于小说模块。

SystemController {
               public funciton distributionController($slug)
               {
                        $module = "select moduleName from system_slugs where slug='slug';         
                        $contoller = "select contollerName from system_slugs where slug='slug';         
                        return $module::$contollerName($slug);
               }
}

1,我这个小说站用的是Laravel,很方便这样写。如果换成Yii2的,这样写行得通吗,(下一个项目比较大,也比较长久,已经决心用Yii2,Yii2的路由分配好像不足够灵活?)
2,这种模式来优化seo有没有问题啊?
3,我在国外的stackflow上看到有人提这个问题。有人回答说最好用restfull来处理这样设计,我不懂。用restfull怎么就更有利于实现这样的想法呢?

你这种写法当然也没太大问题,url路径会比较短,但是目录结构层次不够清晰。为了做SEO重点是不能有动态URL,也就是带上问号的那种。Restful的风格是比较好处理这种情况,也不用去配复杂的路由。

比如说你这个情况,这些都应该属于某一种类型,那么url就应该是:
http://www.x.com/author/gulong 作者古龙的信息
http://www.x.com/novel/xiaolifeidao 小说《小李飞刀》的具体内容。
http://www.x.com/board/youxiuzhuojiapaiming 这是一个论坛的版块《优秀作家排名》

但是上面直接用拼音挺奇怪的,因为这是个动态增长的数据,所以一般来说是id编号,以小说为例:
http://www.x.com/novel/1
对应的NovelController就有一个“/novel/{id}”的URL来对应,id根据URL动态获取即可。

这样的设计有明确的分类,目录层次也不会太多,人看起来容易懂,爬虫也容易理解,所以自然权重会更高一点。

相关标签: php yii2 laravel