添加站点地图和搜索引擎机器人

尝试生成sitemap.xml文件并将其写入根目录会导致以下错误:

Please make sure that "/" is writable by the web-server.

在云基础架构上使用Adobe Commerce,您只能写入特定目录,如varpub/mediapub/staticapp/etc。 当您使用“管理”面板生成sitemap.xml文件时,必须指定/media/路径。

您不必生成robots.txt文件,因为它根据需要生成robots.txt内容并将其存储在数据库中。 您可以使用<domain.your.project>/robots.txt<domain.your.project>/robots链接在浏览器中查看内容。

这需要ECE-Tools版本2002.0.12及更高版本和更新的.magento.app.yaml文件。 在magento-cloud存储库中查看这些规则的示例。

要生成版本2.2及更高版本的sitemap.xml文件,请执行以下操作:

  1. 访问管理员。

  2. 在​ 营销 ​菜单上,单击​ SEO和搜索 ​部分中的​ 网站地图

  3. 在​ 站点地图 ​视图中,单击​ 添加站点地图

  4. 在​ 新建站点地图 ​视图中,输入以下值:

    • 文件名sitemap.xml
    • 路径/media/
  5. 单击​ 保存并生成。 新的站点地图将在​ 站点地图 ​网格中变得可用。

  6. 单击Google ​链接列中的路径。

要将内容添加到robots.txt文件

  1. 访问管理员。
  2. 在​ Content ​菜单上,单击​ 设计 ​部分中的​ 配置
  3. 在​ 设计配置 ​视图中,在​ 操作 ​列中单击网站的​ 编辑
  4. 在​ 主网站 ​视图中,单击​ 搜索引擎机器人
  5. 更新robots.txt 字段的 ​编辑自定义指令。
  6. 单击​ 保存配置
  7. 验证浏览器中的<domain.your.project>/robots.txt文件或<domain.your.project>/robots URL。
NOTE
如果<domain.your.project>/robots.txt文件生成404 error,请提交Adobe Commerce支持票证以移除从/robots.txt/media/robots.txt的重定向。

使用Fastly VCL代码片段重写

如果您有不同的域并且需要单独的站点地图,则可以创建一个VCL以路由到正确的站点地图。 如上所述,在“管理”面板中生成sitemap.xml文件,然后创建自定义Fastly VCL代码片段来管理重定向。 查看自定义Fastly VCL片段

NOTE
您可以从管理员UI或使用Fastly API上传自定义VCL片段。 请参阅自定义VCL代码片段示例和教程

使用Fastly VCL代码片段进行重定向

创建自定义VCL代码片段,以使用typecontent键值对将sitemap.xml的路径重写为/media/sitemap.xml

{
  "name": "sitemapxml_rewrite",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; }"
}

以下示例演示了如何将robots.txtsitemap.xml的路径重写为/media/robots.txt/media/sitemap.xml

{
  "name": "sitemaprobots_rewrite",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; } else if (req.url.path ~ \"^/?robots.txt$\") { set req.url = \"/media/robots.txt\";}"
}

要对特定域重定向 ​使用Fastly VCL代码片段:

创建域为domain.compub/media/domain_robots.txt文件,并使用下一个VCL代码片段:

{
  "name": "domain_robots",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path == \"/robots.txt\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_robots.txt\"; }}"
}

VCL代码段路由http://domain.com/robots.txt并显示pub/media/domain_robots.txt文件。

要在单个代码片段中配置robots.txtsitemap.xml的重定向,请创建pub/media/domain_robots.txtpub/media/domain_sitemap.xml文件(域为domain.com)并使用下一个VCL代码片段:

{
  "name": "domain_sitemaprobots",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path == \"/robots.txt\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_robots.txt\"; }} else if ( req.url.path == \"/sitemap.xml\" ) { if ( req.http.host ~ \"(domain).com$\" ) {  set req.url = \"/media/\" re.group.1 \"_sitemap.xml\"; }}"
}

sitemap管理配置中,您必须使用pub/media/而不是/指定文件的位置。

按搜索引擎配置索引

要在生产环境中激活robots.txt自定义项,您必须启用项目设置中的​<environment-name> ​按搜索引擎索引处于打开状态选项。

使用Cloud Console管理环境

NOTE
  • 只能在生产环境中启用按搜索引擎编制索引,而不能在任何较低级别的环境中启用。

  • 如果您正在使用PWA Studio并且无法访问配置的robots.txt文件,请将robots.txt添加到前名PWA,位于​ 商店 >配置> 常规 > Web > UPPER允许列表配置。

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26