diesdasdigital / kirby-meta-knight
Meta Knight – Kirby 的 SEO 插件
Requires
This package is auto-updated.
Last update: 2024-09-05 20:05:31 UTC
README
Meta Knight 是为 Kirby 开发的 SEO 和社交媒体分享插件。Meta Knight 使在 Kirby 控制面板中处理元信息变得更加容易。
Meta Knight 提供蓝图、代码片段和自定义预览区域。目前该插件覆盖以下内容:
- 基本元信息(标题、描述、关键词、规范 URL 等)+ Google 搜索预览
- Open Graph + Facebook 分享预览
- Twitter 卡片 + Twitter 卡片预览
- 机器人设置
所有这些内容都整齐地组织在一个预先组成的 SEO 标签中,可以轻松地添加到任何蓝图。
此插件最初由 Jonathan Muth、Lorenz Seeger 和 Leslie Büttel 在 diesdas.digital 开发。Meta Knight 存在是因为我们希望标准化处理所有项目元信息的方式。
我们还想感谢 @distantnative 在此过程中提供的帮助!没有他,此插件不会成为今天的模样。
配置选项
网站标题
顺序
默认情况下,页面标题 将在 网站标题 之前渲染。结果是一个看起来像这样的标题标签:<title>页面标题 – 网站标题</title>
。如果您想将 网站标题 放在首位,只需将以下行添加到您的 Kirby config.php
文件中
'diesdasdigital.meta-knight' => [
'siteTitleAfterPageTitle' => false,
],
然后您将得到一个看起来像这样的标题标签:<title>网站标题 – 页面标题</title>
。
自定义主页标题
默认情况下,主页的标题标签将包含 页面标题 和 网站标题,并看起来像这样:<title>页面标题 – 网站标题</title>
。如果您只想在主页上显示网站标题,只需将以下行添加到您的 Kirby config.php
文件中
'diesdasdigital.meta-knight' => [
'siteTitleAsHomePageTitle' => true,
],
您的主页标题标签将看起来像这样:<title>网站标题</title>
您也可以用相同的方式自定义主页上的页面标题
'diesdasdigital.meta-knight' => [
'pageTitleAsHomePageTitle' => true,
],
将导致 <title>页面标题</title>
请注意:这两个选项不能同时启用。
可自定义的 页面标题 | 网站标题
分隔符
页面标题和网站标题之间的分隔符可以自定义如下
'diesdasdigital.meta-knight' => [
'separator' => ' \o/ ',
],
默认值是 |
。
规范 URL
Meta Knight 允许您控制自动生成的页面规范 URL 的渲染方式。默认情况下,规范 URL 不包含 www.
子域名。如果您希望规范 URL 包含 www.
,请在 config.php
中设置以下选项
'diesdasdigital.meta-knight' => [
'canonicalURLIncludesWWW' => true,
],
请注意
- 自动生成的规范 URL 总是任何给定页面的
https://
版本。 - 如果您的 Kirby 网站运行在另一个子域名上,请不要启用
canonicalURLIncludesWWW
。 - 手动输入 SEO 标签中的规范 URL 总是会覆盖任何给定页面的自动生成规范 URL。
安装
下载
下载并将此存储库复制到 /site/plugins/kirby-meta-knight
。
Git 子模块
git submodule add https://github.com/diesdasdigital/kirby-meta-knight.git site/plugins/kirby-meta-knight
Composer
composer require diesdasdigital/kirby-meta-knight
设置
如何将 Meta Knight 添加到 Kirby
-
将此标签添加到您网站的蓝图(site.yml)中:
seotab: seo
(Meta Knight 使用网站的元信息作为备选方案,当页面没有提供元信息时) -
将此选项卡添加到所有页面蓝图:
seotab: seo
-
将这些两个片段添加到您的head中:
<?php snippet('meta_information'); ?>
+<?php snippet('robots'); ?>
示例
title: Site tabs: content: icon: text label: Content sections: drafts: headline: Drafts type: pages status: draft templates: - default - masthead image: query: false unlisted: headline: Unlisted type: pages status: unlisted image: query: false listed: headline: Listed type: pages status: listed image: query: false seotab: seo
选项
当前插件无法通过 config.php
文件进行配置。这是我们正在考虑在未来版本中添加的功能。
开发
开发
您可以通过以下步骤开始开发过程…
yarn dev
这将自动更新Meta Knight的 index.js
和 index.css
,一旦您做出更改。它还将启用面板的热模块重载。重新加载一次面板,之后您应该会立即看到更改,而无需进一步重新加载。
生产
一旦您对Meta Knight所做的更改感到满意,您应该使用以下方法构建最终版本
yarn build
这将自动创建一个最小化和优化的版本,这将改进生产环境中的加载时间。
许可证
MIT – 更多信息请参阅 LICENSE.md。