新增網站地圖和搜尋引擎自動機制

嘗試產生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程式碼片段:

建立pub/media/domain_robots.txt檔案(網域為domain.com),並使用下一個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設定。
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26