Añadir robots de mapa del sitio y de motor de búsqueda
Un intento de generar y escribir el sitemap.xml
al directorio raíz da como resultado 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 sitemap.xml
mediante el panel de administración, debe especificar la variable /media/
ruta.
No es necesario que genere un robots.txt
porque genera el archivo robots.txt
contenido bajo demanda y lo almacena en la base de datos. Puede ver el contenido en su explorador con la variable <domain.your.project>/robots.txt
o <domain.your.project>/robots
vínculo.
Esto requiere ECE-Tools versión 2002.0.12 y posterior con un actualizado .magento.app.yaml
archivo. Consulte un ejemplo de estas reglas en la repositorio de magento en la nube.
Para generar un sitemap.xml
en la versión 2.2 y posterior de:
-
Acceda al administrador.
-
En el Marketing , haga clic en Mapa del sitio en el SEO y búsqueda sección.
-
En el Mapa del sitio ver, haga clic en Añadir mapa del sitio.
-
En el Nuevo mapa del sitio Consulte e introduzca los siguientes valores:
- Nombre de archivo:
sitemap.xml
- Ruta:
/media/
- Nombre de archivo:
-
Clic Guardar y generar. El nuevo mapa del sitio está disponible en la Mapa del sitio rejilla.
-
Haga clic en la ruta en el Vínculo para Google columna.
Para añadir contenido a robots.txt
archivo:
- Acceda al administrador.
- En el Contenido , haga clic en Configuración en el Diseño sección.
- En el Configuración de diseño ver, haga clic en Editar para el sitio web en Acción columna.
- En el Sitio web principal ver, haga clic en Robots del motor de búsqueda.
- Actualice el Editar instrucciones personalizadas de robots.txt field.
- Clic Guardar configuración.
- Compruebe el
<domain.your.project>/robots.txt
archivo o<domain.your.project>/robots
URL en el explorador.
<domain.your.project>/robots.txt
el archivo genera un 404 error
, Enviar un ticket de asistencia de Adobe Commerce para quitar la redirección de /robots.txt
hasta /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 sitemap.xml
en el panel de administración como se ha descrito anteriormente y, a continuación, cree un fragmento personalizado de VCL de Fastly para administrar la redirección. Consulte Fragmentos de VCL personalizados de Fastly.
Usar un fragmento de VCL de Fastly para redireccionar
Cree un fragmento de VCL personalizado para reescribir la ruta sitemap.xml
hasta /media/sitemap.xml
uso del type
y content
pares clave-valor.
{
"name": "sitemapxml_rewrite",
"dynamic": "0",
"type": "recv",
"priority": "90",
"content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; }"
}
En el siguiente ejemplo se muestra cómo reescribir la ruta de acceso para robots.txt
y sitemap.xml
hasta /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 utilizar un fragmento de VCL de Fastly para una redirección de dominio particular:
Crear un pub/media/domain_robots.txt
, donde se encuentra el dominio domain.com
y utilice 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 de VCL enruta http://domain.com/robots.txt
y presenta el pub/media/domain_robots.txt
archivo.
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 utilice 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 el sitemap
admin config, debe especificar la ubicación del archivo utilizando pub/media/
en lugar de /
.
Configurar la indexación por motor de búsqueda
Para activar robots.txt
personalizaciones, debe habilitar la variable La indexación por motores de búsqueda está activada para<environment-name>
en la configuración del proyecto.
robots.txt
archivo, agregar robots.txt
a la Lista de permitidos de nombre en Tiendas > Configuración > General > Web > Configuración del PWA ASCENDENTE.