파일 확장자를 사용해야합니까?


26

나는 항상 이것에 대해 궁금했고 좋은 해결책을 찾지 못했습니다.

그러나이 질문은 나에게 상기시켰다.

내 웹 사이트에 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 이 없으면 일반적으로 directory 로 간주됩니다 . 인덱스 파일이 없으면 기본적으로 디렉토리를 나열하기 때문에 index.htm이 나온 곳입니다. 그러나 곧 웹 프로그래머는이를 무시하고 index.htm을 사용하여 실제로 해당 웹 디렉토리의 컨텐츠를 페이지로 제공하기 시작했습니다 . 가장 큰 차이점은 마크 업 언어가 추가되었으며 브라우저에서 구문 분석되었습니다. 이 마크 업 언어로, Content-Type:text/html;응답 헤더 태그는 그것이 파일 형식 무엇인지에 표시 기가 있는 파일 . HTML은 저장 될 때를 제외하고 일관된 이름의 확장자를 갖지 않는 유일한 "파일 유형"인 것 같습니다.

불행히도 일단 웹 페이지가 주요한 것이되면 실제로 디렉토리 내용을 표시하는 것은 보안 오류가되어 실제 URL 내용 만 표시되어 모든 것이 숨겨져 있습니다.

크로스 플랫폼 파일 이름 지정 전쟁은 말할 것도없고 윈도우 기반은 3 자리 이하의 확장명을 필요로하며 유닉스 / 맥은 더 많은 것을 가질 수 있습니다. 그래서해야 .HTM하거나 .HTML또는 NONE과 플랫폼이 결정하게?

본질적으로, 내가 알아 내려고하는 것은 SEO를 넘어서서 미학과 웹 준수를 더 다루는 것 같습니다.


이것을 어떻게 설정 하시겠습니까? .htaccess 파일에서? 첫 번째 예제처럼 .html 파일의 경로를 변경 하시겠습니까?
Zolomon

1
@zolomon 당신은 그렇게 할 수도 있고 Wordpress와 같은 동적 URI 파서를 사용하는 것이 좋습니다 *.*.
Talvi Watia

답변:


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.htmhttp://www.somesite.com/subdirectory/some-relevant-keywords.htm- 클라이언트가 index.html을 또는 AA로이를 저장할 수 있도록 세 가지 문자의 확장자 제한은 그들이 원하는 경우 HTTP (만 기본 파일 시스템 / OS)에 적용되지 않습니다에 여전히 액세스 할 수있는 반면

  • 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-keywords, http://www.somesite.com/subdirectory/?page=some-relevant-keywordshttp://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??)
Timo Huovinen

13

나는 말을 하지 않습니다 당신이 사용하고있는 소프트웨어는 당신이 그것을 생략 할 수있는 경우 파일 확장자를 포함한다. 따라서 귀하의 예제 목록에서 선호하는 것은 다음과 같습니다.

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

브라우저는 사이트에 디렉토리가 있는지 또는 HTML 파일인지, .asp 파일인지 여부에 상관없이 HTTP 요청을하고 HTTP 응답을 얻습니다. 따라서 확장이 불필요한 경우 삭제하십시오.

또한 URL을보다 간결하게 만드는 이점이 있습니다 (전화에서 쉽게 읽을 수 있음- "예제 닷컴 슬래시 제품 예"는 "예제 닷컴 슬래시 제품 예 htm l"보다 소리가 훨씬 좋습니다)). URL을 변경할 필요가 없으므로 향후 기술을 전환 할 수 있습니다.


4
SEO와 무신경 한 이유로 최선의 방법 으로이 것을 향해 흔들리고 있습니다.
Talvi Watia

예, 브라우저는 신경 쓰지 않지만 서버는 ASP, aspx 또는 웹 서버에서 추가 처리가 필요한 다른 유형 인 경우 신경 쓰입니다.
awe

수년 후에 이것을 다시 방문하면 모범 사례가 우세한 것처럼 보입니다. 그러나 여전히 웹 크롤러 논리가 피연산자를 구문 분석하는 법을 배우면 어떻게 될지 궁금합니다. 예를 들어, 모든 SEO 전문가가 갑작스럽게 변경 하여 하이픈을 구분 문자로 사용하는 미학과 가독성 을 파괴하도록 some-relevant-keywords하는 등가성이 (some) (!exclude->relevant) (!exclude->keywords)있습니다 some+relevant+keywords. 근본 원인 : /?query=some-relevant-keywords문자 그대로 제외입니다.
Talvi Watia


