お困りごと
先日、当ブログの Google インデックスが急激に減っていることに気づきました 😱
直近の ogp や twitter 向けの画像タグの設定の反映が影響したかなと疑ったのですが、関連したデグレは見当たらず(sitemap.tsx や robots.ts、generateMetadata、etc...)、Next.js の機能自体にも特段の Issue は見当たりませんでした。
Google Search Console(GSC)でインデックスを再登録しようとすると、robots.txt によりブロックされました と言われる始末。
robots.ts でもブロックは意図してないのに 🤔
1import { MetadataRoute } from "next";
2
3import { settings } from "~/lib/settings";
4
5export default function robots(): MetadataRoute.Robots {
6 return {
7 rules: {
8 userAgent: "*",
9 allow: "/",
10 disallow: ["/policy/"],
11 },
12 sitemap: `${url}/sitemap.xml`,
13 };
14}
結論
四苦八苦していたら、素直にメタタグ側で GoogleBot を許可すればいいだけではと考え、GoogleBot を明示的に許可したらインデックスが再登録できました 🎉
1export function generateMetadata({ params: { slug } }: Props): Metadata {
2 const { title } = getPostBySlug(slug);
3
4 return {
5 title,
6 // ...
7 robots: {
8 follow: true,
9 index: true,
10 googleBot: {
11 follow: true,
12 index: true,
13 },
14 },
15 };
16}
おわりに
本当にこれでインデックスが再登録できるようになったのか?はまだグレーな気がしています。
とりあえず、GSC で再登録できるようになったという結果を持って、しばらく様子を見てみます 😅