ここで説明されているように、XML サイトマップを提供しようとしました。サイトマップと呼ばれるページがあり、そのGoogle Sitemap Index
上に があります。「選択したページ」の下で、ページ自体を選択しました。言語ごとに、サイトマップの下にサブページを作成しGoogle Sitemap for Pages
、対応する翻訳を表示しました。サイトマップ (インデックス) を呼び出すと、複数のエントリがあります。
<sitemapindex>
<sitemap>
<loc>http://www.yourdomain.com/sitemap/german.html</loc>
<lastmod>2012-05-25T12:39:19Z</lastmod></sitemap>
<sitemap>
<loc>http://www.yourdomain.com/sitemap/english.html</loc>
<lastmod>2012-05-25T12:39:19Z</lastmod>
</sitemap>
<sitemap>
<loc>http://www.yourdomain.com/sitemap/english.html</loc>
<lastmod>2012-05-25T12:39:19Z</lastmod>
</sitemap>
<sitemap>
<loc>http://www.yourdomain.com/sitemap/croatian.html</loc>
<lastmod>2012-05-25T12:39:19Z</lastmod>
</sitemap>
<sitemap>
<loc>http://www.yourdomain.com/sitemap/croatian.html</loc>
<lastmod>2012-05-25T12:39:19Z</lastmod>
</sitemap>
</sitemapindex>
「選択したページ」(インデックス サイトマップの)の下で選択すると、サブページsitemapindex
が空になります。翻訳を非表示にすると、エントリは 1 つしかありませんが、(異なる言語の) 個別のサイトマップを呼び出すことはできなくなります (xml ファイルではなく、ページが空白である私の Web サイトを参照してください)。すべての翻訳も無効になっているため、レコードを無効にすることはできません。
次に、私が電話するhttp://www.yourdomain.com/sitemap/english.html
と、いつもメイン言語のサイトマップが表示されます。すでに htaccess を拡張しています:
RewriteCond %{QUERY_STRING} id=170
RewriteRule ^index.php$ index.php?id=170&L=0 [L]
RewriteCond %{QUERY_STRING} id=171
RewriteRule ^index.php$ index.php?id=171&L=1 [L]
RewriteCond %{QUERY_STRING} id=172
RewriteRule ^index.php$ index.php?id=172&L=2 [L]
の代わりにフルパスが必要id=171
ですか?
編集:
私は次のように切り替えました:
Redirect /sitemap/german.html /index.php?id=170&L=0
Redirect /sitemap/english.html /index.php?id=171&L=1
Redirect /sitemap/croatian.html /index.php?id=172&L=2
Redirect /sitemap/german /index.php?id=170&L=0
Redirect /sitemap/english /index.php?id=171&L=1
Redirect /sitemap/croatian /index.php?id=172&L=2
唯一の欠点は、話す URL がなくなったことです...
編集 2: 解決策ではありませんが、上記のプロセス全体ではなく、複数のサイトマップ URL (翻訳されたサイトマップ) を送信しています。