「HTMLでリンクってどう書くの?」
「新しいタブで開くにはどうするの?」
「他のページへの移動がうまくいかない…」
ホームページやブログを作るとき、絶対に欠かせないのがリンクです。リンクを使うことで、他のページに移動したり、ファイルをダウンロードできたりと、ウェブの大きな魅力を引き出せます。
この記事では、HTMLリンクの基礎からちょっと便利な使い方まで、初心者の方にもわかりやすく詳しく解説します。この記事を読めば、すぐに自分のページにリンクを自由に設置できるようになりますよ。
HTMLリンクとは?

リンクの役割
リンク(正式にはハイパーリンク)は、ウェブ上で別のページやファイルへ飛ぶためのつながりです。インターネットが「World Wide Web(ワールドワイドウェブ)」と呼ばれるのも、このリンクによってページ同士が蜘蛛の巣のようにつながっているからです。
HTMLでのリンク作成
HTMLでは <a>
というタグを使ってリンクを作ります。これをアンカータグ(Anchor Tag)と呼びます。
リンクの基本的な形
<a href="https://example.com">この文字をクリックすると移動します</a>
このように書くと、クリックしたときに https://example.com
へ移動するリンクができます。
リンクの構成要素
<a>
: アンカータグ(リンクを作るタグ)href
: ハイパーリファレンス(移動先を指定する属性)- リンクテキスト: ユーザーがクリックする部分
HTMLリンクの基本的な作り方
基本構造
<a href="URL">リンクテキスト</a>
href
は「リンク先」を指定する属性ですリンクテキスト
の部分をクリックすると、指定したURLへ移動します
外部サイトへのリンク
一般的な外部リンク
<a href="https://www.google.com/">Googleを開く</a>
<a href="https://www.yahoo.co.jp/">Yahoo! JAPANを開く</a>
<a href="https://github.com/">GitHubを開く</a>
HTTPS とHTTPの違い
<!-- 推奨:セキュアな接続 -->
<a href="https://example.com">安全なサイト</a>
<!-- 非推奨:古い形式 -->
<a href="http://example.com">非暗号化サイト</a>
現在は、セキュリティの観点から https://
を使うことが強く推奨されています。
同じサイト内のページへのリンク
相対パスでのリンク
<!-- 同じフォルダ内のファイル -->
<a href="about.html">会社概要</a>
<!-- 子フォルダ内のファイル -->
<a href="pages/contact.html">お問い合わせ</a>
<!-- 親フォルダ内のファイル -->
<a href="../index.html">トップページへ戻る</a>
<!-- ルートフォルダから指定 -->
<a href="/products/list.html">商品一覧</a>
絶対パスと相対パスの使い分け
相対パス
- 自分のサイト内のリンク
- ファイルの移動に柔軟
- 短く書ける
絶対パス
- 外部サイトへのリンク
- 確実にアクセスできる
- どこからでも同じ
パスの種類と実例
ファイル構造の例
website/
├── index.html
├── about.html
├── pages/
│ ├── contact.html
│ └── service.html
└── images/
└── logo.png
各ページからのリンク例
index.htmlから他のページへ
<a href="about.html">会社概要</a>
<a href="pages/contact.html">お問い合わせ</a>
<a href="pages/service.html">サービス</a>
contact.htmlからトップページへ
<a href="../index.html">トップページ</a>
<a href="../about.html">会社概要</a>
<a href="service.html">サービス</a>
便利なリンクの応用テクニック
新しいタブで開くリンク
基本的な書き方
<a href="https://example.com" target="_blank" rel="noopener">別タブで開くリンク</a>
target="_blank"
: 新しいタブで開くrel="noopener"
: セキュリティ対策(必須)
なぜrel=”noopener”が必要?
target="_blank"
だけを使うと、セキュリティ上の問題が発生する可能性があります。rel="noopener"
を追加することで、元のページを安全に保護できます。
使い分けの指針
<!-- 外部サイトは新しいタブで開く -->
<a href="https://twitter.com" target="_blank" rel="noopener">Twitter</a>
<!-- 自分のサイト内は同じタブで移動 -->
<a href="about.html">会社概要</a>
ページ内リンク(アンカーリンク)
基本的な使い方
<!-- リンクを設置 -->
<a href="#section2">第2章へ移動</a>
<a href="#section3">第3章へ移動</a>
<!-- 移動先を設定 -->
<h2 id="section2">第2章:HTMLの基礎</h2>
<p>第2章の内容...</p>
<h2 id="section3">第3章:CSSの基礎</h2>
<p>第3章の内容...</p>
実用的な目次作成
<nav class="table-of-contents">
<h3>目次</h3>
<ul>
<li><a href="#introduction">はじめに</a></li>
<li><a href="#basic-html">HTML基礎</a></li>
<li><a href="#advanced-tips">応用テクニック</a></li>
<li><a href="#conclusion">まとめ</a></li>
</ul>
</nav>
<section id="introduction">
<h2>はじめに</h2>
<p>導入文...</p>
</section>
<section id="basic-html">
<h2>HTML基礎</h2>
<p>基礎内容...</p>
</section>
ページトップへ戻るリンク
<!-- ページの最上部 -->
<div id="top"></div>
<!-- ページの途中や最後 -->
<a href="#top">ページトップへ戻る</a>
<!-- またはbody要素に直接移動 -->
<a href="#" onclick="window.scrollTo(0,0); return false;">トップへ</a>
メールリンク
基本的なメールリンク
<a href="mailto:info@example.com">お問い合わせはこちら</a>
件名や本文を設定
<a href="mailto:info@example.com?subject=お問い合わせ&body=こちらにメッセージをご記入ください">メール送信</a>
複数宛先やCC、BCC
<!-- 複数宛先 -->
<a href="mailto:info@example.com,support@example.com">複数宛先メール</a>
<!-- CCやBCCを含む -->
<a href="mailto:info@example.com?cc=manager@example.com&bcc=admin@example.com&subject=重要な件">メール送信</a>
電話リンク
スマートフォン対応の電話リンク
<a href="tel:03-1234-5678">03-1234-5678</a>
<a href="tel:+81-3-1234-5678">国際電話対応</a>
これらのリンクは、スマートフォンでタップすると自動的に電話アプリが起動します。
ファイルダウンロードリンク
各種ファイルへのリンク
<!-- PDFファイル -->
<a href="documents/catalog.pdf" download>カタログをダウンロード</a>
<!-- 画像ファイル -->
<a href="images/poster.jpg" download="ポスター.jpg">ポスターをダウンロード</a>
<!-- Excelファイル -->
<a href="files/data.xlsx" download>データをダウンロード</a>
download
属性を使うと、ファイルを表示ではなくダウンロードできます。
高度なリンクテクニック

