Bloggerでブログのカスタマイズ方法やCSS・HTMLのコードを紹介するとき、読者から「スマホだとコードが長すぎて上手く選択できない…」「コピーしにくい!」と思われていないか心配になったことはありませんか?
この記事では、読者がボタンを「ワンクリック」するだけで、記事内のコードを一発でコピーできる機能をBloggerに実装するカスタマイズ方法をご紹介します!
jQueryなどの重い外部ライブラリは一切不要(Vanilla JSのみ使用)で、Google AdSenseのナビゲーション誤認にも配慮した安全設計です。コピペだけで簡単に導入できるので、技術系の記事を書く方はぜひ取り入れてみてください。
- 読者がスマホからでも迷わず「一発コピー」できるようになる
- 外部ライブラリ(jQuery等)を使わないため、ページ表示速度が落ちない
- ボタンが広告や別リンクと誤認されない、シンプルで安全なデザイン
- 1度だけテンプレートに設定すれば、あとは記事内にHTMLを書くだけでOK
ステップ①:サイト全体に設置するコード(1回だけ)
まずはサイト全体で「コピーボタン」が動くように、機能の要となるCSSとJavaScript(JS)をテンプレートに一度だけ設置します。
Bloggerの管理画面から「テーマ」→「▼(カスタマイズの横)」→「HTMLを編集」を開き、</body> の直前(見つからない場合は </head> の直前でも可)に以下のコードを貼り付けて、保存してください。
CSS & JavaScript
<style>
/* --- Copy Box 基本デザイン --- */
.code-copy {
position: relative;
margin: 1.5em 0;
border: 1px solid #e5e5e5;
border-radius: 6px;
background: #fafafa;
}
.code-copy pre {
margin: 0;
padding: 38px 14px 14px; /* 上部にボタン用の余白を確保 */
overflow: auto;
font-family: ui-monospace, monospace;
font-size: 0.92rem;
line-height: 1.6;
}
/* --- コピーボタンのデザイン --- */
.copy-btn {
position: absolute;
top: 8px; right: 8px;
font-size: .85rem;
padding: .45em .8em;
border: 1px solid #ddd;
border-radius: 4px;
background: #fff;
cursor: pointer;
transition: all 0.2s ease;
}
.copy-btn:hover {
background: #f0f0f0;
}
/* --- コピー完了時のデザイン --- */
.copy-btn.copied {
color: #0a7c2f;
background: #f2fbf5;
border-color: #0a7c2f;
}
</style>
<script>
(function(){
function copyText(txt){
if(navigator.clipboard){return navigator.clipboard.writeText(txt);}
var ta=document.createElement("textarea");
ta.value=txt; document.body.appendChild(ta);
ta.select(); document.execCommand("copy");
document.body.removeChild(ta);
}
function getText(box){
var c=box.querySelector("code")||box.querySelector("pre");
return c?c.innerText:"";
}
function handler(e){
var btn=e.currentTarget, box=btn.closest(".code-copy");
copyText(getText(box));
btn.textContent="コピーしました!";
btn.classList.add("copied");
setTimeout(()=>{
btn.textContent="コードをコピー";
btn.classList.remove("copied");
}, 2000);
}
document.addEventListener("DOMContentLoaded",function(){
document.querySelectorAll(".code-copy .copy-btn")
.forEach(b=>b.addEventListener("click",handler));
});
})();
</script>
※ボタンを押した際、「コピーしました!」と色が緑色に変わるアクション(2秒後に元に戻る)を追加して、読者に「ちゃんとコピーできた」ことが伝わりやすいように微調整しています。
ステップ②:記事内でコードブロックを使う
ステップ①の設定が終われば、準備は完了です。
あとは、記事作成画面(HTMLビュー)でコードを紹介したいときに、次のようなブロックで囲んであげるだけです。<code> の中に好きなCSSやHTMLを書けば、その部分だけが丸ごとコピーされるようになります。
記事作成時に入力するHTML
<div class="code-copy">
<button class="copy-btn">コードをコピー</button>
<pre><code>
/* ここに読者にコピーさせたいCSSやHTMLを書く */
</code></pre>
</div>
<code> の中にHTML(例:<div> など)をそのまま書くと、Bloggerが実際のレイアウトとして認識して表示が崩れてしまいます。
HTMLのコードを紹介したい場合は、必ず < を < に、> を > に「エスケープ処理(実体参照)」してから記述してください。(※「HTML エスケープツール」などで検索すると無料で一発変換できるサイトがたくさんあります)
自分好みに!デザイン微調整のコツ
ご自身のブログのテーマカラーに合わせて、ステップ①で追加したCSSの数値を変更するだけで、デザインを自由に変えられます。
| 調整したい箇所 | CSSの変更ポイント |
|---|---|
| ボタンの背景色 | .copy-btn { background: #fff; } の色を変更。グレーにしたいなら #f5f5f5 など。 |
| ボタンの角丸 | border-radius: 4px; を 0 にすれば直角、20px にすれば丸いボタンになります。 |
| ボタンのサイズ | padding: .45em .8em; の数値を増やすとボタンが大きくなり、減らすとコンパクトになります。 |
| コピー完了メッセージ | JS内の btn.textContent="コピーしました!"; を「一発コピー完了」など好きな文言に変更可能です。 |
コードコピー機能に関するよくある質問(FAQ)
- Q. 1つの記事に複数のコードブロックを置いても動きますか?
- A. はい、問題なく動きます。スクリプトはサイト共通で「クリックされたボタンが含まれる枠(ボックス)」の中身だけを判別して取得する仕組みになっているため、1記事に何個置いても全てのボタンが独立して正常に機能します。
- Q. PC表示とスマホ表示で違いはありますか?
- A. 特に違いはありません。スマホでもPCでも同じようにワンクリックでコピーできます。なお、今回のCSSではスマホでタップした際にも指が押しやすいように、ボタンの余白(padding)領域を少し広めに確保しています。
- Q. なぜこの方法が安全(AdSense対策)なのですか?
- A. ボタンのデザインを過度に目立たせたり、広告バナーと似たようなデザイン(巨大な青いボタンなど)にしていないためです。あくまで「ツールとしてのボタン」に見えるシンプルな設計を心がけることで、Google AdSenseの「ナビゲーション誤認(意図しないクリックの誘発)」によるペナルティリスクを回避しています。
当ブログで紹介しているBloggerの必須カスタマイズをひとつの記事にまとめました!デザインの最適化から収益化の基盤作りまで、コピペでできる厳選テクニック8選を完全網羅しています。ブログをさらにパワーアップさせたい方はぜひご覧ください!
まとめ:読者に親切なブログはPVが伸びる!
実際に導入してみると、読者だけでなく「自分自身が過去の記事からコードを再利用する(コピペする)とき」にも圧倒的に便利になったことを実感できるはずです。
Bloggerでカスタマイズやプログラミング系の記事を書くなら、コピー機能は必須級の「おもてなし」です。今回のカスタマイズはシンプルなCSSとJSだけで実装でき、ページも重くならないので、ぜひあなたのブログにも取り入れてみてください!