cirry

cirry

我的原生博客地址:https://cirry.cn

Astroフレームワークを使用して作成されたブログウェブサイトにSitemapを追加する

@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ファイルが生成されます。これがサイトマップファイルであり、検索エンジンに送信するためです。

百度の検証を追加#

注意:サイトマップのインデックスにはサイトの検証が必要です。百度検索リソースプラットフォームで自分のウェブサイトを追加し、以下の手順に従ってサイトの検証を行ってください:サイトの検証の詳細な説明

image

適切なサイトの属性を選択してください。

image

ファイルの検証を選択し、検証ファイルをダウンロードして、ウェブサイトのルートディレクトリに配置してください。

パッケージをビルドしてデプロイした後、検証ファイルをクリックして正常にアクセスできることを確認してください。

百度のインデックスを追加#

百度リソース検索プラットフォーム - 一般的なインデックスで、ウェブサイトのサイトマップのアドレスを入力するだけです。

image

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

以下のようなページが返されます:

image

ページ上のリンクhttp://www.google.com/webmasters/tools/をクリックすると、Google のSearch Consoleに移動します。

image

ウェブサイトを入力し、ウェブサイトを検証します。

検証が成功すると、検証方法を追加するように求められます。

次の図の方法を選択できます:HTML ファイルをダウンロードし、ウェブサイトのルートディレクトリに追加します:

image

または、次のリクエストヘッダをウェブサイトの head に追加することもできます:

image

追加した後、Google Search Consoleで再度検証し、以下の図が表示されれば追加が完了です。

image

Google のインデックスを追加#

Google Search Consoleのサイトマップで、ウェブサイトのサイトマップのアドレスを入力するだけです。

image

問題に遭遇した場合#

正常な操作が完了した後、百度リソース検索プラットフォームクロール診断でウェブサイトの Robots とクロール診断が正常に機能しているかどうかを確認してください。

私は一般的なインデックスでサイトのサイトマップを追加しましたが、百度によるインデックスの失敗が発生しました。

image

クロール診断では、クロール診断エラーが発生し、robots がブロックされているというエラーメッセージが表示されました。xml-sitemapsで自分のサイトをスキャンできるかどうかテストしてみました。

このウェブサイトも検出できないことがわかりました。これはクローラープロトコルに制限があるためです。私はクローラープロトコルを変更し、次のように robots.txt を変更しました:

User-agent: *
Allow: /
Sitemap: https://cirry.cn/sitemap-0.xml

変更が完了したら、エラーメッセージの図でエラーをクリックして、エラーメッセージを百度に報告してください。

image

image

数分後、xml-sitemapsで正常にクロールできるようになりました。百度に再度送信すると、正常にインデックスされます。

注意:百度はインデックス型のサイトマップを許可していませんので、@astro/sitemapで生成される 2 つのサイトマップファイルsitemap-0.xmlsitemap-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'
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。