关于 laravel 分页 seo浅谈

发布时间 - 2020-04-14 00:00:00    点击率:

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' => [
    ...
    'Spatie\PaginateRoute\PaginateRouteServiceProvider',
];
'aliases' => [
    ...
    'PaginateRoute' => 'Spatie\PaginateRoute\PaginateRouteFacade',
];

第三步

// 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

推荐:《laravel教程》


# laravel  # composer  # SEO  # 分页  # 不吝赐教  # 也要  # 就不  # 我现在  # 真的很  # 要注意  # 很简单  # 两条  # 种方法 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 焦点电影公司作品,电影焦点结局是什么?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Java解压缩zip - 解压缩多个文件或文件夹实例  如何用美橙互联一键搭建多站合一网站?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何用VPS主机快速搭建个人网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何在云指建站中生成FTP站点?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Laravel如何处理CORS跨域请求?(配置示例)  制作公司内部网站有哪些,内网如何建网站?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  EditPlus中的正则表达式实战(5)  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  七夕网站制作视频,七夕大促活动怎么报名?  北京网站制作的公司有哪些,北京白云观官方网站?  在线制作视频网站免费,都有哪些好的动漫网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何在Tomcat中配置并部署网站项目?  网站制作企业,网站的banner和导航栏是指什么?  晋江文学城电脑版官网 晋江文学城网页版直接进入  如何在腾讯云服务器快速搭建个人网站?  Laravel如何使用Vite进行前端资源打包?(配置示例)  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  如何用IIS7快速搭建并优化网站站点?  如何在万网利用已有域名快速建站?  原生JS实现图片轮播切换效果  Laravel如何使用Service Container和依赖注入?(代码示例)  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何在阿里云ECS服务器部署织梦CMS网站?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  微信公众帐号开发教程之图文消息全攻略  Laravel如何创建自定义Facades?(详细步骤)  LinuxCD持续部署教程_自动发布与回滚机制  简单实现Android文件上传  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  活动邀请函制作网站有哪些,活动邀请函文案?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  西安专业网站制作公司有哪些,陕西省建行官方网站?  微信小程序 canvas开发实例及注意事项  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  php485函数参数是什么意思_php485各参数详细说明【介绍】