it-swarm.com.de

Soll ich eine Dateierweiterung verwenden oder nicht?

Ich habe mich immer darüber gewundert und nie eine gute Lösung gefunden.

Aber diese Frage hat mich daran erinnert.

Wenn ich eine URL auf meiner Website habe, kann diese auf eine der folgenden Arten angezeigt und aufgerufen werden:

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

usw...

Jetzt kann ich die Vorzüge des Hinzufügens von Schlüsselwörtern in die URL verstehen. Selbst die grundlegendste SEO-Anleitung wird erwähnen, um genau das zu tun. ... aber aus Gründen der Vernunft, Klarheit, Lesbarkeit, Benutzerfreundlichkeit usw. einschließlich Web-Compliance ...

Ist es bevorzugt eine Dateierweiterung zu haben oder nicht?

Im Grunde sagt mir meine Logik: Ja, das sollte es. Der Grund dafür ist, dass dies auf vergangene Zeiten zurückgeht, als das Internet hauptsächlich aus USENET, FIDONET, FTP und Gopher bestand.

Wenn eine URL keinen Dateinamen hat, wird sie normalerweise als Verzeichnis betrachtet. Hier ist index.htm entstanden, da hier standardmäßig das Verzeichnis aufgelistet wird, wenn keine Indexdatei gefunden wird. Webprogrammierer begannen jedoch schon bald, dies zu überschreiben und index.htm zu verwenden, um den Inhalt dieses Webverzeichnisses tatsächlich als Seite bereitzustellen. Der Hauptunterschied bestand darin, dass eine Auszeichnungssprache hinzugefügt und diese im Browser analysiert wurde. Bei dieser Auszeichnungssprache wurde das Content-Type:text/html; -Tag im Antwortheader zum Indikator für den Dateityp einer beliebigen Datei . HTML scheint der einzige "Dateityp" zu sein, der keine einheitlich benannten Erweiterungen hat, außer wenn sie gespeichert werden.

Als Webseiten zur Hauptsache wurden, wurde es leider zu einem Sicherheitsfehler, den Verzeichnisinhalt tatsächlich anzuzeigen, sodass alles verborgen blieb und nur der tatsächliche URL-Inhalt angezeigt wurde.

Ganz zu schweigen von den plattformübergreifenden Dateibenennungskriegen. Windows-basierte Versionen benötigen eine Erweiterung mit 3 oder weniger Ziffern, und Unix/Mac kann mehr enthalten. Also sollte es .HTM oder .HTML oder NONE sein und die Plattform entscheiden lassen?

Also denke ich, was ich herausfinden will, ist jenseits von SEO und beschäftigt sich mehr mit Ästhetik und Web-Compliance.

26
Talvi Watia

Verwenden Sie eine Erweiterung, bei der es mehr als eine Darstellung gibt oder bei der die Client-Software absolut dumm ist und den Inhaltstyp allein nicht akzeptiert (QuickTime, RealPlayer, Outlook usw., die ich gerade betrachte):

  • http://www.somesite.com/subdirectory - Dies kann Ihre Auto-Negotiation-Version sein, die Canonical META-Tags verwendet, um auf die tatsächliche Darstellung zu verweisen

  • http://www.somesite.com/subdirectory/ - Es lohnt sich immer, abschließende Schrägstriche in einer URL zu unterstützen, aber Canonical META-Tags (keine Weiterleitungen, da dies eine unnötige Verlangsamung darstellt) zu verwenden, um auf die richtige URL zu verweisen

  • http://www.somesite.com/subdirectory/index.htm und http://www.somesite.com/subdirectory/some-relevant-keywords.htm - Die dreistellige Erweiterungsbeschränkung gilt nicht für HTTP (nur das zugrunde liegende Dateisystem/Betriebssystem), sodass der Client diese als index.html oder aa speichern kann, wenn er dies wünscht in der Lage sein, darauf zuzugreifen

  • http://www.somesite.com/subdirectory/index.html - Wenn Sie eine .atom-, eine .xml- oder eine ähnliche Version bereitstellen, ist es sinnvoll, auch die .html-Version zu berücksichtigen (und über LINK-Tags in der automatisch ausgehandelten Version eine Canon-Verknüpfung zu dieser zu erstellen) - HTTP-Inhalt zu verwenden -Location-Header, die auf die Auto-Negotiation-Version verweisen - denken Sie daran, dass Sie auch mehrsprachig (.en, .es, etc ...) oder mehrsprachig (.utf8, .utf16, etc ...) arbeiten können.

  • http://www.somesite.com/subdirectory/index.php und http://www.somesite.com/subdirectory/index.asp - Wenn Sie den Quellcode nicht bereitstellen, ist die Unterstützung dieser Codes nicht sinnvoll

  • http://www.somesite.com/subdirectory/some-relevant-keywords - SEO ist eine sich ständig verändernde Kunst und wenn das für dich funktioniert, dann großartig

  • http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywords, http://www.somesite.com/subdirectory/?page=some-relevant-keywords und http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords - wenn es unendlich viele Möglichkeiten gibt, den Inhalt zu manipulieren, dann ist das großartig - aber normalerweise verdienen Seiten ihre eigene URL, keine Abfragezeichenfolge und diese Art von URLs sollten vermieden werden (versuchen Sie, einen Computer-Analphabeten dazu zu bringen, eine dieser URLs einzugeben)