画像をリンクにする
基本的な画像リンク
<a href="https://example.com">
<img src="banner.jpg" alt="バナー画像">
</a>
画像とテキストを組み合わせ
<a href="product-detail.html" class="product-link">
<img src="product-thumb.jpg" alt="商品画像">
<span>商品の詳細を見る</span>
</a>
リンクのスタイリング
CSSでのリンク装飾
/* 基本的なリンクスタイル */
a {
color: #0066cc;
text-decoration: none;
}
/* ホバー時の効果 */
a:hover {
color: #004499;
text-decoration: underline;
}
/* 訪問済みリンク */
a:visited {
color: #663399;
}
/* ボタン風のリンク */
.button-link {
display: inline-block;
padding: 10px 20px;
background-color: #007bff;
color: white;
border-radius: 5px;
text-decoration: none;
}
.button-link:hover {
background-color: #0056b3;
}
アクセシビリティを考慮したリンク
わかりやすいリンクテキスト
<!-- 悪い例 -->
<a href="article.html">こちら</a>をクリック
<!-- 良い例 -->
<a href="article.html">HTMLリンクの詳細記事</a>をお読みください
スクリーンリーダー対応
<a href="report.pdf" aria-label="2025年売上レポート(PDFファイル、2.5MB)">
年次レポート
</a>
条件付きリンク
JavaScriptでの動的リンク
<a href="#" onclick="handleClick(event)" data-url="https://example.com">
条件に応じて動作するリンク
</a>
<script>
function handleClick(event) {
event.preventDefault();
if (confirm('外部サイトに移動しますか?')) {
window.open(event.target.getAttribute('data-url'), '_blank');
}
}
</script>
HTMLリンクの注意点とベストプラクティス
よくある問題と対処法
リンク切れを防ぐ
<!-- 定期的にチェックが必要な外部リンク -->
<a href="https://external-site.com" target="_blank" rel="noopener">
外部サイト(定期確認要)
</a>
<!-- 自サイト内のリンクは相対パスで -->
<a href="./pages/about.html">会社概要</a>
大文字小文字の注意
<!-- ファイル名は正確に -->
<a href="About.html">About</a> <!-- About.htmlが正確なファイル名の場合 -->
<a href="about.html">About</a> <!-- about.htmlが正確なファイル名の場合 -->
Linuxサーバーでは大文字小文字が区別されるため注意が必要です。
セキュリティ対策
外部リンクのセキュリティ
<!-- 推奨:セキュリティ属性付き -->
<a href="https://external-site.com" target="_blank" rel="noopener noreferrer">
外部サイト
</a>
<!-- より厳格なセキュリティ -->
<a href="https://external-site.com" target="_blank" rel="noopener noreferrer nofollow">
信頼度不明な外部サイト
</a>
noopener
: セキュリティ対策noreferrer
: リファラー情報を送信しないnofollow
: SEO的に関連性がないことを示す
SEOに配慮したリンク
内部リンクの最適化
<!-- キーワードを含む自然なアンカーテキスト -->
<a href="html-tutorial.html">HTML初心者向けチュートリアル</a>
<!-- 関連性の高いページへのリンク -->
<a href="css-guide.html">CSSスタイリングガイド</a>
構造化されたナビゲーション
<nav>
<ul>
<li><a href="/">ホーム</a></li>
<li><a href="/about/">会社概要</a></li>
<li><a href="/services/">サービス</a></li>
<li><a href="/contact/">お問い合わせ</a></li>
</ul>
</nav>
実際のWebサイトでの活用例
ブログ記事でのリンク活用
<article class="blog-post">
<h1>HTML学習のススメ</h1>
<p>
HTML学習を始めるなら、まず
<a href="/html-basics/">HTML基礎講座</a>
から始めることをおすすめします。
</p>
<p>
さらに詳しく学びたい方は、
<a href="https://developer.mozilla.org/ja/docs/Web/HTML" target="_blank" rel="noopener">
MDN Web Docs
</a>
も参考になります。
</p>
<nav class="post-navigation">
<a href="/previous-post/" rel="prev">← 前の記事</a>
<a href="/next-post/" rel="next">次の記事 →</a>
</nav>
</article>
ECサイトでのリンク活用
<div class="product-card">
<a href="/products/smartphone-case-001/">
<img src="thumb-case.jpg" alt="スマートフォンケース">
<h3>プレミアムスマートフォンケース</h3>
<p class="price">¥2,980</p>
</a>
<div class="product-actions">
<a href="/products/smartphone-case-001/" class="btn-primary">詳細を見る</a>
<a href="/cart/add/smartphone-case-001/" class="btn-secondary">カートに追加</a>
</div>
</div>
コーポレートサイトでの活用
<header>
<nav class="main-navigation">
<a href="/" class="logo">
<img src="logo.png" alt="会社ロゴ">
</a>
<ul class="nav-menu">
<li><a href="/about/">企業情報</a></li>
<li><a href="/services/">事業内容</a></li>
<li><a href="/news/">ニュース</a></li>
<li><a href="/recruit/">採用情報</a></li>
<li><a href="/contact/">お問い合わせ</a></li>
</ul>
</nav>
</header>
<footer>
<div class="footer-links">
<div class="company-info">
<h4>会社情報</h4>
<ul>
<li><a href="/about/company/">会社概要</a></li>
<li><a href="/about/history/">沿革</a></li>
<li><a href="/about/access/">アクセス</a></li>
</ul>
</div>
<div class="external-links">
<h4>関連サイト</h4>
<ul>
<li><a href="https://twitter.com/company" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://facebook.com/company" target="_blank" rel="noopener">Facebook</a></li>
<li><a href="https://linkedin.com/company" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</div>
</div>
</footer>
トラブルシューティング

