generated at
管理外のWebサイトをGoogleの検索結果に載せたい

やりたいこと
自分が完全な管理を持っていないWebサービスの自分の記事などをGoogleにインデックス化してもらいたい。
どういう意味かというと、以下のようなWebサービス。
上記のサービスで以下のようなことが可能。
自分の動画を投稿できるとか、
自分のリポジトリを公開できるとか、
自分の書いた内容を投稿できる
だが、好きにHTMLを書き換えたり、サイトマップを設置したりすることは出来ない

実際にやったこと
このCosenseのインデックス化をGoogleに促して、実際に検索結果に載るようになった。

実際の結果
以下は実際の結果。作成が16時間前のものだが、タイトルを検索してGoogleでヒットしている。Twitterなどの他のサービスでこのURLを流したりはしていない。
何もしなければ、Cosenseは1ヶ月前のページのタイトル検索してもGoogleでヒットしないので16時間前というのはすごく早い(実際は執筆時のスクショなので、本当は数時間だった)。

ここで目的ではないこと
多少の注意点。
インデックス化はSEO対策の一環ではあるが、短い検索キーワードで上位にするなどは目指していない
つまり、/shokai/ScrapboxはSEO意外と強い?で登場する「React SEO」というすごく短いキーワードで検索トップまで行くことが目的ではない。
目的は単純に、検索すればヒットする(インデックス化)状態にすること。つまり、タイトルを検索してヒットすれば成功。

なぜ検索結果に載せたいか?
せっかくのオープンなので、検索して全くヒットしないのは情報が埋もれてしまって残念だから。
自分としてGoogleの強力な検索能力の上で検索できるし
知りたくて検索した人も、もしかするとそのページで知りたいことが知れるかもしれない
つまり、みんなハッピーなはず。

ざっくりと手順
どういうサーバーとか構成でやったかについて。今回はCosenseでの話。だが、任意のWebサイトで利用可能なはずである。
(下記出てくる nwtgck は自分のIDなどと考えれば良い)

以下の構成のサーバーを作って、上手くいった。
ルーティングができて、レスポンスを動的に生成できるWebサーバーを用意する
今回はhttps://nwtgck.orgとする
サブドメインを使っても大丈夫なはず
https://nwtgck.org/scrapbox/ページタイトル https://scrapbox.io/nwtgck/ページタイトルに リダイレクトする。
https://nwtgck.org/scrapbox/sitemap.xml <link> https://nwtgck.org/scrapbox/ページタイトル に向かうサイトマップにする
注: <link> https://nwtgck.orgに向かうべきであり、https://scrapbox.io/nwtgckではない。
(sitemap.xmlと言いつつ、今はRSSの形式...)
Google Search Consoleに nwtgck.org のサイトマップを登録する

詳細な手順とか補足とか
nwtgck.orgは2日前にとったばかり新しいドメイン
使い込んだドメインでなくても上記の画像のように効果があった。
Googleドメインで取得している。(どこでとっても構わない)
おそらくHerokuを使っても上記と同じことが満たせるので、無料で出来るはず。
「ルーティングができて、レスポンスを動的に生成できるWebサーバー」とは
各種言語のの標準のWebサーバーライブラリ(Node.jsとか)があればOK
NodeのExpressとか、RubySinatraとか、PythonFlaskなどでOK
今回はExpressを使っていて、以下のような感じで 301 Moved Permanently リダイレクトしている
ts
// Scrapbox redirect rule app.get(/\/scrapbox\/(.+)/, (req, res) => { logger.info('on /scrapbox req.params', req.params); // Get Scrapbox title const title: string = req.params[0]; // Redirect to Scrapbox res.redirect(301, `https://scrapbox.io/nwtgck/${encodeURIComponent(title)}`); });
RSSの生成
Node.jsで動くjpmonette/feedを使っている。
おそらくCosense公式のfeedもこれを使っているはず。
定期的にScrapboxのAPIを叩いて、RSSを更新している。
普通にブラウザで動くCosenseでもこのAPIを叩いている様子

実際にnwtgck.orgのアクセスログを見るとちゃんと、Google Search Consoleにサイトマップを送信後すぐに、GooglebotがサイトマップをGETして、その後サイトマップ内のリンクにもアクセスして 301 Moved Permanently でリダイレクトしていったことが確認できた。GooglebotがGETしたからといって、すぐにインデックス化されるわけではないが、待てば実際に上記の画像にできた。

新しいページ増えて再度インデックス化を促したいなら
すでに登録済みだが、もう一度サイトマップを送信すれば良かった。アクセスログでGooglebotがまたsitemap.xmlをGETして、新しいページだけGooglebotがGETしたのが確認できた。


Googleから見たこの手法
Googleから見てこの手法が良いのか?について。Googleから見れば「もともとnwtgck.orgで書いてた内容がscrapbox.ioに移動したんだな」のようになるはずなので、問題ないと思っている。(時間的には逆だが)

参考にした情報
まず、/shokaiが数時間でGoogle検索できるようになっているという情報を知った。

そのあと、/shokai/shokai.orgからfeedのリダイレクトを読んだ。これから最終的にこの着想になった。「橋本商会」さんはブログ時代から検索してよく出てきてお世話になっていて、そこからの301のリダイレクトをしているということとで元々強いSEOサイトのfeedがScrapboxに置き換わることで、数時間で検索できるようになっているのではないかと思った(単なる推測)。
sitemap.xmlをリダイレクトするだけのものも試したが、Google Searc Consoleに送信すると、外部リンクのscrapbox.ioに向かっているためエラーしてしまった。そのため、このような手法になっている。