Añadir robots de mapa del sitio y de motor de búsqueda

Si intenta generar y escribir el archivo sitemap.xml en el directorio raíz, se producirá el siguiente error:

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

Con Adobe Commerce en la infraestructura en la nube, solo puede escribir en directorios específicos, como var, pub/media, pub/static o app/etc. Cuando genere el archivo sitemap.xml mediante el panel de administración, debe especificar la ruta de acceso /media/.

No tiene que generar un archivo robots.txt porque genera el contenido robots.txt bajo demanda y lo almacena en la base de datos. Puede ver el contenido en su explorador con el vínculo <domain.your.project>/robots.txt o <domain.your.project>/robots.

Esto requiere ECE-Tools versión 2002.0.12 y posterior con un archivo .magento.app.yaml actualizado. Vea un ejemplo de estas reglas en el repositorio de magento en la nube.

Para generar un archivo de sitemap.xml en la versión 2.2 y posterior:

  1. Acceda al administrador.

  2. En el menú Marketing, haga clic en Mapa del sitio en la sección SEO y búsqueda.

  3. En la vista Mapa del sitio, haga clic en Agregar mapa del sitio.

  4. En la vista Nuevo mapa del sitio, escriba los siguientes valores:

    • Nombre de archivo:sitemap.xml
    • Ruta:/media/
  5. Haga clic en Guardar y generar. El nuevo mapa del sitio estará disponible en la cuadrícula Mapa del sitio.

  6. Haga clic en la ruta de acceso de la columna Vínculo para Google.

Para agregar contenido al archivo robots.txt:

  1. Acceda al administrador.
  2. En el menú Contenido, haga clic en Configuración en la sección Diseño.
  3. En la vista Configuración de diseño, haga clic en Editar para el sitio web en la columna Acción.
  4. En la vista Sitio web principal, haga clic en Robots de motores de búsqueda.
  5. Actualice el campo Editar instrucción personalizada de robots.txt.
  6. Haga clic en Guardar configuración.
  7. Compruebe el archivo <domain.your.project>/robots.txt o la dirección URL <domain.your.project>/robots en el explorador.
NOTE
Si el archivo <domain.your.project>/robots.txt genera un 404 error, envíe un vale de soporte técnico de Adobe Commerce para quitar la redirección de /robots.txt a /media/robots.txt.

Reescribir utilizando el fragmento de VCL de Fastly

Si tiene dominios diferentes y necesita mapas de sitio independientes, puede crear una VCL para enrutar al mapa del sitio adecuado. Genere el archivo sitemap.xml en el panel de administración como se ha descrito anteriormente y, a continuación, cree un fragmento de VCL personalizado de Fastly para administrar la redirección. Ver fragmentos personalizados de VCL de Fastly.

NOTE
Puede cargar fragmentos de VCL personalizados desde la IU de administración o mediante la API de Fastly. Vea ejemplos y tutoriales de fragmentos de VCL personalizados.

Usar un fragmento de VCL de Fastly para redireccionar

Cree un fragmento de VCL personalizado para reescribir la ruta de acceso de sitemap.xml a /media/sitemap.xml mediante los pares clave-valor type y content.

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

El siguiente ejemplo muestra cómo reescribir la ruta de acceso de robots.txt y sitemap.xml en /media/robots.txt y /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\";}"
}

Para usar un fragmento de VCL de Fastly para una redirección de dominio en particular:

Cree un archivo de pub/media/domain_robots.txt, donde el dominio es domain.com, y use el siguiente fragmento de 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\"; }}"
}

El fragmento VCL enruta http://domain.com/robots.txt y presenta el archivo pub/media/domain_robots.txt.

Para configurar una redirección para robots.txt y sitemap.xml en un solo fragmento, cree pub/media/domain_robots.txt y pub/media/domain_sitemap.xml archivos, donde el dominio es domain.com y use el siguiente fragmento de 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\"; }}"
}

En la configuración de administración de sitemap, debe especificar la ubicación del archivo usando pub/media/ en lugar de /.

Configurar la indexación por motor de búsqueda

Para activar las personalizaciones de robots.txt, debe habilitar la opción Indexación por motores de búsqueda activada para<environment-name> en la configuración del proyecto.

Use Cloud Console para administrar entornos

NOTE
Si usa el PWA Studio y no puede obtener acceso al archivo robots.txt configurado, agregue robots.txt a la Lista de permitidos Nombre principal en Tiendas > Configuración > General > Web > Configuración del PWA ascendente.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26