ファイル拡張子を使用する必要がありますか?


26

私はいつもこれについて疑問に思っていて、良い解決策を見つけることができませんでした。

しかし、この質問は私にそれを思い出させました。

WebサイトにURLがある場合、次のいずれかの方法で表示およびアクセスできます。

http://www.somesite.com/subdirectory
http://www.somesite.com/subdirectory/
http://www.somesite.com/subdirectory/index.htm
http://www.somesite.com/subdirectory/index.html
http://www.somesite.com/subdirectory/index.php
http://www.somesite.com/subdirectory/index.asp
http://www.somesite.com/subdirectory/some-relevant-keywords
http://www.somesite.com/subdirectory/some-relevant-keywords.htm
http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywords
http://www.somesite.com/subdirectory/?page=some-relevant-keywords
http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords

等...

これで、URLにキーワードを追加するメリットを理解できました。最も基本的なSEOガイドでさえ、まさにそれを行うために言及します。...しかし、健全性、明快さ、読みやすさ、使いやすさなどのために、ウェブコンプライアンスを含めて ...

ファイル拡張子を持つことが望ましいですか?

本当に、私のロジックの奥深くに教えてくれます:はい、そうすべきです。理由は、これはインターネットの大部分がUSENET、FIDONET、FTP、およびGOPHERであった過去の時代に戻っているためです。

URLにfilenameがない場合、通常はディレクトリと見なされます。これは、index.htmが作成された場所です。これは、インデックスファイルが見つからない場合にデフォルトでディレクトリをリストするためです。しかし、すぐに、Webプログラマーはこれをオーバーライドし、index.htmを使用して実際にそのWebディレクトリのコンテンツをページとして提供し始めました。主な違いは、マークアップ言語が追加されたことであり、これはブラウザで解析されました。このマークアップ言語ではContent-Type:text/html;、応答ヘッダー内のタグが、任意のファイルのファイルタイプのインジケータになりました。HTMLは、保存される場合を除いて、一貫した名前の拡張子を持たない唯一の「ファイルタイプ」のようです。

残念なことに、Webページが主なものになると、ディレクトリの内容を実際に表示することはセキュリティエラーになったため、実際のURLコンテンツのみが表示され、すべてが非表示のままになりました。

クロスプラットフォームのファイル命名戦争は言うまでもありません。ベースのウィンドウには3桁以下の拡張子が必要で、unix / macにはそれ以上のものがあります。それとも、.HTMそれとも、.HTMLまたはNONEプラットフォームに決定させるべきですか?

だから本質的に、私が理解しようとしているのはSEO超えて、美学とウェブコンプライアンスにもっと対処していると思います。


これをどのように設定しますか?.htaccessファイルで?つまり、.htmlファイルのパスを最初の例のように変更しますか?
ゾロモン

1
@zolomonは、それを行うことができます。または、Wordpressのように動的URIパーサーを使用してリダイレクト*.*することもできます。
タルヴィワティア10

回答:


20

複数の表現がある場合、またはクライアントソフトウェアがまったく愚かで、Content-Typeのみ(QuickTime、RealPlayer、Outlookなど)を受け入れない場合は、.extensionを使用します。

  • http://www.somesite.com/subdirectory -これは、Canonical METAタグを使用して実際の表現を指すオートネゴシエーションバージョンにすることができます

  • http://www.somesite.com/subdirectory/ -任意のURLの末尾のスラッシュをサポートする価値は常にありますが、正しいURLを指すためにCanonical METAタグを使用します(これは不要なスローダウンなのでリダイレクトではありません)

  • http://www.somesite.com/subdirectory/index.htmおよびhttp://www.somesite.com/subdirectory/some-relevant-keywords.htm-3文字の拡張子制限はHTTP(基礎となるFileSystem / OSのみ)には適用されないため、クライアントは必要に応じてこれをindex.htmlまたはaaとして保存できますが、アクセスは可能です。

  • http://www.somesite.com/subdirectory/index.html -.atom、.xml、または同様のバージョンを提供する場合、.htmlバージョンも尊重することは理にかなっています(および自動ネゴシエートされたバージョンのLINKタグを介して正規にリンクする)-HTTP Content-Locationヘッダーを使用してポイントするただし、自動ネゴシエーションバージョンに-多言語(.en、.esなど)または複数文字セット(.utf8、.utf16など)に移動することもできます。

  • http://www.somesite.com/subdirectory/index.phpそしてhttp://www.somesite.com/subdirectory/index.asp-あなたがソースコードを提供していない限り、これらはサポートする意味がありません

  • http://www.somesite.com/subdirectory/some-relevant-keywords -SEOは絶えず変化する芸術であり、これがあなたのために働くなら素晴らしい

  • http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywordshttp://www.somesite.com/subdirectory/?page=some-relevant-keywordsおよび http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords-コンテンツを操作する方法が無限にある場合、これは素晴らしいですが、通常はページはクエリ文字列ではなく独自のURLに値し、これらのタイプのURLは避ける必要がありますにあるもの)


