ttree / plugin-seo
Requires
- typo3/flow: >=2.0.0
- typo3/neos: >=1.0.0
This package is auto-updated.
Last update: 2019-01-25 15:36:19 UTC
README
TYPO3 Neos 的 SEO 插件
该软件包不再维护.
此软件包为内容管理系统 TYPO3 Neos 提供了一些针对搜索引擎优化的(SEO)功能。
该软件包的逻辑使用 TypoScript2 实现,因此您可以自定义渲染以满足您的需求。
由 Dominique Feyer 创建 <dfeyer@ttree.ch> http://www.ttree.ch
功能
- 页面标题生成
- META 标签
- OpenGraph
- Twitter Card
安装
将以下内容添加到您的 composer.json 并运行 composer update
{ "repositories": [ { "type": "git", "url": "https://github.com/ttreeagency/Ttree.Plugin.Seo.git" } ], "require": { "ttree/plugin-seo": "dev-master" }, }
配置
在您网站的 TypoScript 中包含 TypoScript 文件 NodeTypes.ts2
include: resource://Ttree.Plugin.Seo/Private/TypoScripts/Library/NodeTypes.ts2
如何使用插件?
使用 TS2 对象 'Ttree.Plugin.Seo:MetaTags' 生成 HTML meta 标签。
如何生成页面标题?
您可以使用对象 'Ttree.Plugin.Seo:PageTitle' 来生成页面标题。默认情况下,页面标题包含当前页面标题和一个静态后缀。您需要将此片段添加到您的 Page TS2 中
page = Page { head { title = Ttree.Plugin.Seo:PageTitle { @position = 'after characterSetMetaTag' } } }
您可以在 TS2 中更改标题的静态部分,如下所示
prototype(Ttree.Plugin.Seo:StaticPageTitle) { value = 'your company - fixed suffix' }
如果您需要一个静态前缀,即使这在 SEO 方面不是最佳实践,也可以使用此 TS2
prototype(Ttree.Plugin.Seo:PageTitle) { value = ${this.staticTitle + " - " + this.pageTitle} }
由于我们使用 EEL 处理标题的值,更复杂的配置可以提供更多灵活性。
例如,您有一个特定于博客文章的节点类型,您可以为所有博客页面添加特定的静态前缀,如下所示
prototype(Ttree.Plugin.Seo:PageTitle) { @process.blog = ${q(documentNode).is('[instanceof Ttree.Plugin.Blog:Blog]') ? 'Blog - ' + value : value} }
您需要为您的页面添加更具体的标题吗?
默认情况下,PageTitle 对象使用节点标题,与导航菜单中使用的标题相同。在某些情况下,您可能需要一个更具体的标题。在这种情况下,您可以在“SEO / 通用”组中使用检查器,填写“标题”属性。此标题将用于 HTML 页面标题标签、Opengraph 和 Twitter Card。在“SEO / OpenGraph”和“SEO / Twitter Card”组中,如果您填写了“标题”属性,您可以针对此属性。
如何生成页面 meta 标签?
只需更新您的 TS2,如下所示
page = Page { head { metaTags = Ttree.Plugin.Seo:MetaTags { @position = 'after characterSetMetaTag' } } }
如何生成 Twitter Card?
要启用Twitter卡渲染,请前往“检查器组”中的“SEO / Twitter卡”,并勾选“启用Twitter卡”。默认情况下,卡片将使用页面标题并自动提取当前页面的摘要,使用TS2对象“Ttree.Plugin.Seo:DocumentTeaser”。如果需要,您可以为自定义标题和描述提供内容。请注意填写“站点”和“创建者”字段,以确保Twitter卡有效。
如何强制渲染Twitter卡
在某些情况下,例如博客文章,您需要强制渲染Twitter卡。为此,您需要为这种文档类型指定特定的节点类型。您可以使用此TS2片段来强制渲染Twitter卡
prototype(Ttree.Plugin.Seo:TwitterCard) { hasTwitterCard.@process.event = ${q(documentNode).is('[instanceof Ttree.Plugin.Blog:Blog]') ? TRUE : value} }
如何强制设置“站点”和“创建者”属性的值
prototype(Ttree.Plugin.Seo:TwitterCardAbstract) { twitterSite = '@ttreeagency' twitterCreator = '@dfeyer' }