20
Metalshark

Ich würde sagen nicht füge die Dateierweiterung hinzu, wenn die Software, die du verwendest, es dir erlaubt, sie wegzulassen. Aus Ihrer Liste von Beispielen würde ich also Folgendes bevorzugen:

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

Den Browsern ist es egal, ob sich auf der Site ein Verzeichnis befindet oder nicht, oder ob es sich um eine HTML-Datei, eine ASP-Datei oder was auch immer handelt - sie stellen einfach eine HTTP-Anfrage und erhalten eine HTTP-Antwort. Wenn die Erweiterung überflüssig ist, lassen Sie sie fallen.

Dies hat auch den zusätzlichen Vorteil, dass Ihre URLs übersichtlicher sind (und einfacher auf dem Telefon abgelesen werden können - "Beispiel-Dot-Com-Slash-Produkte" klingen viel besser als "Beispiel-Dot-Com-Slash-Produkte" (Punkt-HTML)) und es einfacher machen Switch-Technologie in der Zukunft (da keine URL-Änderung erforderlich wäre).

13
Tim Fountain

Coole URIs ändern sich nicht . (Gehen Sie zu dem Abschnitt mit dem Titel "Also, was soll ich tun? URIs entwerfen")

12
John Conde

Wird eine Dateierweiterung bevorzugt oder nicht?

Es gibt nichts in den RFCs, das Dateierweiterungen erfordert, und Sie müssen diese auch nicht weglassen. Es ist eine Wahl, die Sie treffen.

Konforme HTTP-URIs benötigen für nichts Dateierweiterungen. Es gibt eine Vielzahl von HTTP-Headern (insbesondere den MIME-Typ), mit denen alle anderen Dateierweiterungen verarbeitet werden können.

Heutzutage verlassen sich die meisten Browser jedoch auf ein Kombination aus MIME-Typ, Erweiterung und binärem 'Fingerprint' der ersten Bytes, um den Inhaltstyp zu bestimmen. Dies kann manchmal zu überraschenden Ergebnissen führen führen. Daher ist es wichtig, dass wir Webmaster die richtigen Header festlegen (und möglicherweise Sniffing von Inhaltstypen deaktivieren , wenn wir zu 101% sicher sind, dass unsere Header korrekt sind). .

Es gibt eine Situation, in der Dateierweiterungen nützlich sind: Wenn der Endbenutzer Inhalte von Ihrer Site auf seinem lokalen Computer zur späteren Verwendung speichert. Theoretisch sollte ein "intelligenter" Browser sicherstellen, dass gespeicherte Inhalte für den lokalen Computertyp funktionieren. In der Praxis können Sie jedoch jedem helfen, indem Sie Inhalte mit branchenüblichen Erweiterungen wie .jpg, .mp4, .css usw. bereitstellen. Meiner Erfahrung nach behandeln alle Browser den HTML-Typ ordnungsgemäß. Sie müssen selbst keine .htm/.html-Erweiterung für HTML hinzufügen, da der Browser diesen bestimmten Inhaltstyp korrekt verarbeitet.

Sicherheit: Man könnte argumentieren, dass das Verbergen der verwendeten Plattform (.php/.asp usw.) einen Sicherheitsvorteil bietet. Das ist richtig. In der Praxis denke ich, dass jeder gute Hacker dies sofort entdecken wird, daher denke ich nicht, dass es die Mühe wert ist, diese Erweiterungen nur aus Sicherheitsgründen zu verstecken.

