谷歌图片网站地图,带有TYPO3

谷歌图片网站地图,带有TYPO3,typo3,typo3-9.x,typo3-extensions,Typo3,Typo3 9.x,Typo3 Extensions,如何使用TYPO3为我可以提交给Google的图像创建网站地图 这不是菜单内容元素中用于展开图像的sitemap元素,而是我的站点所有已发布图像的列表。我不认为您可以轻松获得所有图像的列表 有多种方法可以包含图像,所有这些方法都需要一个副作用来为图片站点地图标记图像。 此外,您可能会使用不应列出的图像,因为其他使用相同方式的图像应列出。e、 一些背景图像可能会被提及,一些只是像阴影或结构的样式 在早期的TYPO3中,您可以为上传的所有文件建立索引,因为每个使用的图像都复制到了那里,但现在您只能为

如何使用TYPO3为我可以提交给Google的图像创建网站地图


这不是菜单内容元素中用于展开图像的sitemap元素,而是我的站点所有已发布图像的列表。

我不认为您可以轻松获得所有图像的列表

有多种方法可以包含图像,所有这些方法都需要一个副作用来为图片站点地图标记图像。
此外,您可能会使用不应列出的图像,因为其他使用相同方式的图像应列出。e、 一些背景图像可能会被提及,一些只是像阴影或结构的样式

在早期的TYPO3中,您可以为上传的所有文件建立索引,因为每个使用的图像都复制到了那里,但现在您只能为原始文件夹编制索引,并且可能包含未使用的图像


您可以使用爬行器扫描所有生成的页面以查看图像的使用情况,但是现在图像可以以多种方式包含。除了旧的
img
标签外,还有
picture
和更难的CSS在背景属性中隐藏图像,以避免轻松复制。

还有一个扩展,用于创建使用过的图像的XML站点地图。但它还不兼容。

更新日期:2019年12月


该扩展现在也与9 LTS兼容。

我相信,您可以使用TYPO3 7.6之后提供的数据处理器来做一些事情

e、 g.使用DatabaseQueryProcessor和FileProcessor的组合来获取用户有权访问的所有内容元素:

lib.yourFluidTemplate = FLUIDTEMPLATE
lib.yourFluidTemplate {
    10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
    10 {
        table = tt_content
        pidInList = 1
        # all subpages as well
        recursive = 99
        as = contentElements

        dataProcessing {
            10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
            10 {
                # use field "assets"
                references.fieldName = assets
                as = files
            }
        }
    }
}
lib.yourFluidTemplate
可以是页面的模板或任何流体样式的内容模板。只要它使用
FLUIDTEMPLATE
内容对象

应用上述打字脚本后,流体模板中应该有一个名为
contentElements
(变量
as
定义了它的名称)的新变量,并且每个项目都应该有一个带有文件名的
文件

当然,这会从您的根页面(本例中为1)开始获取所有内容元素,而不管它们是否有图像或注释,这可能会导致负载过大


编辑:您必须为每种类型的记录添加一个这样的配置,如果其中有多个字段引用图像,则可能为每种类型添加多个文件处理器配置。

是的,我知道这个应用程序。但是对于TYPO3和tx_seo,这个文本可能已经过时了。至少我无法在TYPO3 9.5上实现egrnes更新。Thx Paul Beck I trotz the EXT。谢谢你,Bernd,很遗憾,这不是我想要听到的答案。;-)不是每个包含标准TYPO3函数的图像都有一个ref索引,只有在项目drn计数器中包含多个时才计数吗?所以你可以通过数据处理器搜索来自filadmin的所有图像并输出流体模板的结果?我认为这个索引不可靠。在没有管理引用的核心函数的情况下,引用偶尔会丢失或死亡。而且你仍然可能会错过一些图像,这些图像会以一些不寻常的方式被使用,比如css,你也可以从被禁用的记录中获取引用。