SEO
Meta 标签、规范 URL、结构化数据、站点地图、robots 以及索引控制。
TubePress 内置了完整的 SEO 层,安装完成后立即生效——无需启用任何插件,也无需添加任何主题代码。简洁的 URL、页面标题、元描述、Open Graph 和 Twitter 卡片、规范链接、schema.org 结构化数据、视频站点地图以及多语言 hreflang,全部根据您的内容和少量设置自动生成。
本页面介绍您可以自动获得的功能,以及可以在 /admin/settings 下调整的控制选项。
开箱即用的 SEO
SEO 管理器随核心应用启动,因此默认情况下每个前端页面均已优化。 无需插件 安装即生效
- 视频、分类、标签、演员、频道和页面均使用人类可读的 URL。
- 可为每种实体类型配置标题和元描述模板。
- Open Graph 和 Twitter Card 标签,自动选择图片。
- 每个页面一个规范 URL,以及每种已启用语言的 hreflang 备用链接。
- 视频、面包屑和网站搜索框的 schema.org JSON-LD。
- Gzip 压缩的视频站点地图以及动态
/robots.txt。 - 搜索引擎验证元标签、GA4 字段及自定义 head/body 代码。
标题、元标签与 Open Graph
每种实体类型都有自己的标题和描述模板,由变量构成。设置一次,即可应用于整个目录。
Video title: {title} {sep} {site_name}
Category title: {name} {sep} {site_name}
Video meta: Watch {title} online. {description_short}可用变量包括 {title}、{name}、{site_name}、{sep}(标题分隔符)、{count} 和 {type}。描述会去除 HTML 标签,并截断至大约 160 个字符。各个页面可在页面编辑器中通过自己的元标题和元描述字段覆盖模板。
在社交分享方面,og:image 的解析顺序如下:首先是页面专属图片,其次——当 CTR 排名插件激活时——是列表中参与度最高的视频缩略图,最后是您上传的默认图片。Twitter 卡片默认使用 summary_large_image,您还可以为其他语言添加 Twitter 账号、Facebook 应用 ID 和 og:locale:alternate 标签。
规范 URL 与重复内容
每个页面只输出一个 <link rel="canonical">。查询字符串和片段标识符会从规范链接中去除,路由器会规范化末尾斜杠,因此 /category/x、/category/x/ 和 /category/x?sort=newest 都会解析为同一个可索引地址。
如果您运行多种内容类型,TubePress 会为每种类型的实体强制执行唯一规范 URL:通过错误视频类型前缀到达的请求会被 301 重定向到正确地址,因此同一视频不会被索引为两个 URL。不同语言版本通过 hreflang 备用链接相互关联,而不是作为重复内容互相竞争。
robots.txt 已禁止爬取 ?sort= 和 ?page=,从而强化规范链接并节省抓取配额。结构化数据
TubePress 输出 schema.org JSON-LD,以便搜索引擎呈现富媒体结果:
- 观看页面上的 VideoObject——名称、描述、缩略图、上传日期、时长、嵌入和内容 URL,以及播放量交互统计数据。
- BreadcrumbList 用于描述页面在网站层级结构中的位置。
- 主页上的 WebSite + SearchAction,可为您的品牌启用网站链接搜索框。
站点地图
站点地图索引通过 /sitemap.xml 提供。它由少量快速的 COUNT/MAX 查询动态生成,并引用子站点地图;子站点地图以 gzip 压缩文件的形式写入磁盘,并在内容变更时重新生成。
| 站点地图 | 内容 |
|---|---|
| 视频 | video:video + image:image 标签:缩略图、标题、描述、播放器和内容 URL、时长、播放量、发布日期 |
| 分类 / 标签 / 演员 / 频道 | 实体 URL,包含双向 hreflang 备用链接(含 x-default) |
| 页面 | 静态 CMS 页面和各类型主页,包含 hreflang |
每个子文件最多可容纳 25,000 个 URL(可在 1,000 至 50,000 之间配置),您可以按需开关任意实体类型、视频/图片标签或 hreflang 块。站点地图响应带有 X-Robots-Tag: noindex 标头,因此文件本身不会出现在搜索结果中。
Robots 与索引
/robots.txt 文件是动态的:它会声明您的站点地图,禁止管理和分面路径,并对激进的 SEO 爬虫应用抓取延迟。可索引页面会收到宽松的默认 robots 元标签(max-image-preview:large、max-video-preview:-1、max-snippet:-1)。
您可以选择性地应用 noindex——针对标签、分类、演员或频道列表、分页页面或搜索结果(默认开启)——而无需修改网站的其他部分。此外还有一个用于预发布环境的总开关。
seo_noindex_entire_site 会为每个页面添加 noindex, nofollow,并让 robots.txt 禁止所有爬取。这是预上线网站的正确开关——记得在正式上线前关闭它。多语言 SEO
当您启用多种语言时,TubePress 会在页面 <head> 和实体站点地图中使用 rel="alternate" hreflang 标签将各翻译版本关联起来,并添加指向主语言的 x-default。默认语言保持在根路径,其他语言则使用简短的 /{code}/ 前缀。完整的语言工作流程,请参阅国际化。
性能
SEO 输出专为大规模场景设计。站点地图通过批量数据库查询流式生成并以 gzip 压缩存储,索引根据计数查询按需计算,robots.txt 缓存一天。基于 CTR 的 Open Graph 图片仅在排名插件激活时才会计算,因此如果您不使用该功能,不会产生任何额外开销。即使在拥有数百万视频的目录上,也能实现准确、快速的元数据输出。