Besondere Überlegung: Wenn Sie in Zukunft eine CDN verwenden möchten und Ihre CDN vom Typ "Push" ist (der Inhalt wird zuvor auf die CDN hochgeladen fx via SFTP), dann möchten Sie vielleicht die Dateierweiterungen behalten. Die meisten Systeme von Drittanbietern überprüfen Dateierweiterungen, um herauszufinden, mit welchem ​​MIME-Typ der Inhalt bereitgestellt werden soll.

Meine persönliche Wahl wurde:

  • Wenn HTML dynamisch von meiner Webanwendung generiert wird, füge ich keine gefälschte .html-Erweiterung hinzu, um eine Verzeichnis- und Dateistruktur nachzuahmen, die eigentlich nicht vorhanden ist. Ich normalisiere URLs und ich standardisiere das aus SEO-Gründen verwendete URL-Format. Ich persönlich bevorzuge einen abschließenden Schrägstrich auf dem letzten Blatt der URL, d. H. http://example.org/first/second/, aber das ist Geschmackssache.

  • Wenn es sich tatsächlich um tatsächliche Dateien handelt, die irgendwo auf eine Festplatte hochgeladen werden, behalte ich die 'normale' Dateierweiterung für den Typ. Für diese Art von Inhalten werden also CSS/JS/EXE/MP4 usw. verwendet.

8

Ich habe ein wenig informell experimentiert und das, was ich entdeckt habe, hat mich überrascht, macht aber Sinn.

Vom Standpunkt des Inhalts, der an den Benutzer geliefert wird, sowie vom Bildschirm-Scraping aus bestimmt der Inhaltstyp den Tag.

Das Vorhandensein oder Fehlen einer Erweiterung sowie deren Bedeutung scheinen jedoch die Besuche in Suchmaschinen zu beeinflussen.

Wenn ich überhaupt eine Erweiterung weglasse, erhalte ich relativ wenige Treffer - als wäre die URL ein Ort oder ein dynamischer Inhalt und daher nicht sehr indizierbar.

Als ich dieselben Links in eine .xml-Erweiterung umwandelte, weil die Seiten tatsächlich von XSLT (auf der Serverseite) generiert wurden, wurde die Indizierung tatsächlich weiter gesenkt - vielleicht weil ich dachte, es handele sich nur um Daten oder das Ergebnis einer programmgesteuerten Anforderung .

Als ich die gleichen Links in .html änderte, waren die Suchmaschinen von der Website begeistert.

Momentan behandelt meine Site alle drei transparent, aber wenn es einen anklickbaren Link gibt, gebe ich die .html-Version der URL zurück.

Ich würde gerne glauben, dass Suchmaschinen ein bisschen schlauer oder weniger voreingenommen sind, aber genau das habe ich bei meinen Seiten beobachtet.

2

Nein, Sie sollten keine Dateierweiterung für normale Seitentypen verwenden, es sei denn, Sie benötigen sie aus technischen Gründen unbedingt. Wie verbessert es die Benutzererfahrung? Es ist mehr zu tippen, aber es sagt ihnen nichts Sinnvolles. Was können sie tun, wenn sie wissen, dass Ihre Site PHP, ASP usw. ist? Eine URL ist einfacher, übersichtlicher, benutzerfreundlicher und ohne Dateierweiterung einprägsamer.

Wenn eine URL keinen Dateinamen hat, wird sie normalerweise als Verzeichnis betrachtet.

Ich glaube nicht, dass ich damit einverstanden bin. Im Allgemeinen ist eine URL nur dann ein Verzeichnis, wenn sie einen abschließenden Schrägstrich enthält. Ohne einen abschließenden Schrägstrich wird es als eine Datei betrachtet.

2
Virtuosi Media

Sie sollten eine Dateierweiterung nur hinzufügen, wenn der Inhalt hinter der URI tatsächlich eine Datei ist. Aber selbst dann könnte man es fallen lassen, wenn es nur eine Darstellung gibt (JPG, PDF, ...).

Wenn es mehrere Darstellungen gibt, würde der HTTP-Weg darin bestehen, das Format über den Header Accept auszuhandeln. Wenn Sie Ihren Benutzern jedoch ein Mitspracherecht einräumen möchten, möchten Sie wahrscheinlich eine Erweiterung, damit sie auswählen können, welche Darstellung sie möchten (JPG, PNG, ...), indem Sie den einen oder anderen URI anfordern.

0
DanMan