投稿済みの記事のパーマリンクをデフォルトからカスタムURLに変更したい!
素直に変更してしまうと、変更前の記事のリンクからアクセスするユーザーは
お探しの記事は見つかりませんでした。
となってしまいます。
これだとリンク切れが起きてしまうので、非常によろしくないです。
ということで、どうしてもURL変更したい場合はjavascriptを使って、変更前のURLから変更後のURLへと転送するしかなさそうです。
もくじ
カスタムURLへの変更
SEOや今後のWordpress移転の可能性も考えて、記事のパーマリンクをカスタムURLに変更をかんがえています。(※はてなブログのデフォルトのパーマリンクだとWordPressにURLがきれいに移植できないも問題があります!)
例えば
https://www.cg-method.com/entry/2017/09/19/100000
↓
https://www.cg-method.com/entry/ae-setting-reset
と言った感じですが、変更するにはリンク切れが起きてしまうリスクがあります。
はてなブログでは301リダイレクトが行えない
301リダイレクトとは、変更前のURLから変更後のURLへ転送するための仕組みです。
しかし、はてなブログでは301リダイレクトが行えません。
javascriptを使っての転送方法
ヘッダに下記のスクリプトをコピペします。
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.2.3.min.js"></script> <script type="text/javascript" language="javascript"> // <![CDATA[ //元記事 var re = new RegExp(".*entry/2017/09/19/100000"); //新記事 var url = "http://www.cg-method.com/"; var href = window.location.href; if (re.test(href)) { $(document).ready(function() { if ($('#main-inner').children().hasClass("no-entry")) { var content = "<p>本記事は移転しました。</p><p>約3秒後にリダイレクトします。</p><p>リダイレクトしない場合は <a href='http://www.cg-method.com/'><u>ここ</u></a>をクリックしてください。</p>" ; $('.entry-footer').addClass('sorry_content'); $('.entry-footer').html(content); } }); var link = document.getElementsByTagName("link")[0]; link.href = url; setTimeout("redirect()", 3000); function redirect(){ location.href = url; } } // ]]> </script>
あとは元記事、新しい記事にパスをURLを入力するだけです。
指定した記事にアクセスすると3秒後に新しいURLへ飛ばすことができます。
複数、転送したい記事入れたい場合
コードの// <![CDATA[
~ // ]]>
の部分のコピーして追加して、入力するだけです。