承接 lee-to/laravel-seo-by-url 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lee-to/laravel-seo-by-url

Composer 安装命令:

composer require lee-to/laravel-seo-by-url

包简介

Easy seo for Laravel and MoonShine

README 文档

README

Laravel 9+ PHP 8+

Prolog

Seo data is stored in the database in the seo table and is linked to pages based on the url, the url is unique for websites, therefore, the seo in this package is built from it

  • Easy to use
  • Not tied to entities
  • All data is cached relative to url and reset by events on the model

Installation

composer require lee-to/laravel-seo-by-url

Publish config

php artisan vendor:publish --provider="Leeto\Seo\Providers\SeoServiceProvider"
php artisan migrate

Are you a visual learner?

We've recorded a video on how to use this package. It's the best way to get started using media library

MoonShine

if you use the MoonShine, then publish the resource with this command

#for version 4+
php artisan seo:moonshine

#for version 3
php artisan seo:moonshine_old

Get started

For starters, you can choose the best usage approach for you:

  • Facade
use Leeto\Seo\Seo;

// ...

Seo::title('Hello world')
  • Helper
seo()->title('Hello world')
  • DI
use Leeto\Seo\SeoManager;

// ...

public function __invoke(SeoManager $seo)
{
    //
}
  • Ok I prefer to use the helper

Blade directives

Render meta tags

title, descriptions, keywords, og

<html>
<head>
    <!-- // ... -->

    @seo

    <!-- // ... -->
</head>

Render seo text

<div>
    @seoText('Default text')
</div>

Set and save seo data

  • set
seo()->title('Im page title')
  • set and save in database
seo()->title('Im page title', true)
  • other tags
seo()->description('Im page description')
seo()->keywords('Im page description')
seo()->text('Im page description')
seo()->og(['image' => 'link to image'])
  • get value
seo()->meta()->title()
seo()->meta()->description()
seo()->meta()->keywords()
seo()->meta()->text()
seo()->meta()->og()
  • get html tags
seo()->meta()->html()
  • save by model
use Leeto\Seo\Models\Seo;

Seo::create([
    'url' => '/',
    'title' => 'Im title'
]);

Default values

Set in seo config config/seo.php

return [
    'default' => [
        'title' => 'Im title'
    ]
]);

Inertia

Use Shared Data

class HandleInertiaRequests extends Middleware
{
    //
    public function share(Request $request)
    {
        return array_merge(parent::share($request), [
            // ...

            'seo' => [
                'title' => seo()->meta()->title(),
                'description' => seo()->meta()->description(),
                'keywords' => seo()->meta()->keywords(),
                'og' => seo()->meta()->og(),
                'text' => seo()->meta()->text(),
            ]
        ]);
    }
    //
}
import { Head } from '@inertiajs/vue3'

<Head>
  <title>{{ $page.props.seo.title }}</title>
  <meta name="description" :content="$page.props.seo.description">
</Head>

统计信息

  • 总下载量: 10.62k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 23
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 23
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-01-21

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固