Bir dosya uzantısı kullanmalı mıyım, kullanmamalı mıyım?


26

Bunu hep merak etmiş ve asla iyi bir çözüm bulamamıştım.

Ama bu soru bana hatırlattı.

Web sitemde bir URL bulunduğunda, aşağıdaki yollardan biriyle görüntülenebilir ve erişilebilir:

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

vb...

Artık, URL’ye anahtar kelime eklemenin yararını anlayabiliyorum. En temel SEO rehberi bile bunu yapacaktır. ... ama akıl sağlığı, netlik, okuma kolaylığı, kullanım kolaylığı vb. için web uygunluğu dahil ...

Bir dosya uzantısına sahip olup olmaması tercih edilir mi?

Gerçekten, mantığım derinliklerinde bana şunu söylüyor: evet, olmalı. Bunun nedeni, internetin çoğunlukla USENET, FIDONET, FTP ve GOPHER olduğu geçmiş günlere dayanıyor.

Bir URL'nin dosya adı yoksa , normalde bir dizin olarak kabul edilir . Bu, index.htm dosyasının geldiği yerdir, çünkü bu, varsayılan olarak, dizin dosyası bulunmazsa dizini listeler. Ancak, yakında, web programcıları bunu geçersiz kılmaya ve o web dizininin içeriğini sayfa olarak sunmak için index.htm'yi kullanmaya başladı . Ana fark, biçimlendirme dili eklenmiş ve bu tarayıcıda ayrıştırıldı. Bu işaretleme diliyle, Content-Type:text/html;yanıt başlığındaki etiket, herhangi bir dosya için hangi dosya türünün olduğunun göstergesi oldu . HTML, kaydedildikleri zamanlar dışında, tutarlı bir şekilde adlandırılmış uzantıları olmayan tek "dosya türü" gibi görünmektedir.

Ne yazık ki, web sayfaları en önemli şey haline geldiğinde, dizin içeriğini görüntülemek gerçekten bir güvenlik hatası haline geldi, bu yüzden her şey yalnızca görüntülenen URL içeriğiyle gizli kaldı.

Platformlar arası dosya adlandırma savaşlarından bahsetmiyorum bile .. windows tabanlı 3 veya daha az basamaklı bir uzantı gerektirir ve unix / mac daha fazlasına sahip olabilir. Öyleyse, .HTMya .HTMLda ya da NONEplatform karar vermeli mi?

Yani özünde, anlamaya çalıştığım şeyin SEO’nun ötesinde olduğunu ve estetik ve web uyumluluğu ile daha fazla uğraştığını tahmin ediyorum .


Bunu nasıl ayarladınız? .Htaccess dosyanızda mı? Yani, ilk örneğe benzeyecek şekilde bir .html dosyasının yolunu değiştirilsin mi?
Zolomon

1
@zolomon bunu yapabilir ya da daha iyisi, ancak Wordpress'in yaptığı ve yönlendirdiği gibi dinamik bir URI ayrıştırıcısı kullanabilirsiniz *.*.
Talvi Watia

Yanıtlar:


20

