J'ai beaucoup de questions sur lesquelles j'aimerais entendre votre opinion, alors j'espère que je parviendrai à l'expliquer assez bien. Je dois également noter que je suis débutant et que je ne suis équipé que de la connaissance de HTML et CSS, même si je suis presque sûr qu'il existe une solution simple utilisant PHP puissant, cela ne m'aidera pas .
Disons que j'ai mon blog personnel sur l'adresse example.com/blog.html
et qu'il y a des liens vers plusieurs sous-blogs example.com/blog/math.html
, example.com/blog/coding.html
etc. Donc mon dossier racine contient blog.html
et blog
dossier, le blog
dossier lui-même contient des fichiers math.html
et coding.html
.
Tout d'abord, j'ai appris (à partir des outils Google Webmasters ) que pour le référencement et à des fins esthétiques, il est bon d'unifier example.com.com
et example.com/index.html
en ajoutant un _rel="canonical"_
attribut à la source du index.html
. En utilisant quelques autres astuces (comme les liens vers ../
et ./
), je me suis débarrassé de la laideur index.html
apparaissant dans mes adresses Web.
Et maintenant, je me demande si cette astuce peut être utilisée non seulement pour le dossier racine mais pour n'importe quel dossier? Je veux dire, je voudrais déplacer mon blog.html
dans le blog
dossier, le renommer index.html
et l'ajouter rel="canonical"
pour unifier example.com/blog/index.html
avec example.com/blog/
.
Cette astuce changerait l'adresse de mon blog example.com/blog.html
en example.com/blog/
.
Pas terminé! Je rencontre également des problèmes avec le robot google qui indexe mes dossiers. Ainsi, lorsque je tape site:example.com/
dans la recherche Google, le lien vers mon dossier example.com/blog/
avec des fichiers bruts, des icônes, etc. apparaît parmi les autres résultats. Je suppose qu'il existe également d'autres moyens de le résoudre, mais à mon humble avis, le changement mentionné ci-dessus ferait aussi l'affaire - le index.html dans le dossier du blog empêcherait l'utilisateur de voir le contenu brut réel de ce dossier, il n'apparaîtrait que le bon lien example.com/blog/
dans la recherche Google et (j'espère que) _rel="canonical"_
ferait en sorte que le deuxième lien indésirable example.com/blog/index.html
n'apparaisse pas dans les résultats de la recherche.
Mes questions sont donc:
- Est-ce une bonne pratique d'avoir le
index.html
fichier dans chaque sous-dossier ou est-il destiné à être uniquement dans le dossier racine? - Y a-t-il des inconvénients ou des problèmes qui peuvent survenir lors de l'utilisation de la deuxième méthode " indexer dans chaque dossier "?
- Laquelle des deux façons de structurer le site Web décrites ci-dessus préféreriez- vous ?
la source
Réponses:
La raison pour laquelle nous utilisons
index.html
ouhome.html
ou des dérivés de ceux-ci, c'est parce que le logiciel de serveur Web lui- même le recherche et le sert. Par exemple:C'est INVALIDE: (www-annuaire)
Cela sera en fait servi comme une page répertoriant les dossiers et les fichiers. (Pas ce que tu veux). Vous pouvez essayer cette structure, mais également créer un fichier index.html à côté de blog.html. Remarquez comment il ne sera pas diffusé blog.html sauf si vous le spécifiez
http://www.site.com/blog.html
) C'est pourquoihttp://www.google.com/
affiche la page sans que vous ayez à le spécifierhttp://www.google.com/index.html
C'est VALIDE:
Cela servira votre
blog.html
fichier comme la page d'accueil. (Ne pas répertorier tous les dossiers / fichiers de ce répertoire)Le logiciel de serveur Web possède (dans la configuration) une liste spécialisée de noms de fichiers qui seront servis de page d'accueil ou de page principale d'un dossier. (D'après mon expérience,
index.html
a priorité sur index.php, donc si vous avezindex.html
etindex.php
dans un dossier, l'index.html est ce que le public verra) Bien sûr, tout cela peut être changé, et vous pouvez même définirblog.html
pour être reconnu comme un "indice".Répondre à votre commentaire:
Cela se ferait en se déplaçant
blog.html
entièrement dans/blog/
et en le renommant en index.html.Votre nouvelle structure serait:
Cela devrait correctement servir
http://www.site.com/blog/
à afficher le contenu de votre blog.html que nous avons renommé pourindex.html
que le logiciel puisse le définir comme l'index de votre répertoire/blog/
Vous êtes également libre maintenant de mettre et de
index.html
déposer à la racine de votre sitehttp://www.site.com/(index.html)
pour avoir des liens vers/blog/
et tout ce que vous souhaitez.Répondre spécifiquement à vos questions dans de courtes déclarations:
Est-ce une bonne pratique d'avoir le fichier index.html dans chaque sous-dossier ou est-il destiné à être uniquement dans le dossier racine?
Oui, car cela empêche les gens de voir quels fichiers se trouvent dans vos répertoires. Vous pouvez éviter cela avec un
.htaccess
fichier contenantOptions -Indexes
Y a-t-il des inconvénients ou des problèmes qui peuvent survenir lors de l'utilisation de la deuxième méthode "indexer dans chaque dossier"?
Aucun que je puisse penser.
Laquelle des deux façons de structurer le site Web décrites ci-dessus préféreriez-vous?
J'ai généralement un
index.html
ou unindex.php
fichier à la racine, des sous-dossiers basés sur la catégorie (commeforum
ounews
oulogin
etc.), puis une sorte d'index à l'intérieur de chacun d'eux.la source
Le terme technique pour index.html est Index de répertoire pour Apache et Document par défaut pour IIS. L'autre directive Apache d'intérêt est la directive Options . Comme indiqué dans la documentation, quand
Options Indexes
est défini:Lorsque je configure un site Web qui n'utilise pas de système de gestion de contenu, ma configuration préférée est d'avoir une page de contenu par répertoire. Cette page est l'index du répertoire (document par défaut) du répertoire. Tous les liens sur le site pointent uniquement vers le répertoire et se terminent par une barre oblique (par exemple,
http://example.com/blog/
au lieu dehttp://example.com/blog/index.html
ou./blog/
au lieu de./blog/index.html
). La barre oblique de fin est importante pour éviter ce qui est communément appelé redirection de courtoisie . (Si la barre oblique de fin est omise, tout se résout toujours correctement, mais le nombre de requêtes HTTP et donc la bande passante augmentent.)Ma principale motivation pour la méthodologie ci-dessus est double. Premièrement, il facilite le changement de technologie utilisée sur le site Web. Par exemple, je peux changer une page de index.html en index.php sans rompre les liens ou les listes des moteurs de recherche. Deuxièmement, l'extension de fichier d'une page de contenu est "bruit"; la suppression de l'extension de fichier de l'URL se traduit par des URL plus courtes et, espérons-le, plus lisibles.
Comme pour les autres types de fichiers:
Sur un serveur Apache, je désactive
Options Indexes
les répertoires susmentionnés. Sur les serveurs Apache et IIS, je ne spécifie pas d'index de répertoire (document par défaut) pour les répertoires susmentionnés. Ainsi, une demande pour l'un des répertoires entraîne une erreur HTTP 403.la source