サイトマップインデックスがある場合、インデックスにリストされているサイトマップはサブディレクトリに配置できますが、サブディレクトリに固有ではないリンクはありますか?できる限り、サーバーのルートディレクトリに複数のサイトマップを配置しないようにしています。
/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>
以前に同様の質問を投稿しましたが、自分自身を明確に説明しませんでした。
W3dが言及している「仕様」によると、サイトマップファイルは代替ディレクトリのURLを参照できません。
ただし、これはすべての検索エンジンに当てはまるわけではありません。サイトマップファイルをサブディレクトリに配置しましたが、GoogleまたはBingウェブマスターツールでエラーが発生したことはありません。
そのため、実際には違いはありませんサイトマップを置く場所。
サイトマップindexファイルは別のディレクトリにあるサイトマップをリストできますが、サイトマップファイル自体は、それらが置かれているディレクトリツリー/サブディレクトリの外部にあるURLを参照できません。質問の2番目の部分で尋ねていることです。だから、いいえ、あなたのオーバーホールの質問に答えて、私はあなたができるとは思わない。 EDIT:少なくとも サイトマップ仕様 に従って。
インデックスからサイトマップファイルを参照する唯一の基準は、サイトマップファイルが同じドメインにあることです。 (ところで、サイトマップインデックスファイルのルート要素として<sitemapindex>
を使用する必要があります。「Sitemap.xml」の例のように<urlset>
を使用する必要はありません。これらは通常のサイトマップファイル用です。)
注:サイトマップインデックスファイルで指定できるのは、サイトマップインデックスファイルと同じサイトにあるサイトマップのみです。たとえば、
http://www.yoursite.com/sitemap_index.xml
にはhttp://www.yoursite.com
のサイトマップを含めることができますが、http://www.example.com
またはhttp://yourhost.yoursite.com
のサイトマップは含めることができません。
ただし、サイトマッププロトコルによれば、サイトマップファイル自体は、親ディレクトリまたはサブディレクトリ外のディレクトリのURLを参照できません(質問の2番目の部分で示唆しているように)。 1つの場所のサイトマップのには、まったく異なるサブディレクトリのURLにアクセスする権限がない場合があります。
サイトマップファイルの場所によって、そのサイトマップに含めることができるURLのセットが決まります。
http://example.com/catalog/sitemap.xm
lにあるサイトマップファイルには、http://example.com/catalog/
で始まるURLを含めることができますが、http://example.com/images/
で始まるURLを含めることはできません。Ref:サイトマップファイルの場所
編集:
これは 公式のサイトマッププロトコル仕様 の私の解釈です。ただし、実装はそうでないことを示唆しているようです-@DisgruntledGoatの答えを参照してください。また、robots.txtに関するコメントにも注意してください。