web-dev-qa-db-fra.com

Un fichier d'index de sitemap peut-il répertorier des sitemaps dans un autre répertoire?

Si j'ai un index de sitemap, les sitemaps répertoriés dans l'index peuvent-ils être situés dans un sous-répertoire, mais avoir des liens qui ne sont pas spécifiques au sous-répertoire? J'essaie d'éviter d'avoir plusieurs sitemaps dans le répertoire racine de mon serveur, si je peux m'aider.

/Sitemap.xml

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
    <loc>http://www.example.com/assets/cnt/sitemap/main.xml</loc>
   </sitemap>
</sitemapindex>

/assets/cnt/sitemap/main.xml

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://www.example.com/</loc>
        <changefreq>daily</changefreq>
    </url>

    <url>
        <loc>http://www.example.com/Customer-Service</loc>
    </url>
</urlset>

J'ai posté une question similaire plus tôt, mais je ne me suis pas expliqué clairement.

4
RHPT

Selon la "spécification" mentionnée par w3d, les fichiers de plan Sitemap ne peuvent pas faire référence à des URL dans des répertoires alternatifs.

Cependant, ce n'est tout simplement pas vrai pour tous les moteurs de recherche. J'ai placé des fichiers de plan de site dans un sous-répertoire et je n'ai jamais eu une seule erreur dans Google ou les outils pour les webmasters Bing.

Donc dans la pratique cela ne fait aucune différence où vous mettez des sitemaps.

6
DisgruntledGoat

Bien que le fichier sitemap index puisse répertorier les sitemaps dans un répertoire différent, les fichiers de sitemap eux-mêmes ne peuvent pas faire référence à des URL situées en dehors de l'arborescence/du sous-répertoire dans lequel ils se trouvent - ce qui, je crois, est ce que vous demandez. dans la deuxième partie de votre question. Donc, non, en réponse à votre question générale, je ne pense pas que vous puissiez le faire. EDIT: au moins selon la spécification de sitemap .

Le seul critère permettant de référencer des fichiers de sitemap à partir de l'index est que les fichiers de sitemap se trouvent sur le même domaine. (Soit dit en passant, le fichier d'index du sitemap doit avoir comme élément racine <sitemapindex>, et non pas <urlset> comme dans votre exemple "Sitemap.xml" - il s'agit de fichiers sitemap ordinaires.)

Remarque: un fichier d'index Sitemap ne peut spécifier que les sitemaps qui se trouvent sur le même site que le fichier d'index Sitemap. Par exemple, http://www.yoursite.com/sitemap_index.xml peut inclure des plans Sitemap sur http://www.yoursite.com mais pas sur http://www.example.com ou http://yourhost.yoursite.com.

Ref: tilisation des fichiers d'index de sitemap (pour regrouper plusieurs fichiers de sitemap)

Cependant, selon le protocole de sitemap, les fichiers de sitemap eux-mêmes ne peuvent pas référencer d'URL dans un répertoire parent, ni dans un répertoire en dehors du sous-répertoire (comme je pense que vous sous-entendez dans la 2e partie de votre question), car le créateur du sitemap situé à un emplacement donné peuvent ne pas être autorisés à accéder aux URL d’un sous-répertoire entièrement différent.

L'emplacement d'un fichier Sitemap détermine l'ensemble des URL pouvant être incluses dans ce sitemap. Un fichier Sitemap situé à l'emplacement http://example.com/catalog/sitemap.xml peut inclure toutes les URL commençant par http://example.com/catalog/ mais ne peut inclure des URL commençant par http://example.com/images/.

Ref: Emplacement du fichier Sitemap

EDIT:

C’est mon interprétation de = spécification officielle du protocole de sitemap . Cependant, la mise en œuvre semblerait suggérer le contraire - voir la réponse de @ DisgruntledGoat, mais prenez également en note les commentaires concernant le fichier robots.txt.

4
MrWhite