+++
「時間をかけて執筆した力作の記事、一人でも多くの人に読んでもらいたい!」
サイト運営者であれば誰しもがそう願うはずです。記事を拡散(バズ)させるためには、読者が「この記事は役に立った!面白かった!」と感じたその瞬間に、ワンクリックでSNSへシェアできる体制(ボタン) をしっかりと用意しておくことが非常に重要です。
しかし、各SNSが公式で提供しているシェアボタン(ウィジェット)は読み込みに時間がかかり、たくさん設置するとページの表示速度を極端に落としてしまうというデメリットがあります。
そこでこの記事では、公式ウィジェットや重い外部プラグインを使わずに、HTMLとCSSだけで作れる「シンプルで超高速な自作SNSシェアボタン(X、Facebook、はてなブックマーク)」の設置手法を解説します。
1. シェア用URLの仕組み
実は、各SNSは「シェア用のURL」を用意しています。
そこに記事のURLやタイトルをパラメーターとして渡すだけで、シェア画面が開くようになっています。
| SNS | シェア用URLの形式 |
|---|---|
| X (Twitter) | https://twitter.com/intent/tweet?url={URL}&text={タイトル} |
https://www.facebook.com/sharer/sharer.php?u={URL} | |
| はてな | https://b.hatena.ne.jp/entry/{URL} |
これをHugoのテンプレートで書くと、こうなります。
<a href="https://twitter.com/intent/tweet?url={{ .Permalink }}&text={{ .Title }}">
Xでシェア
</a>
{{ .Permalink }} と {{ .Title }} が、自動的にその記事のURLとタイトルに置き換わるわけです。
2. 実装方法
Step 1: パーシャルファイルの作成
layouts/partials/share-buttons.html を作成し、ボタンのHTMLと簡単なCSSを書きます。
<div class="share-buttons">
<p>この記事をシェアする</p>
<a href="https://twitter.com/intent/tweet?url={{ .Permalink }}&text={{ .Title }}" target="_blank" rel="noopener noreferrer" class="share-btn twitter">
X (Twitter)
</a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ .Permalink }}" target="_blank" rel="noopener noreferrer" class="share-btn facebook">
Facebook
</a>
<a href="https://b.hatena.ne.jp/entry/{{ .Permalink }}" target="_blank" rel="noopener noreferrer" class="share-btn hatena">
はてな
</a>
</div>
<style>
/* 存在感を消したミニマルデザイン */
.share-buttons {
margin-top: 4rem;
padding-top: 2rem;
border-top: 1px solid #eee;
text-align: center;
}
.share-buttons p {
font-size: 0.85rem;
color: #999;
}
.share-btn {
display: inline-block;
padding: 0.4rem 1rem;
margin: 0 0.3rem;
color: #666;
text-decoration: none;
border: 1px solid #e0e0e0;
border-radius: 99px;
font-size: 0.8rem;
}
.share-btn:hover {
color: #333;
border-color: #999;
}
</style>
Step 2: 記事テンプレートに追加
記事のレイアウトファイル(例えば layouts/page.html や layouts/single.html)の、記事本文 ({{ .Content }}) の下に、このパーシャルを読み込みます。
(※旧式のテーマ構造では layouts/_default/single.html が使われている場合があります)
<div class="post-content">
{{ .Content }}
</div>
<!-- ここに追加! -->
{{ partial "share-buttons.html" . }}
自作のシェアボタンで記事の拡散力を高めよう
「読者の感動が冷めないうちにすぐシェアしてもらう」ための動線は、サイトのアクセスアップにおいて最も確実で効果的な設計の一つです。
外部の重たいシェアスクリプト(JSウィジェット等)を使わずとも、Hugoの組み込み変数(.Permalink, .Title)と各SNSの標準パラメーターを組み合わせるだけで、ページの表示速度(パフォーマンス)を一切犠牲にすることなく、自作の軽量ボタンで強力な拡散(バズる)仕組みを構築できます!🚀



