Ajout de robots de carte de site et de moteur de recherche
Une tentative de génération et d’écriture du fichier sitemap.xml
dans le répertoire racine entraîne l’erreur suivante :
Please make sure that "/" is writable by the web-server.
Avec Adobe Commerce sur l’infrastructure cloud, vous pouvez uniquement écrire 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/
.
Vous n’avez pas à générer de 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 à l’aide du lien <domain.your.project>/robots.txt
ou <domain.your.project>/robots
.
Pour ce faire, la version 2002.0.12 et ultérieure de l’outil CEE-Outils doit être mise à jour 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 la version 2.2 et ultérieure :
-
Accédez à l’administrateur.
-
Dans le menu Marketing, cliquez sur Carte du site dans la section Recherche et optimisation pour les moteurs de recherche.
-
Dans la vue Carte du site, cliquez sur Ajouter un plan du site.
-
Dans la vue Nouvelle carte du site, saisissez les valeurs suivantes :
- Nom de fichier:
sitemap.xml
- Chemin:
/media/
- Nom de fichier:
-
Cliquez sur Enregistrer et générer. La nouvelle carte du site devient disponible dans la grille Carte du site.
-
Cliquez sur le chemin d’accès dans la colonne Lien pour Google .
Pour ajouter du contenu au fichier robots.txt
:
- Accédez à l’administrateur.
- Dans le menu Content, cliquez sur Configuration dans la section Design .
- Dans la vue Configuration de la conception, cliquez sur Modifier pour le site web dans la colonne Action.
- Dans la vue Main Website, cliquez sur Robots de moteur de recherche.
- Mettez à jour le champ Modifier l’instruction personnalisée de robots.txt .
- Cliquez sur Enregistrer la configuration.
- Vérifiez le fichier
<domain.your.project>/robots.txt
ou l’URL<domain.your.project>/robots
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éécriture à l’aide d’un fragment de code VCL Fastly
Si vous avez des domaines différents et que vous avez besoin de mappages 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 extrait de code VCL Fastly personnalisé pour gérer la redirection. Voir Fragments de code VCL personnalisés Fastly.
Utiliser un extrait de code VCL Fastly pour la redirection
Créez un fragment de code VCL personnalisé pour réécrire le chemin d’accès de sitemap.xml
vers /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 pour 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 admin 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 les personnalisations de robots.txt
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 moteur de recherche ne peut être activée que dans Production, mais pas dans les environnements inférieurs.
-
Si vous utilisez PWA Studio et que vous ne parvenez pas à accéder à votre fichier
robots.txt
configuré, ajoutezrobots.txt
à la Liste autorisée de prénom sur Magasins > Configuration > Général > Web > Configuration du PWA UPWARD.