Ajout de la carte du site et des robots de moteurs de recherche
- Rubriques :
- Cloud
- Configuration
Créé pour :
- Administration
- Développeur
Toute tentative de génération et d’écriture du fichier sitemap.xml
dans le répertoire racine génère l’erreur suivante :
Please make sure that "/" is writable by the web-server.
Avec Adobe Commerce sur l’infrastructure cloud, vous ne pouvez écrire que dans des répertoires spécifiques, tels que var
, pub/media
, pub/static
ou app/etc
. Lorsque vous générez le fichier sitemap.xml
à l’aide du panneau d’administration, vous devez spécifier le chemin d’accès /media/
.
Il n’est pas nécessaire de générer un fichier robots.txt
, car il génère le contenu robots.txt
à la demande et le stocke dans la base de données. Vous pouvez afficher le contenu dans votre navigateur avec le lien <domain.your.project>/robots.txt
ou <domain.your.project>/robots
.
Cela nécessite ECE-Tools version 2002.0.12 et ultérieure avec un fichier .magento.app.yaml
mis à jour. Consultez un exemple de ces règles dans le référentiel magento-cloud.
Pour générer un fichier sitemap.xml
dans les versions 2.2 et ultérieures :
-
Accédez à l’administrateur.
-
Dans le menu Marketing, cliquez sur Plan du site dans la section SEO et recherche.
-
Dans la vue Plan du site, cliquez sur Ajouter un plan de site.
-
Dans la vue Nouvelle carte du site, saisissez les valeurs suivantes :
- Filename:
sitemap.xml
- Path:
/media/
- Filename:
-
Cliquez sur Enregistrer et générer. Le nouveau plan du site est alors disponible dans la grille Plan du site.
-
Cliquez sur le chemin d’accès dans la colonne Lien vers Google.
Pour ajouter du contenu au fichier robots.txt
:
- Accédez à l’administrateur.
- Dans le menu Contenu, cliquez sur Configuration dans la section Conception.
- En mode Configuration de la conception, cliquez sur Modifier pour le site web dans la colonne Action.
- Dans la vue Site web principal, cliquez sur Robots de moteurs de recherche.
- Mettez à jour le champ Modifier l’instruction personnalisée du fichier robots.txt.
- Cliquez sur Enregistrer la configuration.
- Vérifiez le fichier
<domain.your.project>/robots.txt
ou<domain.your.project>/robots
URL dans votre navigateur.
<domain.your.project>/robots.txt
génère un 404 error
, Envoyez un ticket d’assistance Adobe Commerce pour supprimer la redirection de /robots.txt
vers /media/robots.txt
.Réécrire à l’aide du fragment de code VCL Fastly
Si vous disposez de domaines différents et que vous avez besoin de plans de site distincts, vous pouvez créer un VCL pour acheminer vers le plan de site approprié. Générez le fichier sitemap.xml
dans le panneau d’administration comme décrit ci-dessus, puis créez un fragment de code VCL Fastly personnalisé pour gérer la redirection. Voir Extraits personnalisés Fastly VCL.
Utiliser un fragment de code VCL Fastly pour la redirection
Créez un fragment de code VCL personnalisé pour réécrire le chemin d’accès pour sitemap.xml
à /media/sitemap.xml
à l’aide des paires clé-valeur type
et content
.
{
"name": "sitemapxml_rewrite",
"dynamic": "0",
"type": "recv",
"priority": "90",
"content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; }"
}
L’exemple suivant montre comment réécrire le chemin d’accès de robots.txt
et sitemap.xml
vers /media/robots.txt
et /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\";}"
}
Pour utiliser un fragment de code VCL Fastly pour une redirection de domaine spécifique :
Créez un fichier pub/media/domain_robots.txt
, où le domaine est domain.com
, et utilisez le fragment de code VCL suivant :
{
"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\"; }}"
}
Le fragment de code VCL achemine http://domain.com/robots.txt
et présente le fichier pub/media/domain_robots.txt
.
Pour configurer une redirection pour robots.txt
et sitemap.xml
dans un seul fragment de code, créez des fichiers pub/media/domain_robots.txt
et pub/media/domain_sitemap.xml
, où le domaine est domain.com
, et utilisez le fragment de code VCL suivant :
{
"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\"; }}"
}
Dans la configuration d’administration sitemap
, vous devez spécifier l’emplacement du fichier à l’aide de pub/media/
plutôt que de /
.
Configuration de l’indexation par moteur de recherche
Pour activer robots.txt
personnalisations en production, vous devez activer l’option L’indexation par les moteurs de recherche est activée pour<environment-name>
dans les paramètres de votre projet.
-
L’indexation par les moteurs de recherche ne peut être activée qu’en production, mais pas dans les environnements inférieurs.
-
Si vous utilisez PWA Studio et que vous ne pouvez pas accéder à votre fichier
robots.txt
configuré, ajoutezrobots.txt
à la Place sur la liste autorisée de nom front sous Magasins > Configuration > Général > Web > Configuration UPWARD du PWA.