絶対パスとは?相対パスとの違いや使い分け、状況別の記述方法なども解説!

絶対パスとは?相対パスとの違いや使い分け、状況別の記述方法なども解説!

絶対パスとは、ファイルを最初から最後まで完全に記述する形式のことです。

今回は「絶対パス」に焦点を当て、その概要や使用するメリット・デメリット、相対パスとの違い、環境別の記述方法などをご紹介します。気になるポイントを一挙確認してしまいましょう。

絶対パスとは?

絶対パスとは、ファイルを最初から最後まで完全に記述する形式のことです。たとえば、インターネット上での絶対パスは、ブラウザのアドレスバーに書かれている文字列すべてです。

検索エンジン 絶対パス
Yahoo! JAPAN http://www.yahoo.co.jp
Google http://www.google.co.jp
株式会社ipe https://ipeinc.jp/

絶対パスを細分化すると、「https:」「ドメイン」「フォルダ名」で構成されており、それぞれの階層を「/」で区切られています。

そもそもパスとは?

そもそも「パス(Path)」とは、日本語で経路という意味です。

Web業界においては、「ファイルへのアクセス経路」という意味で用いられます。

ストレージ内部は、いくつものファイルを格納する「ディレクトリ」が、いくつもの階層構造で形成されています。あるファイルについて一番上の階層から順にディレクトリ名を並べて記述したものが「パス」です。このとき一番上位はルートディレクトリと呼ばれています。

たとえば、Windowsの場合、Aドライブのルートディレクトリ「example」の中の「seo」ディレクトリの中にある「ipe.txt」というファイルを指す場合は「A\example\seo\ipe.txt」と表記します。

なおパスには、3種類あり、それぞれ意味する情報や機能が異なります。

  • 絶対パス
  • 相対パス
  • ルート相対パス

相対パスとは?

相対パスとは、現在作業をしているファイルを起点とした、目的ファイルまでの経路です。現在作業をしているファイルから目的のファイルまでの道筋を記述します。

先ほどの「https://ipeinc.jp/seo/example.html」において、現在作業中のファイルが「example.html」の場合、相対パスは「example.html」と表記します。

メリット デメリット
  • 記述が短いので、Web上での処理が軽いので作業効率が上がる
  • ローカル環境でも作動する
  • SSL化やドメインを変更した際も、修正の必要がない
  • リンク切れを起こしやすい
  • 外部サイトへのリンクが指定できない
  • 目的のファイルまでの位置関係を理解する必要がある

ルート相対パスとは?

ルート相対パスとは、現在編集中のファイルを起点とする相対パスに対し、ルートフォルダ(枝分かれした最上位階層のディレクトリ)を起点に記述されるもの、または絶対パスからPCやサーバーの所在に関する記載を省いたものです。記述の際は、ドメイン部分を省略し、先頭に「/」を付けます。

たとえば、先ほどの「https://ipeinc.jp/seo/example.html」をルート相対パスで表現すると、絶対パスからドメイン部分の「https://ipeinc.jp」を省略して、「/seo/example.html」と表記します。

絶対パスのメリット

絶対パスはすべてのURLを記述しているので、ファイルごとに指定する場所が変わりません。

そのため、階層の全体像や位置関係を把握しやすいメリットがあります。

また設置時のリンク切れなどのミスが起こりづらいメリットもあります。

絶対パスのデメリット

絶対パスのデメリットは、ローカル環境では作動せず、サーバーへ直接アップロードする必要があるという点です。また、記述するコードが長くなるので、処理速度がやや重くなりがちというデメリットもあります。加えて、SSL化やドメインを変更した場合は、すべてのリンクを修正する必要がある点もデメリットです。

絶対パスと相対パスの使い分け

実際にWebサイトを制作するときは、シチュエーションに応じて、絶対パスと相対パスを使い分けることがおすすめです。

【シチュエーション例】

  1. SEOの観点では絶対パスがおすすめ
  2. リンク先が外部サイトの場合:絶対パス
  3. リンク先が内部サイトの場合:相対パス
  4. 複数人がWebサイト制作に携わる場合:絶対パス
  5. Webサイトの移転予定がある場合:相対パス

1.SEOの観点では絶対パスがおすすめ

相対パスは記述ミスやファイルの移動を行った際、リンク切れになる可能性があります。

その場合、検索エンジンのクローラーに情報が伝達できないので、SEOの観点では「絶対パス」が推奨されています。