1
多言語拡張?そのようなものを見るのは初めてです。Googleは/es/subdirectory/index.htmlサブドメインよりもさらにフォルダーを好むことを読んだことを覚えていますhttp://es.example.com/subdirectory/index.html。検索エンジンで.es拡張子がどの程度サポートされているかについての情報はありますか?私はそれを使用したいので。(また、それらを組み合わせることができますか?のような/index.utf16.es?)
ティモHuovinen 14

13

私は言うだろうしていないあなたが使用しているソフトウェアは、あなたがそれを省略することができます場合は、ファイルの拡張子が含まれています。例のリストから、私の好みは次のようになります。

http://www.somesite.com/subdirectory/some-relevant-keywords

ブラウザーは、サイト上の何かがディレクトリであるかどうか、またはそれがHTMLファイル、.aspファイルなどであるかどうかを気にしません。単にHTTPリクエストを作成し、HTTPレスポンスを取得します。したがって、拡張機能が不要な場合は削除してください。

これには、URLをより簡潔にする(および電話で読みやすくする-「ドットドットスラッシュ製品の例」は「ドットドットスラッシュ製品の例ドットhtm l」よりも格好良く聞こえる)という追加の利点もあります。将来的に技術を切り替える(URLの変更は必要ないため)。


4
私は、SEOと美的理由のために、ベストプラクティスとしてこの方法に向かって揺れています。
タルビワティア10

はい。ブラウザは気にしませんが、サーバーは、asp、aspx、またはWebサーバーで追加の処理を必要とする他の種類であるかどうかを気にします。
we敬の念

何年も後にこれを再検討すると、ベストプラクティスが普及したようです。それでも、Webクローラーロジックが最終的にオペランドの解析を学習するとどうなるのだろうと思います。たとえばsome-relevant-keywords(some) (!exclude->relevant) (!exclude->keywords)すべてのSEOエキスパートを突然変更してsome+relevant+keywords、区切り文字としてハイフンを使用する美観と読みやすさを損なうことに相当します。根本原因:/?query=some-relevant-keywordsすでに文字通り除外されています。
タルビワティア18年


8

ファイル拡張子を持つことが好ましいですか?

RFCには、ファイル拡張子を持つことを義務付けるものは何もありません。ファイル拡張子を除外する必要があるものもありません。それはあなたの選択です。

適合HTTP URIは、ファイル拡張子を何も必要としません。HTTPヘッダー(特にMIMEタイプ)の豊富なセットがあり、ファイル拡張子が使用されるすべてを処理します。

とはいえ、今日のほとんどのブラウザは、実際には、MIMEタイプ、拡張子、および最初のバイトのバイナリ「フィンガープリント」組み合わせに依存してコンテンツタイプを決定しています。これにより驚くべき結果得られる場合があるため、Webマスターが正しいヘッダーを設定することが重要です(ヘッダーが正しいことを101%確信している場合は、コンテンツタイプスニッフィングを無効にすることもできます)。

ファイル拡張子が役立つ状況が1つあります。エンドユーザーが、後で使用するためにサイトからローカルコンピューターにコンテンツを保存する場合です。理論的には、「スマート」ブラウザは、保存されたコンテンツがローカルコンピュータータイプで機能することを保証する必要があります。しかし実際には、.jpg、.mp4、.cssなどの業界標準の拡張子を持つコンテンツを提供することで、すべての人を助けることができます。私の経験では、すべてのブラウザーがHTMLタイプを適切に処理します。HTMLに.htm / .html拡張子を追加する必要はありません。ブラウザはこの特定のコンテンツタイプを正しく処理します。

セキュリティ:使用しているプラ​​ットフォーム(.php / .aspなど)を非表示にすることで、セキュリティ上の利点があると主張できます。それは本当だ。実際には、優秀なハッカーならすぐにこれを発見できると思うので、セキュリティのためだけにこれらの拡張機能を隠すことは面倒の価値があるとは思わない。

特別な考慮事項:将来CDNを使用する予定で、CDNが「プッシュ」タイプの場合(コンテンツは事前にSFTP経由でfxにCDNにアップロードされます)、ファイル拡張子を保持することができます。ほとんどのサードパーティシステムは、ファイル拡張子を見て、コンテンツを提供するMIMEタイプを見つけます。

