diesdasdigital/kirby-meta-knight

Meta Knight – Kirby 的 SEO 插件

安装次数: 21,427

依赖项: 0

建议者: 0

安全性: 0

星级: 109

关注者: 8

分支: 18

开放性问题: 34

语言:Vue

类型:kirby-plugin

1.2.2 2021-11-16 12:41 UTC

README

Meta Knight 是为 Kirby 开发的 SEO 和社交媒体分享插件。Meta Knight 使在 Kirby 控制面板中处理元信息变得更加容易。

Meta Knight 提供蓝图、代码片段和自定义预览区域。目前该插件覆盖以下内容:

  • 基本元信息(标题、描述、关键词、规范 URL 等)+ Google 搜索预览
  • Open Graph + Facebook 分享预览
  • Twitter 卡片 + Twitter 卡片预览
  • 机器人设置

所有这些内容都整齐地组织在一个预先组成的 SEO 标签中,可以轻松地添加到任何蓝图。

Screenshot

此插件最初由 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

  1. 将此标签添加到您网站的蓝图(site.yml)中: seotab: seo(Meta Knight 使用网站的元信息作为备选方案,当页面没有提供元信息时)

  2. 将此选项卡添加到所有页面蓝图: seotab: seo

  3. 将这些两个片段添加到您的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.jsindex.css,一旦您做出更改。它还将启用面板的热模块重载。重新加载一次面板,之后您应该会立即看到更改,而无需进一步重新加载。

生产

一旦您对Meta Knight所做的更改感到满意,您应该使用以下方法构建最终版本

yarn build

这将自动创建一个最小化和优化的版本,这将改进生产环境中的加载时间。

许可证

MIT – 更多信息请参阅 LICENSE.md。

致谢