8

파일 확장자를 갖는 것이 바람직합니까?

RFC에는 파일 확장명을 요구할 사항이 없으며, 파일 확장명을 생략해야하는 것도 없습니다. 당신이하는 선택입니다.

적합한 HTTP URI에는 파일 확장자가 필요하지 않습니다. 파일 확장자가 달리 사용되는 모든 것을 처리하기위한 풍부한 HTTP 헤더 세트 (특히 MIME 유형)가 있습니다.

즉, 오늘날 대부분의 브라우저는 실제로 콘텐츠 유형을 결정하기 위해 첫 바이트 의 MIME 유형, 확장 및 이진 '지문'조합에 의존 합니다. 때로는 놀라운 결과가 나올 수 있으므로 웹 마스터가 올바른 헤더를 설정하는 것이 중요합니다 ( 101 %가 헤더가 올바른지 확인하면 콘텐츠 유형 스니핑을 사용 중지 할 수 있음 ).

파일 확장자가 유용한 상황은 다음과 같습니다 . 최종 사용자가 나중에 사용하기 위해 사이트의 컨텐츠를 로컬 컴퓨터에 저장하는 경우. 이론적으로 '스마트'브라우저는 저장된 컨텐츠가 로컬 컴퓨터 유형에서 작동하는지 확인해야합니다. 그러나 실제로는 .jpg, .mp4, .css 등과 같은 업계 표준 확장명으로 콘텐츠를 제공하여 모든 사람을 도울 수 있습니다. 내 경험에 따르면 모든 브라우저는 HTML 유형을 올바르게 처리합니다. HTML에 .htm / .html 확장자를 직접 추가 할 필요는 없습니다. 브라우저는이 특정 컨텐츠 유형을 올바르게 처리합니다.

보안 : 사용중인 플랫폼 (.php / .asp 등)을 숨기면 보안상의 이점이 있다고 주장 할 수 있습니다. 사실입니다. 실제로 나는 훌륭한 해커가 이것을 즉시 발견 할 것이라고 생각하므로 보안을 위해 이러한 확장을 숨기는 것이 문제의 가치가 있다고 생각하지 않습니다.

특별 고려 사항 : 나중에 CDN을 사용할 계획이고 CDN이 "푸시"유형 인 경우 (콘텐츠는 SFTP를 통해 fx에 미리 fx로 업로드 됨) 파일 확장자를 유지하려고 할 수 있습니다. 대부분의 타사 시스템은 파일 확장자를 확인하여 콘텐츠를 제공 할 MIME 유형을 찾습니다.

나의 개인적인 선택은 다음과 같이되었다 :

  • webapp에서 HTML을 동적으로 생성 할 때 실제로 존재하지 않는 디렉토리 및 파일 구조를 모방하기 위해 'fake'.html 확장자를 추가하지 않습니다. URL을 정규화하고 SEO의 이유로 사용되는 URL 형식을 표준화합니다. 개인적으로 URL의 마지막 잎에 슬래시를 사용하는 것을 선호 http://example.org/first/second/하지만 맛의 문제입니다.

  • 실제로 하드 디스크에 업로드 된 실제 파일에 대해 이야기 할 때 유형에 대한 '일반'파일 확장자를 유지합니다. 따라서 이러한 종류의 콘텐츠에는 .css / .js / .exe / .mp4 등이 사용됩니다.


한 가지, .htmindex.htm을 재정의하는 대신 디렉토리를 모방하는 것은 HTML 내용을 제공하기 때문에 "가짜"가 아닙니다 . 내용이 HTML 이 아니라면 가짜 일 것 입니다.
Talvi Watia

2

나는 약간의 비공식 실험을 해왔고, 내가 발견 한 것은 나를 놀라게했지만 의미가 있습니다.

컨텐츠 스크랩뿐만 아니라 컨텐츠 제공 사용자 관점에서 컨텐츠 유형이 하루를 지배합니다.