Birden fazla gösterimin olduğu veya istemci yazılımının kesinlikle aptal olduğu ve yalnızca Content-Type'ı tek başına kabul etmeyi reddettiği (QuickTime, RealPlayer, Outlook vb.) Size bir .ektansiyon kullanın:

  • http://www.somesite.com/subdirectory - bu, gerçek temsili işaret etmek için Canonical META etiketlerini kullanan otomatik anlaşma versiyonunuz olabilir.

  • http://www.somesite.com/subdirectory/ - her URL’de sondaki eğik çizgileri desteklemeye değer ancak Canonical META etiketlerini kullanarak (bu gereksiz bir yavaşlama olduğundan yönlendirmeler değildir) doğru URL’yi işaret eder

  • http://www.somesite.com/subdirectory/index.htmve http://www.somesite.com/subdirectory/some-relevant-keywords.htm- üç karakter uzatma limiti HTTP'ye uygulanmaz (yalnızca temel FileSystem / OS), böylece istemci bunu hala erişebiliyorken bunu isterse index.html veya aa olarak kaydedebilir.

  • http://www.somesite.com/subdirectory/index.html - bir .atom, .xml veya benzer bir sürüm sunarsanız, .html sürümünü de onurlandırmak mantıklı olur (ve otomatik olarak anlaşılan sürümde LINK etiketleri aracılığıyla Canonical olarak bağla) - işaret etmek için HTTP Content-Location başlıklarını kullanın otomatik müzakere sürümüne rağmen - çok dilli (.en, .es, vb ...) veya çok karakterli (.utf8, .utf16, vb.) de gidebileceğinizi unutmayın.

  • http://www.somesite.com/subdirectory/index.phpve http://www.somesite.com/subdirectory/index.asp- eğer kaynak kodunu sunmuyorsanız, bunlar desteklemenin bir anlamı yoktur.

  • http://www.somesite.com/subdirectory/some-relevant-keywords - SEO sürekli değişen bir sanattır ve bu sizin için çalışıyorsa o zaman harika

  • http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywords, http://www.somesite.com/subdirectory/?page=some-relevant-keywordsVe http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords- içeriğini işlemek için yollar sonsuz sayıda varsa o zaman bu büyük - ama genellikle sayfalar (kendi URL sorgu dizesi ve URL'lerin bu tip kaçınılması gereken edilir değil hak birini yazmak için birileri bilgisayar okur yazar alma deneyin olanlar


1
Çok dilli uzatma? İlk defa böyle bir şey görüyorum. Google’ın /es/subdirectory/index.htmlalt alan adlarından daha fazla klasörleri tercih ettiğini okudum http://es.example.com/subdirectory/index.html. .Es eklentisinin arama motorları tarafından ne kadar iyi desteklendiği hakkında bir bilginiz var mı? Çünkü onu kullanmayı çok isterim. (Ayrıca onları birleştirebilir misiniz? Gibi /index.utf16.es?)
Timo Huovinen

13

Söyleyebilirim yok kullandığınız yazılım bunu atlamak için izin verirse dosya uzantısını içermektedir. Dolayısıyla, örnekler listenizden, tercihim şöyle olacaktır:

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

Tarayıcılar sitedeki bir şeyin bir dizin olup olmadığına ya da HTML dosyası, .asp dosyası ya da başka bir şey olup olmadığına aldırmıyorlar - sadece bir HTTP isteği yaparlar ve bir HTTP yanıtı alırlar. Yani, uzantı gereksizse, bırakın.

Ayrıca, URL’lerinizi daha kısa ve özlü (ve telefonda okunması daha kolay olan - "örnek nokta com slash ürünleri") "örnek nokta com slash ürünleri dot htm l" den daha hoş bir ses çıkarır. Gelecekte teknolojiyi değiştirmek için (URL değişikliği gerekmeyeceğinden).


4
SEO ve astetik nedenlerden dolayı bu konuda en iyi uygulama olarak sallanıyorum.
Talvi Watia

Evet, tarayıcılar umursamıyor, ancak sunucular asp, aspx veya web sunucusunda ekstra işlem yapılması gereken başka bir tür olup olmadığına bakıyor.
korku

Bunu yıllar sonra tekrar ziyaret ederek, en iyi uygulamaların galip geldiği görülüyor. Yine de web tarayıcı mantığı sonunda işlenenleri ayrıştırmayı öğrendiğinde ne olacağını merak ediyorum. Örneğin some-relevant-keywords, (some) (!exclude->relevant) (!exclude->keywords)her SEO uzmanının birden fazla some+relevant+keywordsayraç karakterini kullanmanın estetik ve okunabilirliğini tahrip etmeyi değiştirmesine neden olma eşdeğerliğine sahiptir . Kök neden: /?query=some-relevant-keywordszaten gerçek anlamda dışlamadır.
Talvi Watia


8

Bir dosya uzantısına sahip olup olmaması tercih edilir mi?

RFC'lerde dosya uzantılarına sahip olmayı zorunlu kılacak hiçbir şey yoktur, bunları dışarıda bırakmanızı gerektiren hiçbir şey yoktur. Yaptığın bir seçim.

