sgalinski / sg-seo
TYPO3 的 SEO 工具
Requires
- typo3/cms-core: ^12.4.0
- typo3/cms-seo: ^12.4.0
Replaces
- sgalinski/sg_seo: 7.0.1
- dev-master
- 7.0.1
- 7.0.0
- v6.x-dev
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.21
- 6.0.20
- 6.0.19
- 6.0.18
- 6.0.17
- 6.0.16
- 6.0.15
- 6.0.14
- 6.0.13
- 6.0.12
- 6.0.11
- 6.0.10
- 6.0.9
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.4.2
- 5.4.1
- 5.4.0
- 5.3.6
- 5.3.5
- 5.3.4
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- v5.0.x-dev
- 5.0.13
- 5.0.12
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.0
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.x-dev
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.1
- 1.0.0
This package is not auto-updated.
Last update: 2024-09-16 18:48:24 UTC
README
许可证: GNU GPL, Version 2
仓库: https://gitlab.sgalinski.de/typo3/sg_seo
请在此处报告错误: https://gitlab.sgalinski.de/typo3/sg_seo
关于
此扩展提供了一种带有额外功能(如)的 Google 网站地图实现:
- 忽略具有指向其他页面规范链接的页面
- 尊重 noindex & nofollow 选项
- 忽略快捷方式和状态页面
调度程序
为此扩展提供了两个调度任务
- 一个调度任务用于为每种语言生成网站地图
- 一个调度任务用于生成处理文件的 webp 版本
网站地图生成
此调度任务可以激活以创建每种语言的静态网站地图,然后可以用它来代替可能需要很长时间的动态处理过程。
任务接受 3 个参数
- relativePathToSitemap: 描述在文件系统中保存生成的网站地图文件的位置。默认为项目根目录。
- siteRootId: 网站根的 id,网站地图将从这里开始
- enableFilter: 切换以添加隐藏页面(不影响 "NOT_IN_MENU")到网站地图
WebP 生成
此调度任务可以生成处理文件夹中图像的 webp 版本。它使用 PHP 内置函数 imagewebp
,因此依赖于已安装的 gd 扩展(TYPO3 的默认要求)。
任务接受 5 个参数
- storageUid: 处理的文件存储的 uid。默认为 1,通常是 fileadmin。
- savingPercentage: 定义过程必须达到的最小文件大小节省百分比。默认设置为 10。
- imageQuality: 定义图像质量。默认设置为 80。
- batchSize: 一次处理文件的数目。注意:任务不会在文件数量达到后停止,而是在获取文件数量后处理它们,然后再获取下一批文件。如果它崩溃,可以再次执行任务,并且它将从中断的地方继续处理批次。)默认为 500。
- processGif: 包括 gif 图像在处理中,默认为 0,表示不包含。
Apache .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.$2.webp -f
RewriteRule ^(fileadmin/.+)\.(png|jpe?g)$ $1.$2.webp [L]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept
</IfModule>
AddType image/webp .webp
nginx
在你的全局 nginx 配置中添加 map 指令
map $http_accept $webp_suffix {
default "";
"~*webp" ".webp";
}
并将以下规则添加到你的服务器配置中
location ~* ^/fileadmin/.+\.(png|jpg|jpeg)$ {
add_header Vary Accept;
try_files $uri$webp_suffix $uri =404;
}
location ~* ^/other-storage/.+\.(png|jpg|jpeg)$ {
add_header Vary Accept;
try_files $uri$webp_suffix $uri =404;
}
确保没有其他规则已经应用于指定的图像格式并阻止进一步执行!
扩展 - SeoAccessPageListEventListener
你可以挂钩到过程以轻松扩展网站地图。
示例:Services.yaml
services:
MyExt\Event\Listener\SeoAccessPageListEventListener:
tags:
- name: event.listener
identifier: 'accessPageListEvent'
event: SGalinski\SgSeo\Events\AccessPageListEvent
事件监听器类
class SeoAccessPageListEventListener {
public function __invoke(\SGalinski\SgSeo\Events\AccessPageListEvent $event) {
$pageList = $event->getPageList();
// ... do something with the list and write it back to the event
$pageList[] = [
'url' => 'MY FURTHER URL',
'title' => ''
];
$event->setPageList($pageList);
}
}
更多事件
此外,sg_seo 5.3 还增加了新的事件
OverrideSitemapRendererEvent
允许设置不同的渲染器以进行最终输出
ShouldIncludePageInSitemapEvent
给定一个包含 $pageInfo 和 $language 的数组,你可以决定不使用页面进行常规页面渲染
扩展 - XmlSitemapDataProviders
我们还支持 TYPO3 的官方 XmlSitemapDataProviders API。你可以在这里了解更多 https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/XmlSitemap/Index.html .
当我们生成网站地图时,我们会将每种网站地图类型生成到一个新的索引中。默认的xmlSitemap类型正在合并到我们的sitemap.xml中。请记住,我们忽略任何针对pages
唯一键的附加数据提供者,因为这是默认的TYPO3唯一键,我们不希望有任何重复。为您的扩展使用另一个唯一键。
其他网站地图类型将生成到它们各自的网站地图索引中。
示例(新闻扩展)
plugin.tx_seo {
config {
xmlSitemap { // new entries to the default sitemap.xml
sitemaps {
news {
provider = GeorgRinger\News\Seo\NewsXmlSitemapDataProvider
config {
...
}
}
}
}
googleNewsSitemap { // a completely new googlenewssitemap.xml
sitemaps {
news {
provider = GeorgRinger\News\Seo\NewsXmlSitemapDataProvider
config {
googleNews = 1
...
template = GoogleNewsXmlSitemap.html
}
}
}
}
}
}
此示例将导致将news
唯一键数据提供者条目添加到默认网站地图(xmlSitemap)。googleNewsSitemap
条目将从此数据提供者获取条目并创建一个新的网站地图索引。