可能な場合は、相対リンクではなく絶対リンクを使用します(たとえば、サイト内の別のページにリンクするときに、mypage.html だけではなく https://www.example.com/mypage.html とします)

(引用:Google:クロールが完了できなかったURLのエラー

2.リンク先が外部サイトの場合:絶対パス

外部サイトのリンク先を指定する場合は、必ず絶対パスを使用します。

理由は、相対パスは同一サイト(サーバー)内にあるファイルを読み込むときにしか使用できないからです。

3.リンク先が内部サイトの場合:相対パス

リンク先が内部サイトの場合は相対パスを使用しましょう。

理由は、サーバー内のファイルを外部から改竄される可能性があるからです。セキュリティの観点から、データの書き込み命令などを記述する際は、相対パスを使用しましょう。

4.複数人がWebサイト制作に携わる場合:絶対パス

Webサイトを制作する際、パスの記述や修正などを複数人で行う場合は、階層構造がわかりやすい絶対パスでの記述がおすすめです。

相対パスは、一目で全体像を把握することができません。そのため、エンジニアの確認作業が増えたり、記述ミスを修正したりとかえって作業効率が悪くなるリスクがあります。

5.Webサイトの移転予定がある場合:相対パス

絶対パスにはドメイン以下のすべてが記述されているので、Webサイトを移転した場合、すべてのリンクを書き換える必要があります。大規模なWebサイトになるほど、作業量が膨大になるので、Webサイトを移転する予定がある場合は、相対パスの使用をおすすめします。

環境別:パスの記述方法

ここでは、パスの記述方法について、それぞれの環境別に解説します。

ぜひ参考にしてみてください。

  • Windows(コマンドプロンプト)
  • UNIX互換環境(Linux含む)
  • Java
  • PHP
  • HTML(URL)
  • Excel(VBA)

Windows(コマンドプロンプト)

Windows(コマンドプロンプト)の場合、「/」や「\」、「¥」マークで区切ってパスを記述します。

C:\フォルダ名\フォルダ名\ファイル名.jpg

UNIX互換環境(Linux含む)

数種類のOSが存在するUNIX互換環境の場合、「/」で区切ってパスを記述します。

/フォルダ名/フォルダ名/フォルダ名/ファイル名.txt

Java

Javaを使ったプログラムの場合、「\\」で区切ってパスを記述します。

C:\\フォルダ名\\フォルダ名\\ファイル名.java

PHP

PHPを使ったプログラムの場合、「/」で区切ってパスを記述します。

C:/フォルダ名/フォルダ名/ファイル名.php

HTML(URL)

HTMLを使ったプログラムの場合、「/」で区切ってパスを記述します。

https://sample.com/フォルダ名/フォルダ名/フォルダ名/ファイル名.html

Excel(VBA)

Excel(VBA)でパスを記述する場合は、OSごとに異なります。

Windowsの場合はWindows、Linuxの場合はLinuxの記述方法で記述しましょう。

絶対パスと相対パスを使い分け、Webサイト制作を効率化しよう!

このページでは、「絶対パス」に焦点を当て、その概要や使用するメリット・デメリット、相対パスとの違い、環境別の記述方法などについて解説しました。

絶対パスと相対パス。それぞれメリット・デメリットがあります。

Webサイトの規模や構成、制作スケジュールなどに応じて、臨機応変にそれぞれ使い分けましょう。

なお「絶対パスと相対パスについて分からない」などWebサイト制作でお悩みの方は株式会社ipeにご相談ください。弊社は絶対パスやSEOに関しての知識やノウハウが豊富です。株式会社ipeではSEOでの大手クライアント実績も多数ありますので、SEOを検討する際にはぜひ一度ご相談ください。

この記事の著者

監修者 土田悠真

早稲田大学卒業後、東京地方検察庁に入庁。その後、株式会社ipeに入社。9か月でコンサルティングチームのリーダーに就任。年商150億円超えの中古品マーケットプレイス、商品数500万品超えのファッションECサイトをはじめとし、様々なジャンルのサイトをコンサルティング、分析を行う。ツイッターはこちら。
@seotsuchida

DOWNLOAD
サービス資料ダウンロード(無料)
大手実績多数の弊社サービスの概要や料金、フォロー体制など、この資料にまとめております。
資料ダウンロードはこちら
CONTACT
お問い合わせ
SEOなどサービスについてご相談がある方、人事・採用へのご不明点・ご質問など、気軽にお問い合わせください。
お問い合わせはこちら
お電話でのお問い合わせ 
03-6455-5871 9:00~18:00(平日)