그러나 확장의 유무 및 확장은 검색 엔진 방문을 좌우하는 것으로 보입니다.

확장을 전혀 생략하면 URL이 위치 또는 동적 콘텐츠이므로 인덱싱 할 가치가없는 것처럼 상대적으로 적은 인기를 얻었습니다.

페이지가 실제로 서버 측의 XSLT에 의해 생성 되었기 때문에 .xml 확장자를 사용하기 위해 동일한 링크를 변경했을 때 인덱싱은 실제로 더 떨어졌습니다. .

.html을 사용하도록 동일한 링크를 변경했을 때 검색 엔진이 사이트에 열광했습니다.

현재 내 사이트는 세 가지를 모두 투명하게 처리하지만 클릭 가능한 링크를 제공하면 URL의 .html 버전을 반환합니다.

검색 엔진이 조금 더 똑똑하거나 덜 편견적이라고 생각하고 싶지만 이것이 내 페이지에서 발생하는 것으로 관찰되었습니다.


같은 리소스에 대해 여러 개의 URI가 없어서 중복 페이지가 발생합니까?
Talvi Watia

기술적으로, 나는 그렇게 생각하고, 그렇게해야 할 것은 다른 사람들이 단순히 리디렉션을 수행하는 것입니다.
Walt Stoneburner

이것은 정말 놀랍습니다! 어떤 검색 엔진과 같은 변경 사항을 어느 정도 발견했는지 등 더 많은 배경 정보를 제공 할 수 있습니까?
damusnet

트래픽이 크게 줄어 들었지만 여전히 확실하지는 않지만 .html을 사용하여 rel 표준에서 .html로 변환하지 않은 순간과 일치한다고 생각합니다.
Dan

너무 늦게 답변을해서 죄송합니다 . 가능하다면 .html을 사용한다고 언급 한 Matt Cutts가 기억납니다 . ( 여기 더 ). 어떤 차종의 그것은 그 검색 엔진 그냥보고 상상 확장에 민감한 감지http://example.com/index.exe
티모 Huovinen

2

아니요. 기술적 이유로 절대적으로 필요한 경우가 아니면 일반 페이지 유형에 파일 확장자를 사용해서는 안됩니다. 사용자 경험을 어떻게 향상 시킵니까? 타이핑하는 것이 더 좋지만 유용한 것은 없습니다. 귀하의 사이트가 PHP, ASP 등임을 알면 어떻게 할 수 있습니까? URL은 파일 확장자없이 더 단순하고 깨끗하며 더 유용하며 기억에 남습니다.

URL에 파일 이름이 없으면 일반적으로 디렉토리로 간주됩니다.

동의하지 않는 것 같습니다. 일반적으로 URL은 슬래시가있는 경우에만 디렉토리입니다. 슬래시가 없으면 파일로 간주됩니다.


사용자 경험 : 파일 확장명 .php이거나 .asp사용자가 저장 한 경우 파일 형식을 알 수 없으며 컴퓨터 문맹이 파일을 다시 여는 방법을 모를 수 있습니다. 파일 형식이 없으면 브라우저가 파일 형식을 추가하지만 일부 검색 엔진을 방해 할 수 있습니까?
Talvi Watia

0

URI 뒤의 내용이 실제로 파일 인 경우 파일 확장자 만 추가해야합니다. 그러나 표현이 하나 뿐인 경우 (JPG, PDF 등) 삭제할 수 있습니다.

표현이 여러 개인 경우 HTTP-way는 Accept헤더를 통해 형식을 협상해야합니다 . 그러나 사용자가 말을하고 싶다면 확장 기능을 사용하여 하나 또는 다른 URI를 요청하여 원하는 표현 (JPG, PNG, ...)을 선택할 수 있습니다.


이것은 이미지 나 다른 리소스보다 더 복잡합니다. HTML이 아닌 리소스의 경우 항상 파일 확장자를 사용합니다. 사용자가 "다른 이름으로 저장"을 수행 할 경우 대부분의 브라우저는 남은 경우 수행 할 작업을 모릅니다. 물론 파일 형식을 헤더에 추가 할 수 있지만 일단 저장된 클라이언트 컴퓨터는 파일을 다시 여는 방법을 모를 것입니다.
Talvi Watia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.