よくある問題と解決法
リンクが機能しない場合
問題1: ファイルパスが間違っている
<!-- 間違い -->
<a href="About.html">About</a>
<!-- 正解:正確なファイル名を確認 -->
<a href="about.html">About</a>
問題2: 相対パスの階層が間違っている
<!-- 現在のフォルダ構造を確認 -->
<a href="../index.html">トップページ</a>
<a href="./contact.html">お問い合わせ</a>
新しいタブが開かない場合
原因: target="_blank"
の記述ミス
<!-- 間違い -->
<a href="https://example.com" target="blank">リンク</a>
<!-- 正解 -->
<a href="https://example.com" target="_blank" rel="noopener">リンク</a>
スマートフォンで電話リンクが動作しない
解決法: 正しい電話番号形式を使用
<!-- 推奨 -->
<a href="tel:+81-3-1234-5678">03-1234-5678</a>
<!-- または -->
<a href="tel:0312345678">03-1234-5678</a>
デバッグのコツ
ブラウザ開発者ツールでの確認
- F12キーで開発者ツールを開く
- ElementsタブでリンクのHTMLを確認
- Networkタブでリンク先の読み込み状況を確認
- Consoleタブでエラーメッセージを確認
リンクの動作確認チェックリスト
- [ ] URLが正しく記述されているか
- [ ] ファイルが実際に存在するか
- [ ] パスの階層が正しいか
- [ ] 特殊文字がエンコードされているか
- [ ] サーバー上でのファイル権限は適切か
現代的なリンクのベストプラクティス
アクセシビリティ重視のリンク
<!-- 明確で説明的なリンクテキスト -->
<a href="/annual-report-2025.pdf"
aria-describedby="file-info">
2025年年次報告書
</a>
<span id="file-info" class="sr-only">PDFファイル、3.2MB</span>
<!-- キーボードナビゲーション対応 -->
<a href="/contact/"
tabindex="0"
onkeydown="if(event.key==='Enter') this.click()">
お問い合わせフォーム
</a>
PWA対応のリンク
<!-- アプリ内ナビゲーション -->
<a href="/app/dashboard" data-spa-link>ダッシュボード</a>
<!-- 外部リンクは通常のブラウザで開く -->
<a href="https://external-site.com" data-external-link target="_blank" rel="noopener">
外部サイト
</a>
パフォーマンスを考慮したリンク
<!-- 重要なページは事前読み込み -->
<link rel="prefetch" href="/important-page.html">
<!-- リンクホバー時の事前読み込み -->
<a href="/product-details.html"
onmouseenter="prefetchPage(this.href)">
商品詳細
</a>
まとめ
HTMLリンクをマスターするためのポイントをまとめます:
基本的な使い方
<a href="URL">テキスト</a>
がリンクの基本形- 相対パスと絶対パスの使い分け
- 適切なリンクテキストの設定
応用テクニック
target="_blank" rel="noopener"
で新しいタブ#ID
でページ内移動mailto:
でメールリンクtel:
で電話リンク
重要な注意点
- セキュリティ対策の実装
- アクセシビリティへの配慮
- SEOを意識したリンク構造
- リンク切れの定期的なチェック
現代的なアプローチ
- レスポンシブデザインでの最適化
- パフォーマンスを考慮した実装
- PWAアプリでの適切な動作
コメント