私の個人的な選択は次のようになりました。

  • WebアプリケーションによってHTMLが動的に生成される場合、実際には存在しないディレクトリとファイル構造を模倣するために、「偽」の.html拡張子を追加しません。URLを正規化し、SEOの理由で使用されるURL形式を標準化します。個人的には、URLの最後の葉にスラッシュを付けることを好みますhttp://example.org/first/second/が、それは好みの問題です。

  • 実際、どこかにあるハードディスクにアップロードされる実際のファイルについて話しているとき、そのタイプの「通常の」ファイル拡張子を保持します。したがって、これらの種類のコンテンツには.css / .js / .exe / .mp4などが使用されています。


1つ.htm、ディレクトリを模倣する(index.htmを上書きする)ことは HTMLコンテンツを提供しているため、実際には「偽物」ではありません。コンテンツがHTML でない場合、偽物になります。
タルビワティア10

2

私は少し非公式の実験を行ったが、私が発見したことは驚いたが、いくらか理にかなっている。

コンテンツをユーザーに配信するという観点から、またスクリーンスクレイピングの観点から、Content-Typeがその日を決定します。

ただし、拡張機能の有無、およびその拡張機能とは、検索エンジンの訪問を左右するようです。

拡張子をまったく省略した場合、URLが場所または動的コンテンツであるため、あまりインデックス付けする価値がないかのように、比較的少ないヒットが得られました。

ページが実際に(サーバー側で)XSLTによって生成されたため、同じリンクを.xml拡張子を使用するように変更したとき、インデックス付けは実際にはさらに低下しました-おそらくそれが単なるデータまたはプログラムによるリクエストの結果だと考えたため。

.htmlを使用するように同じリンクを変更すると、検索エンジンがサイトに突入しました。

現時点では、私のサイトは3つすべてを透過的に処理していますが、クリック可能なリンクが提供されると、.htmlバージョンのURLを返します。

検索エンジンはもう少し賢く、または少し偏りが少ないと思いたいのですが、それは私のページで起こっていることです。


同じリソースに対して複数のURIが存在しないと、重複ページが発生しますか?
タルヴィワティア10

技術的には、私はそう思うだろうし、そうするための適切なことは、他の人に単にリダイレクトを実行させることだと思う。
ウォルトストーンバーナー

これは実に驚くべきことです!どの検索エンジン、変更にどの程度気づいたかなど、背景情報を提供できますか?
damusnet

トラフィックが大幅に減少しましたが、まだわかりませんが、.htmlを使用したrel canonicalからなしのrelに切り替えた瞬間と一致したと思います。
ダン14年

返信が遅くなってすみませんが、可能であれば.htmlを使用することについて言及したMatt Cuttsをしばらく思い出します。(詳細はこちら)。この種類の検索エンジンは拡張に敏感であることになり感覚の、ちょうど見て想像http://example.com/index.exe
ティモHuovinen

2

いいえ、技術的な理由で絶対に必要でない限り、通常のページタイプにファイル拡張子を使用しないでください。ユーザーエクスペリエンスをどのように改善しますか?入力するのは簡単ですが、それでも有用なことは何もありません。あなたのサイトがPHP、ASPなどであることを知って、彼らは何ができるでしょうか?URLは、ファイル拡張子なしで、よりシンプルで、よりクリーンで、より使いやすく、より記憶に残ります。

URLにファイル名がない場合、通常はディレクトリと見なされます。

私は同意するとは思わない。通常、URLは、末尾にスラッシュがある場合にのみディレクトリです。末尾のスラッシュがない場合、ファイルと見なされます。


ユーザーエクスペリエンス:ファイル拡張子が存在.phpする.asp場合、またはユーザーがそれを保存する場合、ファイルタイプは不明であり、コンピューターを操作できない人は、ファイルを再度開く方法を知らない可能性があります。ファイルタイプがない場合、ブラウザはそれを追加しますが、おそらくこれはいくつかの検索エンジンを妨げますか?
タルビワティア10

0

URIの背後のコンテンツが実際にファイルである場合にのみ、ファイル拡張子を追加する必要があります。ただし、その表現(JPG、PDFなど)が1つしかない場合は、ドロップすることもできます。

複数の表現がある場合、HTTPウェイは、Acceptヘッダーを介してネゴシエートされた形式を持つことになります。ただし、ユーザーに発言権を持たせたい場合は、拡張機能を使用して、1つまたは他のURIを要求することで、希望する表現(JPG、PNG、...)を選択できるようにします。


これは、画像やその他のリソースよりも複雑です。非HTMLリソースの場合、常にファイル拡張子を使用します。ほとんどのブラウザは、ユーザーが「名前を付けて保存」を行った場合に除外するとどうするかわかりません。ヘッダーにファイルタイプを追加することはできますが、保存したクライアントコンピューターはファイルを再度開く方法を知りません。
タルビワティア13
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.