资讯专栏INFORMATION COLUMN

laravel 分页seo浅谈

Eastboat / 493人阅读

laravel 的分页是非常简单易用的,但是有一点不是非常理想,
默认的分页生成的链接是
users?page=1
这种形式对seo不是非常友好(理论上)
那么我们可能就需要像
users/page/1
这种形式的分页链接
那么怎么做到呢?
我现在有两种方式实现的方式
第一种是我之前项目中采用的,直接上正则
直接在blade中进行正则替换

 {!! preg_replace("~(/?)?page=~", "/page/", $users->render()) !!}

该正则应该有优化的空间,还望不吝赐教。
当然对应的路由也要相应的配置,很简单,就不展开了。

这种方法效果是实现了,但是真的很没有laravel的风格啊
laravel的风格是什么? composer , package啊
所以来介绍一下第二种方法
laravel-paginateroute
使用方法非常简单,以下摘自readme

第一步
// 要注意对应版本,可到https://packagist.org 方便查看
composer require spatie/laravel-paginateroute
第二步

注册,

// config/app.php

"providers" => [
    ...
    "SpatiePaginateRoutePaginateRouteServiceProvider",
];

"aliases" => [
    ...
    "PaginateRoute" => "SpatiePaginateRoutePaginateRouteFacade",
];
第三步
// app/Providers/RouteServiceProvider.php

use PaginateRoute;

// ...

public function boot(Router $router)
{
    PaginateRoute::registerMacros();

    parent::boot($router);
}
使用

在路由中

// app/Http/routes.php

// Generates /users & /users/page/{page}
Route::paginate("users", "UsersController@index");

这样会生成两条路由

/users
/users/page/{page}

然后在controller中正常按照laravel的分页写就可以
在页面中这样使用,这个是simplePaginate的对应写法

@if(PaginateRoute::hasPreviousPage())
  Previous
@endif

@if(PaginateRoute::hasNextPage($users))
  Next
@endif

更多使用方法请移步
就是点这里啦

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22409.html

相关文章

  • 浅谈CDN、SEO、XSS、CSRF

    摘要:要钱的简单理解百度的广告就是不用钱的自己配置提高搜索引擎的权重是一种技术,主要是用于提高网站浏览量而做的优化手段为什么需要我们搜一下微信公众号发现排名是有先后的,博客园都是靠前的。 CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN。 CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时。当时找不到相对应的JS文件...

    asoren 评论0 收藏0
  • 单页应用SEO浅谈(转载)

    摘要:中的哈希号单页应用只有一个页面,视图的变化通常是通过路由来驱动,首先,我们先来谈一谈单页应用的中的号,很多采用单元结构网站的都出现了这个符号。 单页应用SEO浅谈 单页应用(Single Page Application)越来越受web开发者欢迎,单页应用的体验可以模拟原生应用,一次开发,多端兼容。单页应用并不是一个全新发明的技术,而是随着互联网的发展,满足用户体验的一种综合技术。 S...

    xuhong 评论0 收藏0
  • 浅谈CDN、SEO、XSS、CSRF

    摘要:要钱的简单理解百度的广告就是不用钱的自己配置提高搜索引擎的权重是一种技术,主要是用于提高网站浏览量而做的优化手段为什么需要我们搜一下微信公众号发现排名是有先后的,博客园都是靠前的。 CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN。 CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时。当时找不到相对应的JS文件...

    番茄西红柿 评论0 收藏0
  • 浅谈ThinkPHP 5.0

    摘要:杰出的数据库迁移工具和紧密集成的单元测试支持,这些工具赋予你构建任何应用的能力。浅谈应公司要求,现在用重新搭一个框架,接触了几天对它也有了一定的了解。浅谈支持,支持单元测试。更加严谨了,异常严谨的错误检测和安全机制。 自从接触php开始,用的就是thinkphp框架,它给我的感觉是轻量,且容易上手。后来进了一家外包公司又用了laravel框架,个人觉得laravel还是很高大上的,功能...

    mtunique 评论0 收藏0
  • 浅谈前后端分离与实践 之 nodejs 中间层服务(二)

    摘要:服务端任需要进行校验来达到数据的可靠性前端的路由可能在服务端并不存在等等这一系列重用性的问题。串行并行,大幅缩短请求时间。关于作者本人主页本文部分图片段落参考文章淘宝前后端分离实践微信公众号会不定期推送前端技术文章,欢迎关注 一、背景 书接上文,浅谈前后端分离与实践(一) 我们用mock服务器搭建起来了自己的前端数据模拟服务,前后端开发过程中只需定义好接口规范,便可以相互进行各自的开发...

    ddongjian0000 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<