Blogger ページ内リンクの正しい設定方法
Google Blogger ブログで
管理ページの レイアウト footer-1 へ 「 HTML/JavaScript 」 ガジェットを追加し JavaScript をコピペして保存する。
これでブログ内のリンク内ページのリンクが自動修正され正常に動作する。
目次
症状
ページ内リンク(アンカーリンク)を正しく設定しても、編集モードを切り替えたり、再編集を行うとページ内リンクに余計な情報が付加され、リンク先がブログ管理ページへのと代わってしまう。
対処方
ページ内リンクに対して行われる余計なリンク情報を掃除する Javascript を仕込むことで正常なページ内リンクに戻す。
アンカー名の重複を防ぎ、ページ内リンクをより健全にするために
投稿記事の単体ページではアンカー名が重複しなくても、複数の投稿が1ページに表示されるアーカイブページでは、アンカー名(ID)が重複する可能性があります。
これを防ぐためにアンカー名を一意とする必要があります。
アンカー名の命名規則
アンカー名(ジャンプ先の名前)命名規則
アーカイブページでのアンカー名重複を防ぐための命名規則として
postID+アンカー名
postIDは記事の編集画面のアドレスバーで確認できます。この記事のpostIDは3265737230123688960となっているので、アンカー名は次となります。これでブログ内で一意のアンカー名となります。
※idの先頭文字はアルファベットとしてください。
ページ内リンクが正常に働かない状態を JavaScript で解決する
<!--ページ内リンク改善スクリプト--> <script> (function () { var el=document.querySelectorAll("div.post-body a[href*='#']"); el.forEach(function(link) { if(/http:\/.*?#|blogID=\d+#/.test(link.href)){ link.href = "#"+link.href.split(/blogID=\d+#|http:\/.*?#/)[1]; } }); }()); </script>
管理ページの レイアウト footer-1 へ 「 HTML/JavaScript 」 ガジェットを追加し JavaScript をコピペして保存する。
これでブログ内のリンク内ページのリンクが自動修正され正常に動作する。
目次
ページ内リンク(アンカーリンク)を正しく設定しても、編集モードを切り替えたり、再編集を行うとページ内リンクに余計な情報が付加され、リンク先がブログ管理ページへのと代わってしまう。
ページ内リンクに対して行われる余計なリンク情報を掃除する Javascript を仕込むことで正常なページ内リンクに戻す。
投稿記事の単体ページではアンカー名が重複しなくても、複数の投稿が1ページに表示されるアーカイブページでは、アンカー名(ID)が重複する可能性があります。
これを防ぐためにアンカー名を一意とする必要があります。
アーカイブページでのアンカー名重複を防ぐための命名規則として
postID+アンカー名
<div id="アンカー名+postID"></div>
postIDは記事の編集画面のアドレスバーで確認できます。この記事のpostIDは3265737230123688960となっているので、アンカー名は次となります。これでブログ内で一意のアンカー名となります。
<div id="footer-3265737230123688960"></div>
※idの先頭文字はアルファベットとしてください。