管理外のWebサイトをGoogleの検索結果に載せたい
やりたいこと
自分が完全な管理を持っていないWebサービスの自分の記事などをGoogleにインデックス化してもらいたい。
どういう意味かというと、以下のようなWebサービス。
上記のサービスで以下のようなことが可能。
自分の動画を投稿できるとか、
自分のリポジトリを公開できるとか、
自分の書いた内容を投稿できる
だが、好きにHTMLを書き換えたり、サイトマップを設置したりすることは出来ない。
実際にやったこと
実際の結果
以下は実際の結果。作成が16時間前のものだが、タイトルを検索してGoogleでヒットしている。Twitterなどの他のサービスでこのURLを流したりはしていない。 https://gyazo.com/139c3b63e91eb2b17ab9fb37d81c82fe
何もしなければ、Cosenseは1ヶ月前のページのタイトル検索してもGoogleでヒットしないので16時間前というのはすごく早い(実際は執筆時のスクショなので、本当は数時間だった)。 ここで目的ではないこと
多少の注意点。
インデックス化はSEO対策の一環ではあるが、短い検索キーワードで上位にするなどは目指していない 目的は単純に、検索すればヒットする(インデックス化)状態にすること。つまり、タイトルを検索してヒットすれば成功。
なぜ検索結果に載せたいか?
せっかくのオープンなので、検索して全くヒットしないのは情報が埋もれてしまって残念だから。
知りたくて検索した人も、もしかするとそのページで知りたいことが知れるかもしれない
つまり、みんなハッピーなはず。
ざっくりと手順
どういうサーバーとか構成でやったかについて。今回はCosenseでの話。だが、任意のWebサイトで利用可能なはずである。 (下記出てくるnwtgckは自分のIDなどと考えれば良い)
以下の構成のサーバーを作って、上手くいった。
ルーティングができて、レスポンスを動的に生成できるWebサーバーを用意する
サブドメインを使っても大丈夫なはず
https://nwtgck.org/scrapbox/ページタイトルをhttps://scrapbox.io/nwtgck/ページタイトルにリダイレクトする。
の<link>をhttps://nwtgck.org/scrapbox/ページタイトルに向かうサイトマップにする 注: <link>はに向かうべきであり、ではない。 (sitemap.xmlと言いつつ、今はRSSの形式...)
詳細な手順とか補足とか
nwtgck.orgは2日前にとったばかり新しいドメイン
使い込んだドメインでなくても上記の画像のように効果があった。
おそらくHerokuを使っても上記と同じことが満たせるので、無料で出来るはず。
「ルーティングができて、レスポンスを動的に生成できるWebサーバー」とは
各種言語のの標準のWebサーバーライブラリ(Node.jsとか)があればOK code:ts
// Scrapbox redirect rule
app.get(/\/scrapbox\/(.+)/, (req, res) => {
logger.info('on /scrapbox req.params', req.params);
// Get Scrapbox title
const title: string = req.params0; // Redirect to Scrapbox
res.redirect(301, https://scrapbox.io/nwtgck/${encodeURIComponent(title)});
});
定期的にScrapboxのAPIを叩いて、RSSを更新している。
すでに登録済みだが、もう一度サイトマップを送信すれば良かった。アクセスログでGooglebotがまたsitemap.xmlをGETして、新しいページだけGooglebotがGETしたのが確認できた。 https://gyazo.com/e8c3e6cb0d2f2c7dfd9b74c7a73e0201
Googleから見てこの手法が良いのか?について。Googleから見れば「もともとnwtgck.orgで書いてた内容がscrapbox.ioに移動したんだな」のようになるはずなので、問題ないと思っている。(時間的には逆だが) 参考にした情報
https://gyazo.com/9bafe6199bf586a1b6407bd8da621f10
そのあと、/shokai/shokai.orgからfeedのリダイレクトを読んだ。これから最終的にこの着想になった。「橋本商会」さんはブログ時代から検索してよく出てきてお世話になっていて、そこからの301のリダイレクトをしているということとで元々強いSEOサイトのfeedがScrapboxに置き換わることで、数時間で検索できるようになっているのではないかと思った(単なる推測)。 sitemap.xmlをリダイレクトするだけのものも試したが、Google Searc Consoleに送信すると、外部リンクのscrapbox.ioに向かっているためエラーしてしまった。そのため、このような手法になっている。