Uygun HTTP URI'leri hiçbir şey için dosya uzantısına ihtiyaç duymaz. Dosya uzantılarının başka şekilde kullanıldığı her şeyi işlemek için zengin bir HTTP üstbilgi kümesi (özellikle MIME türü) vardır.

Bununla birlikte, günümüzde çoğu tarayıcı aslında içerik türünü belirlemek için ilk baytın MIME türü, uzantısı ve ikili 'parmak izi' kombinasyonuna dayanmaktadır . Bu bazen şaşırtıcı sonuçlar verebilir ve bu yüzden web yöneticilerinin doğru başlıkları belirlediklerimiz önemlidir (ve eğer başlıklarımızın doğru olduğundan% 101 emin olursak, muhtemelen içerik türü koklama özelliğini devre dışı bırakabilirsiniz ).

Dosya uzantılarının yararlı olduğu bir durum vardır: Son kullanıcı, sitenizi daha sonra kullanmak üzere sitenizden yerel bilgisayarına kaydederse. Teorik olarak 'akıllı' bir tarayıcı, kaydedilmiş içeriğin yerel bilgisayar türü için çalışmasını sağlamalıdır; ancak pratikte .jpg, .mp4, .css vb. endüstri standardı uzantılarla içerik sunarak herkese yardımcı olabilirsiniz. Tecrübelerime göre tüm tarayıcılar HTML türünü doğru kullanır. HTML’ye kendinize bir .htm / .html uzantısı eklemeniz gerekmez, tarayıcı bu belirli içerik türünü doğru şekilde işler.

Güvenlik: Hangi platformu kullandığınızı (.php / .asp vb.) Gizlemenin bir güvenlik avantajı olduğu söylenebilir. Bu doğru. Uygulamada herhangi bir hacker'ın bunu hemen keşfedeceğini düşünüyorum, bu yüzden bu uzantıları yalnızca güvenlik amacıyla gizlemenin sorun olduğunu düşünmüyorum.

Özel dikkat: Gelecekte bir CDN kullanmayı planlıyorsanız ve CDN'iniz "push" türünden ise (içerik, SFTP aracılığıyla önceden CDX'e yüklenir), dosya uzantılarını saklamak isteyebilirsiniz. 3. parti sistemlerin çoğu, içeriğe hangi MIME türünü sunacağını bulmak için dosya uzantılarına bakar.

Benim kişisel seçimim:

  • HTML webapp tarafından dinamik olarak oluşturulduğunda, aslında orada olmayan bir dizin ve dosya yapısını taklit etmek için 'sahte' .html uzantısı eklemiyorum. URL'leri normalleştiririm ve SEO nedeniyle kullanılan URL formatını standartlaştırırım. Şahsen URL'nin son yaprağı üzerinde eğik çizgi olmamasını tercih ediyorum, yani http://example.org/first/second/bu bir zevk meselesi.

  • Aslında, bir yere sabit diske yüklenen gerçek dosyalardan söz ederken, o zaman tip için 'normal' dosya uzantısını tutuyorum. Yani .css / .js / .exe / .mp4 vb. Bu içerik türleri için kullanılmaktadır.


Ekleyerek bir şey .htmsen beri mimik bir dizine (daha doğrusu index.htm geçersiz kılma) gerçekten "sahte" değil hizmet HTML içeriği. İçerik olsaydı çok sahte olurdu değil HTML.
Talvi Watia

2

Gayri resmi bir deney yaptım ve keşfettiğim şey beni şaşırtmıştı ama bir anlamı var.

İçeriğe kullanıcıya sunulması açısından, ekran kazımanın yanı sıra, İçerik Türü de günü yönetir.

Bununla birlikte, bir uzantının varlığı veya yokluğu ve bu uzantının ne olduğu gibi, arama motoru ziyaretlerini engelleme gibi görünüyor.

Herhangi bir uzantıyı ihmal ettiğimde göreceli olarak az sayıda isabet aldım - URL bir konum veya dinamik içerikti ve bu nedenle indekslemeye değmezdi.

