絶対パスと相対パスの違いは?書き方・調べ方や使い分ける方法など解説!
絶対パスとは、ファイルを最初から最後まで完全に記述する形式のことです。今回は絶対パスに焦点を当て、その概要や使用するメリット・デメリット、相対パスとの違い、環境別の記述方法などをご紹介します。気になるポイントを一挙確認してしまいましょう。
絶対パスとは
絶対パス(absolute path)とは、ファイルを最初から最後まで完全に記述する形式のことです。たとえば、インターネット上での絶対パスは、ブラウザのアドレスバーに書かれている文字列すべてです。
絶対パスの例
検索エンジン | 絶対パス |
---|---|
Yahoo! JAPAN | http://www.yahoo.co.jp |
http://www.google.co.jp | |
株式会社ipe | https://ipeinc.jp/ |
また、絶対パスを細分化すると、「https:」「ドメイン」「フォルダ名」で構成されており、それぞれの階層を「/」で区切られています。
絶対パスのメリット
|
絶対パスはすべてのURLを記述しているので、ファイルごとに指定する場所が変わりません。そのため、階層の全体像や位置関係を把握しやすいメリットがあります。
また、設置時のリンク切れなどのミスが起こりづらいです。
そして、外部サイトへのリンクを指定する場合、絶対パスでの指定が必須です。相対パスでは、同じサーバー内のファイルしか指定できないため一つのメリットといえるでしょう。
絶対パスのデメリット
|
絶対パスのデメリットは、ローカル環境では作動せず、サーバーへ直接アップロードする必要があるという点です。また、記述するコードが長くなるので、処理速度がやや重くなりがちというデメリットもあります。加えて、SSL化やドメインを変更した場合は、すべてのリンクを修正する必要がある点もデメリットです。
相対パスとは
相対パスとは、現在作業をしているファイルを起点とした、目的ファイルまでの経路を記載する方法です。現在、作業をしているファイルから、目的のファイルまでの道筋を記述します。
先ほどの「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」と表記します。
絶対パスと相対パスの違い
絶対パス | 相対パス | |
---|---|---|
概要 | ディレクトリの、階層構造の頂点から目的のファイルまでの道筋を全て省略せずに表記する方法 | 現在作業をしているファイルを起点とした、目的ファイルまでの経路を表記する方法 |
メリット |
|
|
デメリット |
|
|
絶対パスと相対パスの違いは、表記する起点をどこにするかという点があります。
絶対パスは、ディレクトリの階層構造の頂点を起点にして目的のファイルまでの道筋を省略せずに表記して、相対パスは現在作業をしているファイルを起点にして、目的ファイルまでの経路を表記します。
絶対パスと相対パスの調べ方
絶対パスであるか、または相対パスであるか調べる方法は簡単で、誰から見ても同じパスであるかどうかを確認しましょう。
絶対パスは、階層構造の頂点から目的のファイルまでの道筋を表記するため、誰からみても同じパスです。しかし、相対パスは現在作業をしているファイルを起点としているため、作業している人がどこを起点にするかによって表記が変化します。
そもそもパスとは
そもそも「パス(Path)」とは、日本語で経路という意味です。
Web業界においては、「ファイルへのアクセス経路」という意味で用いられます。
ストレージ内部は、いくつものファイルを格納する「ディレクトリ」が、いくつもの階層構造で形成されています。あるファイルについて一番上の階層から順にディレクトリ名を並べて記述したものが「パス」です。このとき一番上位はルートディレクトリと呼ばれています。
たとえば、Windowsの場合、Aドライブのルートディレクトリ「example」の中のSEOディレクトリの中にある「ipe.txt」というファイルを指す場合は「A\example\seo\ipe.txt」と表記します。
なおパスには、3種類あり、それぞれ意味する情報や機能が異なります。
|
絶対パスと相対パスの使い分け
実際にWebサイトを制作するときは、シチュエーションに応じて、絶対パスと相対パスを使い分けることがおすすめです。
【シチュエーション例】
|
1.SEOの観点では絶対パスがおすすめ
相対パスは記述ミスやファイルの移動を行った際、リンク切れになる可能性があります。
その場合、検索エンジンのクローラーに情報が伝達できないので、SEOの観点では絶対パスが推奨されています。
GoogleはSearch Console ヘルプの中で絶対パスを推奨しています。
可能な場合は、相対リンクではなく絶対リンクを使用します(たとえば、サイト内の別のページにリンクするときに、mypage.html だけではなく https://www.example.com/mypage.html とします)
(引用:Google:クロールが完了できなかったURLのエラー)
2.リンク先が外部サイトの場合:絶対パス
外部サイトのリンク先を指定する場合は、必ず絶対パスを使用します。
理由は、相対パスは同一サイト(サーバー)内にあるファイルを読み込むときにしか使用できないからです。
3.リンク先が内部サイトの場合:相対パス
リンク先が内部サイトの場合は相対パスを使用しましょう。
理由は、サーバー内のファイルを外部から改竄される可能性があるからです。セキュリティの観点から、データの書き込み命令などを記述する際は、相対パスを使用しましょう。
4.複数人がWebサイト制作に携わる場合:絶対パス
Webサイトを制作する際、パスの記述や修正などを複数人で行う場合は、階層構造がわかりやすい絶対パスでの記述がおすすめです。
相対パスは、一目で全体像を把握することができません。そのため、エンジニアの確認作業が増えたり、記述ミスを修正したりとかえって作業効率が悪くなるリスクがあります。
5.Webサイトの移転予定がある場合:相対パス
絶対パスにはドメイン以下のすべてが記述されているので、Webサイトを移転した場合、すべてのリンクを書き換える必要があります。大規模なWebサイトになるほど、作業量が膨大になるので、Webサイトを移転する予定がある場合は、相対パスの使用をおすすめします。
環境別のパスを記述する方法
ここでは、パスの記述方法について、それぞれの環境別に解説します。
ぜひ参考にしてみてください。
|
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の記述方法で記述しましょう。
絶対パスと相対パスに関するよくある質問
ここでは、絶対パスと相対パスに関するよくある質問とその回答を紹介します。
絶対パスと相対パスはどっちがいいですか?
サイト内に、外部リンクを設置する場合は絶対パスがおすすめです。また、多くの人が開発に携わる場合やSEOを目的としている場合も絶対パスがおすすめでしょう。
また、Webサイトの移転予定がある場合は相対パスがおすすめです。
相対パスと絶対パスを変換する方法はありますか?
相対パスと絶対パスを変換する方法は、プログラミング言語によって異なります。
例えば、Pythonで相対パスを絶対パスに変換する場合、「os.path.abspath()」を使用します。
絶対パス指定とは何ですか?
絶対パス指定とは、Web上の場所を誰が見ても同じように絶対パスで指定することです。
https://ipeinc.jp/media/のように指定し、ドメインから対象のファイルまでの経路を表記します。
絶対パスと相対パスを使い分け、Webサイト制作を効率化しよう!
このページでは、絶対パスに焦点を当て、その概要や使用するメリット・デメリット、相対パスとの違い、環境別の記述方法などについて解説しました。
絶対パスと相対パス。それぞれメリット・デメリットがあります。
Webサイトの規模や構成、制作スケジュールなどに応じて、臨機応変にそれぞれ使い分けましょう。
なお「絶対パスと相対パスについて分からない」などWebサイト制作でお悩みの方は株式会社ipeにご相談ください。弊社は絶対パスやSEOに関しての知識やノウハウが豊富です。株式会社ipeではSEOでの大手クライアント実績も多数ありますので、SEOを検討する際にはぜひ一度ご相談ください。
SEOに関するご相談があれば、ぜひipe(アイプ)へご相談ください。