唐突にテクニカルな記事になるのですけど、、
はてなブログの記事個別のURLを、あとから変更したくなったことありませんか?
僕はあるんですよ。すでに、1度、全体的に自分ルール変更(スタイル変更)を行い、ひどい目に合いました。
これを解決するために、はてなブログで404になったときの表示をカスタマイズして、新記事にリダイレクトする仕掛けを作りました。これを使うと、記事の公開後にURLを変えても、被害が少なくなります。
具体的な設定方法は知りたい人は、こちらの記事へGO
kanaxx.hatenablog.jp
なにが問題だったのか?
はじめは何も考えずに投稿ボタンを押して記事を作ってました。はてなブログ側で勝手に決めてくれるルールでURLを使ってました。
ここの設定で多少は変えられますが、特に意識せずにブログを開始しました。
(いまでも、何も入れなかったら、年月日スラッシュ区切りスタイルでURLを作ります)
問題発生
記事が増えてきて、あるとき気が付きました。Google Analyticsを見ても、何のページかわからないではないかと!
2020年3月分のページ一覧
これは、困りました。全く分からん。
ということで、新しい記事はブログ投稿画面にある「カスタムURLの設定機能」で1つずつ丁寧にURLを決めるようにしました。ちゃんと名前を付けてあげる感じですね。適当なのは良くない。
そしたら、Google Analyticsの画面は、こんな風に変わりました。ぱっと見でも分かりやすいですよね。
めでたし。
のはずだったんですけど、やりはじめると、過去のものまで統一感を持たせるように直したくなるのが人間というものです。一括でサクッとと直すことはできなので、1つずつチマチマ直すことになるわけなのですけど。がんばって直しましたさ。
さらに問題発生
ただ、過去のものを直すとさらに問題が発生です。
自分の記事の中に埋め込んだURLを直すのも、それなりに面倒ですが、これはやるしかない。 ただ、Twitterなどに拡散したURLは、過去にさかのぼり修正ができないのです。リツイートしてもらってもページに入ってきたら何もない、なんてことが起こりえますね。かなしい。
ということで、過去の記事のURLを新しい記事に飛ばすような仕掛けを作ってみました。
作るにあたって考えたこと
この方法で実現できるものは、以下のことです。
- 旧記事から新記事に転送ができます
- 新旧の記事マッピングの作成・修正を簡単にできます(そのために外部サービスを使いました)
- カテゴリ名の変更にも転送ができます
- 旧記事の本文にスクリプトを書いて、新記事に転送する方法と同居できます
- 無料で実現できます
今まで工夫してやってきた苦労はそのまま活かせます。 Not Foundのページが一度表示されてからの転送なので、旧記事の本文に書く方法のほうが動きが早いです。
実際のサンプル
ここにいくつか、サンプルを置いておきます。クリックして試してみてください。
🆗旧記事の本文にスクリプト埋め込んで、次のページに行くやつ(従来の方法) https://kanaxx.hatenablog.jp/entry/2020/03/26/003501
🆖これは、Not Foundのページが開いて、何も起きないやつ https://kanaxx.hatenablog.jp/entry/2020/04/05/202711
🆗Not Foundが一度開くけど、新しいページに行けるやつ
https://kanaxx.hatenablog.jp/entry/2020/03/16/003506
🆗カテゴリ名を変えたときに、新しいカテゴリへGO
https://kanaxx.hatenablog.jp/archive/category/google-sitemap
URL変更はリスクがあります
新しいページに転送できるからといって、URL変更は気軽に何度もやることではないです。
やるべきことはやった上で、どうにもならない部分や、別サイトからの流入に対して、何もない状態を出さないための最後の砦としてお考え下さい。
Google的には、そのURLは存在しない(404 Not Found)ページでしかないので、SEO的な評価は期待できないです。
- URLは一度付けたら、基本的には変えないほうがいい!
- どうしても変えたいなら、自分で編集できる範囲は自分で直すこと
- はてブなどの評価やスターは別になるので覚悟の上でやること
URLを変えると良くないことは必ず発生するので、それを理解した上でやりましょう。
とても長い前置きは、ここでおしまい。つづきは後編で。
はてなブログの過去記事のURLを変えたときに、新しいURLに行く仕組み(設定編) - ((7回目の出直し ))