Sayfaları aslında XSLT (sunucu tarafında) tarafından oluşturulduğundan, bir .xml uzantısı kullanmak için aynı bağlantıları değiştirdiğimde, dizin oluşturma aslında daha da düşmüştür - belki de bunun yalnızca veri olduğunu ya da bazı programatik isteklerin sonucu olduğunu düşündüğü için .

.Html kullanmak için aynı bağlantıları değiştirdiğimde, arama motorları siteyle çılgına döndü.

Şu anda sitem üçünü de şeffaf bir şekilde ele alıyor, ancak tıklanabilir bir bağlantı sağladığında, URL’nin .html sürümünü döndürüyorum.

Arama motorlarının biraz daha akıllı ya da daha az önyargılı olduğunu düşünmek isterdim, ancak sayfalarımda da bunun olduğunu gördüm.


Aynı kaynak için birden fazla URI olması, dupe sayfalarına neden olur mu?
Talvi Watia

Teknik olarak, sanırım, ve sanırım yapılacak doğru şey, diğerlerinin sadece yönlendirme yapmasıdır.
Walt Stoneburner,

bu gerçekten çok şaşırtıcı! Hangi arama motorları gibi, değişimi ne ölçüde farkettiniz vb. gibi daha fazla arka plan bilgisi sağlayabilir misiniz?
damusnet

Trafikte çok büyük bir düşüş yaşadım ve hala emin olmasam da, rel.
Dan

Çok geç cevap verdiğim için üzgünüm ama bir süre önce hatırlıyorum Matt Cutts mümkünse .html kullanmaktan bahsetti . ( daha fazlası burada ). Bu tür arama motorlarının uzantılara duyarlı olduğunu düşündürmektedir, sadece görmeyi hayal edinhttp://example.com/index.exe
Timo Huovinen 19.04 19

2

Hayır, teknik bir nedene kesinlikle ihtiyaç duymadığınız sürece normal sayfa türleri için bir dosya uzantısı kullanmamalısınız. Kullanıcı deneyimini nasıl geliştirir? Yazması daha fazla, ama onlara faydalı hiçbir şey söylemedi. Sitenizin PHP, ASP, vb. Olduğunu bilerek ne yapabilecekler? Bir URL, dosya uzantısı olmadan daha basit, daha temiz, daha kullanışlı ve daha akılda kalıcıdır.

Bir URL'nin dosya adı yoksa, normalde bir dizin olarak kabul edilir.

Katıldığımı sanmıyorum. Genellikle, bir URL, yalnızca sonunda bir eğik çizgi olduğunda bir dizindir. Sonunda eğik çizgi olmadan, dosya olarak kabul edilir.


Kullanıcı deneyimi: dosya uzantısı ise .phpveya .aspkullanıcı kaydederse, bilinmeyen bir dosya türü olacaktır ve bilgisayar okuma yazma bilmeyenler onu nasıl açacağını bilemeyebilir. Dosya filosu olmadan, tarayıcı ekler, ancak bu muhtemelen bazı arama motorlarını engeller mi?
Talvi Watia

0

URI'nin arkasındaki içerik aslında bir dosyaysa, yalnızca bir dosya uzantısı eklemelisiniz. Ancak o zaman bile tek bir temsili varsa bırakabilirsiniz (JPG, PDF, ...).

Birden fazla gösterim varsa, HTTP yolu, Acceptbaşlıkta anlaşılan formatın olmasını sağlamaktır . Ancak, kullanıcılarınızın bu konuda bir şeyler söylemesini istiyorsanız, muhtemelen bir uzantıya sahip olmak istersiniz; böylece bir veya diğer URI'yı isteyerek hangi temsili istediklerini (JPG, PNG, ...) seçebilirler.


Bu sadece görüntü veya diğer kaynaklardan daha fazla söz konusudur. Html olmayan kaynaklar için her zaman bir dosya uzantısı kullanırdım. Çoğu tarayıcı, kullanıcı "kaydetme" yapması durumunda bırakılırsa ne yapacağını bilemez. Dosya tipini başlığa ekleyebildiğinizden emin olun, ancak bir kez kaydedilmiş istemci bilgisayarlar dosyayı nasıl yeniden açacaklarını bilemeyeceklerdir.
Talvi Watia
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.