はてなブログの記事URL
はてなブログの記事URLは、デフォルトでは以下のどれかの形式になります(それぞれの設定による)
- 標準
https://taberu-salad.hatenablog.com//entry/年/月/日/6桁の数字
- タイトル
https://taberu-salad.hatenablog.com/entry/年/月/日/記事タイトル
- ダイアリー
https://taberu-salad.hatenablog.com/entry/年月日/10桁の数字
また、記事投稿時に設定する
- カスタムURL
https://taberu-salad.hatenablog.com/entry/<好きな文字列>
という形式もあります
(私には)衝撃の事実
私は、初期はダイアリー
の形式で記事を投稿していました
しかし!
misosuke-toreca.hatenablog.com
この記事では、「カスタムURLが推奨される」とした上でその理由が示されているのですが、その二つ目の理由がこちらです
そして2つ目の理由は、カスタムURLをグーグルが推奨していることです。具体的には「分かりやすく簡潔であり、英数字と‐(ハイフン)によって構成されている」ものが望ましいようです。SEO(検索エンジン最適化)対策の点からみても、こうしたURLを設定することは非常に有効なようです。
SEO対策的にカスタムURLが有利!?
私は、大昔にSEOをかじった程度で無知、かつ全く意識していなかったのですが、
せっかくならSEO対策なるものをやってやろうじゃないかと
何も考えずに全ての記事のURLをカスタムURLに変更していきました
その後見つかるリンク切れ
ある日、Bingのwebマスタツール * を見ていると、キーワード検索でいくらか流入があったことが分かったので、Bingで実際に検索してみました
おぉ!自分の記事が検索結果のこんな上の方に出てくるとは…!感動!
…ん?URLおかしくね?
ちょっと焦りながら、クリックしてみると…
変更前のURLが表示されて、記事が表示されないではないか!
どうやら、はてなブログさんは勝手にリダイレクトしたりはしてくれないよう
放っておくと、変更後のURLが上位に表示されるようになるとは思いますが、せっかくなのでうまいことリダイレクトできないか試してみました
やっと本題
旧URLから新URLへリダイレクトする設定をかく
幸い(?)はてなブログでは、設定>詳細設定>検索エンジン最適化>headに要素を追加
から、ブログのheaderに自由に記述できるので、そこにjsで処理を実装する
今回は、
- 旧URL:https://taberu-salad.hatenablog.com/entry/2019/08/06/210200
- 新URL:https://taberu-salad.hatenablog.com/entry/log4js-auto-row
なので、
<script type="text/javascript" language="javascript"> if ((new RegExp("/entry/2019/08/06/210200
quot;)).test(window.location.pathname)) { window.location.pathname="/entry/log4js-auto-row"; } </script>
こんな感じで書いてみました
で、もちろん対象はこのURLだけじゃないので、
<script type="text/javascript" language="javascript"> if ((new RegExp("/entry/2019/08/06/210200
quot;)).test(window.location.pathname)){window.location.pathname="/entry/log4js-auto-row";} else if((new RegExp("/entry/2019/07/30/175000
quot;)).test(window.location.pathname)){window.location.pathname="/entry/axios";} else if((new RegExp("/entry/2019/07/30/174600
quot;)).test(window.location.pathname)){window.location.pathname="/entry/node-notifier";} else if((new RegExp("/entry/2019/08/02/193000
quot;)).test(window.location.pathname)){window.location.pathname="/entry/direnv";} </script>
ズラズラっと書いてみました(全部じゃないです。旧URLが分かったものだけw)
とりあえず、これでリダイレクトはするようになったのですが、そもそもこの設定がSEO対策的観点からみて良いものなのかは分かりませんw
というか少なくともよく評価されることはないはずです
詳しい方教えてくださいw
結論
ちゃんと調べて、ちゃんと考えてからはじめよう
1つ目の記事を投稿する段階で上記の記事に出会っていれば、こんな面倒くさい事しなくて済んだのにw
下調べは大事という教訓ですね
カスタムURLに変更するきっかけになった記事を改めて読んで
ここまで読んでくれた方の中には「なんだ。カスタムURLって編集画面から簡単に編集できるんじゃん!好きな時に変えればいいや!」と考える方もいらっしゃるかと思います。(恥ずかしい話ではありますが)私もそう考え変更してみた結果、冒頭で紹介したような「Entry is Not Found」だらけの状態になってしまったのです。
ちゃんと書いてあったw
さらに…!
新URLを「Google」に認識してもらう
この作業では先ほども紹介した「Search Console」という解析ツールを使います。これはGoogleから無料で提供されているツールで、自社及び個人のサイトが検索者からどのようにアクセスされているかを知ることができます。「どういった単語で検索されたか」や「どの程度表示され、ユーザーからクリックされるに至ったか」など、検索者がそのサイトに辿り着くまでの経路を教えてくれるものです。検索者の事前的な情報を得意としているといえます。
少なくともGoogle検索結果に関しては、旧URLをなかったことにできるみたいです
Bingも同じようにできるのかは不明です
* Bing Webマスターツール:https://www.bing.com/toolbox/webmaste
SEO対策(笑)の一環として導入してみました