cirry

cirry

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

Adding Sitemap to a blog website based on the Astro framework

Install @astro/sitemap#

First, install the official sitemap package under Astro:

# Using NPM
npx astro add sitemap
# Using Yarn
yarn astro add sitemap
# Using PNPM
pnpm astro add sitemap

Press y and enter, Astro will automatically modify your configuration file astro.config.mjs to add sitemap packaging functionality.

It is recommended to double-check your configuration file. If the following code is present in the file, it means the configuration was successful. If not, please add it yourself:

import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';

export default defineConfig({
  // ...
  integrations: [sitemap()],
})

After the configuration is completed, package it. A file named sitemap-0.xml will be generated in the root directory. This is the sitemap file for your website. Submit it to search engines for indexing.

Add Baidu Verification#

Note: Website verification is required for sitemap indexing. Add your website to the Baidu Search Resource Platform and follow the verification process described in this detailed guide on site verification.

image

Select the appropriate site properties.

image

Choose file verification, download the verification file, and place it in the root directory of your website.

After packaging and deploying, click on the verification file to ensure it can be accessed normally.

Add Baidu Indexing#

In the Baidu Resource Search Platform - Normal Indexing, enter the sitemap address of your website.

image

Add Google Verification#

Refer to the documentation on Google Search Central for more information.

To submit a sitemap, send a GET request to the following address in your browser or command line, specifying the complete URL of your sitemap. Make sure the sitemap file is accessible:

https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP  # FULL_URL_OF_SITEMAP: Location of the sitemap file

For example, in my browser, I directly enter the following link:

https://www.google.com/ping?sitemap=https://cirry.cn/sitemap-0.xml

The returned page is as follows:

image

Click on the link http://www.google.com/webmasters/tools/, which will redirect you to Google Search Console.

image

Enter your website and verify it.

After successful verification, a prompt will appear asking you to add a verification method.

You can choose the method shown in the image below: download the HTML file and add it to the root directory of your website:

image

Alternatively, you can choose to add the following request header to the head of your website:

image

After adding it, re-verify in Google Search Console. If you see the image below, it means the addition is complete.

image

Add Google Indexing#

In Google Search Console, enter the sitemap address of your website.

image

Issues Encountered#

After completing the normal operations, check if the Robots and Crawl Diagnostics of your website can be used normally in the Baidu Search Resource Platform.

I added the sitemap of my website in Normal Indexing on Baidu, but found that it failed to be indexed.

image

In the Crawl Diagnostics, I encountered a diagnostic error indicating robots.txt blocking. So I tested my website on xml-sitemaps to see if it could be scanned.

I found that this website couldn't detect my website either, which means it was restricted by the crawler protocol. So I made some changes to my crawler protocol. The modified robots.txt is as follows:

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

After the modification, remember to click on the error in the diagnostic report and report the error message to Baidu.

image

image

After a few minutes, I crawled my website on xml-sitemaps and it succeeded. I resubmitted it on Baidu and it was indexed normally.

Note: Baidu does not allow indexing-type sitemaps. Therefore, we should not include sitemap-index.xml, which is generated by @astro/sitemap, in the robots.txt file. Otherwise, Baidu will still prompt for Robots blocking, resulting in failure to crawl information.

If you encounter other issues, you can refer to the analysis of common errors in the Crawl Diagnostics tool.

You can use the following command to check if it is blocked by robots or if there is an IP resolution error. If it returns HTTP 200, it means it is normal. Otherwise, it is abnormal. Remember to replace the website link at the end with your own website.

curl --head  --user-agent 'Mozilla/5.0 (compatible; Baiduspider/2.0; +<http://www.baidu.com/search/spider.html)>' --request GET 'https://cirry.cn'
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.