@astro/sitemap のインストール#
まず、Astro の公式 Sitemap パッケージをインストールします:
# NPMを使用する場合
npx astro add sitemap
# Yarnを使用する場合
yarn astro add sitemap
# PNPMを使用する場合
pnpm astro add sitemap
y を押して Enter キーを押すと、astro は自動的にastro.config.mjs
設定ファイルに sitemap パッケージを追加します。
設定ファイルに以下のコードがあることを確認してください。ない場合は、自分で追加してください:
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';
export default defineConfig({
// ...
integrations: [sitemap()],
})
設定が完了したら、パッケージをビルドしてください。すると、ルートディレクトリにsitemap-0.xml
というファイルが生成されます。これがサイトマップファイルであり、検索エンジンに送信するためのものです。
百度の検証を追加#
注意:サイトマップのインデックスにはサイトの検証が必要です。百度検索リソースプラットフォームで自分のウェブサイトを追加し、以下の手順に従ってサイトの検証を行ってください:サイトの検証の詳細。
適切なサイトのプロパティを選択してください。
ファイルの検証を選択し、検証ファイルをダウンロードして、ウェブサイトのルートディレクトリに配置してください。
パッケージをビルドしてデプロイした後、検証ファイルにアクセスできることを確認してください。
百度のインデックスを追加#
百度リソース検索プラットフォーム - 一般的なインデックスにアクセスし、ウェブサイトのサイトマップのアドレスを入力してください。
Google の検証を追加#
Google 検索コンソールのドキュメントを参照してください。
サイトマップを提出する方法:ブラウザまたはコマンドラインで次のアドレスに GET リクエストを送信し、サイトマップの完全な URL を指定します。サイトマップファイルがアクセス可能であることを確認してください:
https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP # FULL_URL_OF_SITEMAP: サイトマップファイルの場所
例えば、ブラウザで以下のリンクを直接入力してアクセスします:
https://www.google.com/ping?sitemap=https://cirry.cn/sitemap-0.xml
以下のようなページが返されます:
ページ上のリンクhttp://www.google.com/webmasters/tools/をクリックすると、Google のSearch Consoleに移動します。
ウェブサイトを入力し、ウェブサイトを検証します。
検証が成功すると、検証方法を追加するように求められます。
次の方法を選択できます:HTML ファイルをダウンロードし、ウェブサイトのルートディレクトリに追加する方法:
または、次のリクエストヘッダーをウェブサイトのヘッダーに追加する方法:
追加した後、Google Search Consoleで再度検証し、以下のような画像が表示されれば追加が完了です。
Google のインデックスを追加#
Google Search Consoleのサイトマップにウェブサイトのサイトマップのアドレスを入力してください。
問題に遭遇した場合#
正常な操作が完了した後、百度リソース検索プラットフォームとクロール診断でウェブサイトの Robots とクロール診断が正常に機能しているかを確認してください。
私は一般的なインデックスでウェブサイトのサイトマップを追加しましたが、百度によるインデックスの失敗が発生しました。
クロール診断では、クロール診断エラーが発生し、robots がブロックされているというエラーメッセージが表示されました。そのため、xml-sitemapsで自分のウェブサイトをスキャンできるかどうかテストしました。
このウェブサイトも検出できなかったため、クローラープロトコルに制限があると判断しました。そのため、クローラープロトコルを変更し、次のような robots.txt ファイルを作成しました:
User-agent: *
Allow: /
Sitemap: https://cirry.cn/sitemap-0.xml
変更が完了したら、エラーメッセージのグラフでエラーをクリックし、エラーメッセージを百度に報告してください。
数分後、xml-sitemapsで正常にクロールできるようになりました。百度に再度送信すると、正常にインデックスされます。
注意:百度はインデックス型のサイトマップを許可していませんので、@astro/sitemap
で生成される 2 つのサイトマップファイルsitemap-0.xml
とsitemap-index.xml
を robots.txt ファイルに書き込まないでください。そうしないと、百度は Robots のブロックを示すエラーメッセージを表示し、情報をクロールできなくなります。
他の問題に遭遇した場合は、クロール診断ツールの一般的なエラータイプの解析を参考にしてください。
次のコマンドを使用して、robots がブロックされているか、または IP の解析が失敗しているかを確認できます。http 200 が返されれば正常です。それ以外の場合は異常です。最後のウェブサイトリンクを自分のウェブサイトに置き換えることを忘れないでください。
curl --head --user-agent 'Mozilla/5.0 (compatible; Baiduspider/2.0; +<http://www.baidu.com/search/spider.html)>' --request GET 'https://cirry.cn'