Aggiungi mappa del sito e robot per motori di ricerca

Un tentativo di generare e scrivere il file sitemap.xml nella directory radice genera il seguente errore:

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

Con Adobe Commerce sull'infrastruttura cloud, è possibile scrivere solo in directory specifiche, ad esempio var, pub/media, pub/static o app/etc. Quando si genera il file sitemap.xml tramite il pannello di amministrazione, è necessario specificare il percorso /media/.

Non è necessario generare un file robots.txt perché genera il contenuto di robots.txt su richiesta e lo memorizza nel database. Puoi visualizzare il contenuto nel browser con il collegamento <domain.your.project>/robots.txt o <domain.your.project>/robots.

A tal fine è necessario ECE-Tools versione 2002.0.12 e successive con un file .magento.app.yaml aggiornato. Vedi un esempio di queste regole nell'archivio magento-cloud.

Per generare un file sitemap.xml nelle versioni 2.2 e successive:

  1. Accedi all’Admin.

  2. Nel menu Marketing, fai clic su Mappa sito nella sezione SEO & Search.

  3. Nella visualizzazione Mappa sito, fare clic su Aggiungi mappa sito.

  4. Nella visualizzazione Nuova mappa del sito, immettere i valori seguenti:

    • Nome file:sitemap.xml
    • Percorso:/media/
  5. Fai clic su Salva e genera. La nuova mappa del sito diventa disponibile nella griglia Mappa sito.

  6. Fare clic sul percorso nella colonna Collegamento per Google.

Per aggiungere contenuto al file robots.txt:

  1. Accedi all’Admin.
  2. Nel menu Contenuto, fai clic su Configurazione nella sezione Progettazione.
  3. Nella visualizzazione Configurazione progettazione, fare clic su Modifica per il sito Web nella colonna Azione.
  4. Nella visualizzazione Sito Web principale, fare clic su Robot motore di ricerca.
  5. Aggiorna il campo Modifica istruzione personalizzata di robots.txt.
  6. Fare clic su Salva configurazione.
  7. Verificare il file <domain.your.project>/robots.txt o l'URL <domain.your.project>/robots nel browser.
NOTE
Se il file <domain.your.project>/robots.txt genera un 404 error, Invia un ticket di supporto Adobe Commerce per rimuovere il reindirizzamento da /robots.txt a /media/robots.txt.

Riscrivi utilizzando lo snippet VCL Fastly

Se disponi di domini diversi e hai bisogno di mappe del sito separate, puoi creare un VCL per indirizzarlo alla mappa del sito corretta. Genera il file sitemap.xml nel pannello di amministrazione come descritto in precedenza, quindi crea uno snippet Fastly VCL personalizzato per gestire il reindirizzamento. Vedi Frammenti personalizzati VCL Fastly.

NOTE
Puoi caricare snippet VCL personalizzati dall’interfaccia utente di amministrazione o utilizzando l’API Fastly. Consulta Esempi e tutorial di snippet VCL personalizzato.

Utilizzare uno snippet VCL Fastly per il reindirizzamento

Creare uno snippet VCL personalizzato per riscrivere il percorso da sitemap.xml a /media/sitemap.xml utilizzando le coppie chiave-valore type e content.

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

Nell'esempio seguente viene illustrato come riscrivere il percorso per robots.txt e sitemap.xml in /media/robots.txt e /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\";}"
}

Per utilizzare uno snippet VCL Fastly per un reindirizzamento di dominio particolare:

Creare un file pub/media/domain_robots.txt, dove il dominio è domain.com, e utilizzare il successivo snippet 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\"; }}"
}

Il frammento VCL instrada http://domain.com/robots.txt e presenta il file pub/media/domain_robots.txt.

Per configurare un reindirizzamento per robots.txt e sitemap.xml in un singolo snippet, creare pub/media/domain_robots.txt e pub/media/domain_sitemap.xml file, dove il dominio è domain.com e utilizzare il successivo snippet 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\"; }}"
}

Nella configurazione dell'amministratore sitemap, è necessario specificare il percorso del file utilizzando pub/media/ anziché /.

Configurare l’indicizzazione per motore di ricerca

Per attivare le personalizzazioni di robots.txt, è necessario abilitare l'opzione Indicizzazione da parte dei motori di ricerca attivata per<environment-name> nelle impostazioni del progetto.

Utilizza Cloud Console per gestire gli ambienti

NOTE
Se utilizzi PWA Studio e non riesci ad accedere al file robots.txt configurato, aggiungi robots.txt al Inserisco nell'elenco Consentiti di dei nomi anteriori in Archivi > Configurazione > Generale > Web > Configurazione PWA superiori.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26