主要观点:拥有网站的人希望更多人看到,通过确保网站在搜索结果中靠前可实现,为此有两个目标,本文主要谈确保搜索引擎知道网站内容的方法,即添加结构化数据(structured data),如在网站中添加关于页面内容的额外标记,可通过 Microdata、RDFa、JSON-LD 三种格式,其中 JSON-LD 因其与现有标记完全分离而更易使用,作者编写了 MooX::Role::JSON_LD 方便生成 JSON-LD,还以 ReadABooker 网站为例,在 Booker::Schema::Result::Book 和 Booker::Schema::Result::Person 类中添加 JSON-LD 代码,并将其添加到 HTML 页面,通过 json_ld_data()、json_ld()、json_ld_wrapped()三个方法实现,最后作者等待看这些改变的效果。
关键信息:
- 搜索结果优化目标:让搜索引擎知道网站内容及认为网站是重要信息源。
- 结构化数据格式:Microdata(添加新属性如“itemscope”等)、RDFa(属性名不同如“vocab”等)、JSON-LD(独立元素含定义实体的 JSON)。
- 示例代码:在 Person 类和 Book 类中添加 JSON-LD 相关代码及处理方法,如更改属性名等。
- 实际应用:在 ReadABooker 网站的 Person 和 Book 类及 HTML 模板中添加 JSON-LD 以优化 SEO。
重要细节: - JSON-LD 中属性名可通过 json_ld_fields()子例程更改,如将“first_name”改为“givenName”等。
- 可利用 DBIx::Class 类在 Book 和 Author 之间建立链接并在 JSON-LD 中复用数据。
- json_ld_data()返回用于显示在 JSON-LD 中的原始 Perl 数据结构,json_ld()将其编码为 JSON 文档,json_ld_wrapped()将 JSON 用特定标签包裹用于嵌入 HTML 。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。