gustocoder / tyfoon-seo
Laravel SEO 包。它将帮助您优化您的网页以进行 SEO。它将引导您创建所有必要的 SEO 标签,通常还会解释每个标签的目的、其格式或语法等。在这样做的同时,SEO 元素将在渲染过程中为您生成。
Requires
- php: ^7.0|^8.0
README
Laravel SEO 包。优化您的网页以进行 SEO。它将引导您创建所有必要的 SEO 标签,通常还会解释每个标签的目的、其格式、语法等。SEO 元素将在每个视图请求时为您生成。只需将其添加到视图的布局中。
如何安装
composer require gustocoder/tyfoon-seo
安装后,迁移文件将自动发布到
'database/migrations/'
如果没有,您可以在 CLI 中运行以下命令来发布它们
php artisan vendor:publish --tag=tyfoon-seo-migrations
接下来,运行迁移以创建 SEO 数据库表
php artisan migrate
或者
您可以选择只运行 SEO 表的迁移,同时保留其他应用程序数据库表不变。依次运行这两个迁移。只需在您的 'database/migrations' 目录中验证下面的文件名是否正确即可
php artisan migrate:refresh --path=/database/migrations/2024_05_14_091500_create_tyfoon_seo_global_table.php
php artisan migrate:refresh --path=/database/migrations/2024_05_14_091510_create_tyfoon_seo_table.php
如果您有问题,请确保 TyfoonSeoServiceProvider 类已在您的 /bootstrap/providers.php 中注册。
使用该包
该包的落地页面(主页)路由如下
访问您的应用程序中的 '/seo' 路由,例如 yourAppName/seo
在这里,您可以看到创建应用于您网站所有页面的全局 SEO 数据的选项。这包括网站使用的语言、地理位置、站点发布者、Facebook/Twitter ID 等
当您点击创建全局 SEO 数据的按钮时,表单看起来如下
当您点击创建页面 SEO 数据的按钮时,表单看起来如下
您必须为网站上的每个单独的网页创建并保存条目。这可能是一个繁琐和细致的过程,但这就是 Tyfoon SEO 存在的原因。SEO 优化是一个繁琐的过程,尤其是因为每个页面的数据都必须是唯一的。
Tyfoon SEO 通过提供已知字段来简化此过程,这样您就无需知道网页需要哪些 SEO 字段。这意味着您可以使用此包来优化您的网页,在搜索引擎中排名第一位,而无需成为 SEO 专家。然而,尽管 Tyfoon SEO 无法帮助您处理与营销和链接构建相关的其他 SEO 方面,但它涵盖了页面上 SEO 的第一个也非常重要方面,也称为技术 SEO。
-
更重要的是;在创建 SEO 数据的表单中,每个表单字段上方都有文本标签,用于通知您该数据片段及其必要性。它旨在提供有关以下内容的信息
- SEO 数据名称
- 它的含义
- 如果适用,最大字符长度——它甚至会限制您可以输入的字符数。
这非常好,因为您可以从这个系统中学到很多关于 SEO 的知识。这是设计初衷。我们想要与您分享我们从优化搜索引擎网页的大量研究和经验中学到的教训。
最终,Tyfoon SEO 为您提供了在视图布局中调用的功能,以便自动生成并插入视图的 SEO 数据。下面我将向您展示这些函数。一旦您完成了表单的填写并为您所有的视图文件创建了 SEO 数据,您就几乎完成了。您接下来需要做的只是复制并粘贴以下提供的代码片段到您的视图布局中。
请确保 page_name 字段值与目标视图文件的名称完全匹配。
如您在表单输入字段中注意到的,Tyfoon SEO 支持三种语言:英语、法语和西班牙语。您的网站不是多语言版本,没有问题,只需忽略不相关的语言字段即可。它们不是必需的。
以下是您需要粘贴到布局/视图文件中以注入 SEO 数据的代码片段
布局文件
Note that this whould be the layout file extended by the view files you want to inject SEO
data into.
@if(isset($globalSeoMetadata)) {!! $globalSeoMetadata !!} @endif @if(isset($pageSeoMetadata)) {!! $pageSeoMetadata !!} @else <title>@yield('title', config('app.name'))</title> @endif
单个视图文件
Tyfoon SEO provides some pieces of data that you need to inject into specific views.
These are not shared by other views. The three pieces of data are the following,
which are deemed to be the most important for on-page SEO purposes:
* H1 text
* H2 text
* Page content
Simple place each of them anywhere in the view file you would like the data to be
injected. That is magic of it-the flexibility of it.
<h1>{!! $bodySeoData['h1_text'] !!}</h1>
或者
<h2>{!! $bodySeoData['h2_text'] !!}</h2>
或者
<p>{!! $bodySeoData['page_content'] !!}</p>
或者,如果您愿意,可以将它们全部放在一个地方
@if(isset($bodySeoData)) <h1>{!! $bodySeoData['h1_text'] !!}</h1> <h2>{!! $bodySeoData['h2_text'] !!}</h2> <p>{!! $bodySeoData['page_content'] !!}</p> @endif
说到为特定页面准备的内容;除了 Tyfoon SEO 提供的以外,您还希望为每个页面显示独特的标题。Tyfoon SEO 已经涵盖了这一点,因为它在页面表单中有一个页面标题字段,这是您添加到布局文件的片段的一部分。然而,如果您不想为特定页面创建 SEO 数据,但需要它有一个独特的标题,您需要手动将此添加到视图文件中,就像在扩展布局文件之后立即这样做一样
@extends('layouts.main.app') @section('title', 'myWebApp - products') ...




