Les redirections d'URL sont un élément fondamental de la maintenance d'un site Web de production. Il existe de nombreuses raisons pour lesquelles vous souhaiterez peut-être rediriger un utilisateur d'une partie de votre site Web vers une autre, mais le faire correctement est important pour une expérience utilisateur positive et pour maintenir le référencement maximal (optimisation des moteurs de recherche) possible. .
Django est livré avec une application de redirections intégrée pour aider à gérer les redirections, mais la documentation officielle n'est pas particulièrement conviviale pour les nouveaux arrivants, d'où ce tutoriel.
L'application de redirection Django fonctionne parallèlement au framework de sites, qui est également intégré mais pas automatiquement installé. En tant que développeurs Django, nous avons besoin de quelques éléments de configuration pour utiliser pleinement les deux.
Pour configurer le framework Sites, ajoutez-le à la configuration INSTALLED_APPS dans settings.py et définissez un SITE_ID. Il est d'usage de définir une application web avec un seul site comme 1.
# settings.py INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", "django.contrib.sites", # new ] SITE_ID = 1 # new
Pour être complet, vous devez effectuer une migration maintenant pour mettre à jour votre base de données.
(.venv) $ python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions, sites Running migrations: Applying sites.0001_initial... OK Applying sites.0002_alter_domain_unique... OK
Comme le framework Sites, l'application de redirection est incluse par défaut dans Django mais nécessite une certaine configuration. Nous mettrons à jour INSTALLED_APPS, MIDDLEWARE et exécuterons à nouveau une migration de base de données. Notez que lors de l'ajout du middleware, il doit être placé vers le bas pour fonctionner correctement puisque le middleware est exécuté de haut en bas pour une requête HTTP (et de bas en haut pour une réponse HTTP, mais c'est un sujet pour un autre jour).
# settings.py INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", "django.contrib.sites", "django.contrib.redirects", # new # other local and 3rd party apps ] MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", # ... any other custom middleware ... "django.contrib.redirects.middleware.RedirectFallbackMiddleware", # new ]
Exécutez maintenant les migrations pour créer les tables de base de données nécessaires au fonctionnement de l'application de redirection.
(.venv) $ python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, redirects, sessions, sites Running migrations: Applying redirects.0001_initial... OK Applying redirects.0002_alter_redirect_new_path_help_text... OK
Notre installation est terminée. Explorons deux approches différentes pour l'utiliser.
L'administrateur Django est un moyen convivial de gérer les redirections sans écrire de code. Il est idéal pour mettre en place rapidement un petit nombre de redirections ou pour les membres de l'équipe non techniques.
Connectez-vous à l'administrateur : les sections Redirections et Sites doivent être visibles.
Cliquez sur le bouton "+Ajouter" à côté de Redirections. Il affiche un formulaire pour sélectionner un site, un chemin de « redirection depuis » et un chemin de « redirection vers ». Comme indiqué sur la page, utilisez un chemin absolu pour le premier et un chemin absolu ou une URL complète pour le second.
Voici un exemple d'ajout d'une redirection de "example.com/old" vers "example.com/new".
Une fois enregistré, vous serez redirigé vers la page principale des redirections où vous pourrez voir et modifier toutes les redirections existantes.
Si vous souhaitez modifier la partie « exemple.com » du site, cliquez sur la section Sites et vous pourrez mettre à jour le nom de domaine ou le nom d'affichage. Le nom d'affichage est le nom lisible du site, utilisé dans l'administrateur et dans les modèles d'identification. Le nom de domaine est utilisé pour la génération et la validation d'URL, comme dans un plan de site.
L'application de redirection utilise des redirections permanentes (301) par défaut, ce qui est généralement ce que vous souhaitez à des fins de référencement. Il est important d'examiner régulièrement vos redirections et de surveiller les performances sur un site Web de production, car un grand nombre de redirections peuvent avoir un impact sur les performances, et vous pouvez examiner les options de mise en cache si cela pose un problème. N'oubliez pas non plus d'utiliser des URL relatives pour les nouveaux chemins afin de faciliter la transition entre les environnements local, intermédiaire et de production. Un dernier conseil consiste à ajouter des tests pour confirmer que les redirections fonctionnent comme prévu.
Si vous souhaitez des conseils supplémentaires pour optimiser le référencement de votre site Django, consultez la liste des tutoriels sur ce sujet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!