Le gestionnaire d'URL de Yii est un outil puissant pour créer des URL propres et adaptées au référencement. Au lieu de compter sur les URL par défaut, souvent encombrées générées par YII, vous pouvez définir des règles personnalisées qui transforment vos URL en quelque chose de plus convivial et optimisé par les moteurs de recherche. Cela implique la configuration du composant urlManager
dans le fichier de configuration de votre application ( config/web.php
ou config/main.php
, selon votre version YII).
Le cœur de la création d'URL conviviale du référencement réside dans l'utilisation des règles d'URL. Ces règles définissent le mappage entre la structure de l'itinéraire interne de votre application et les URL affichées à l'utilisateur. Par exemple, au lieu d'une URL comme /index.php?r=site/view&id=123
, vous pouvez créer une URL plus propre comme /article/123
.
Pour y parvenir, vous devez configurer la propriété rules
du composant urlManager
. Cette propriété est un tableau de règles, chacune définissant un modèle à correspondre et l'itinéraire correspondant. Voici un exemple:
<code class="php">'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => ['article']], //Example for RESTful APIs '<controller:>/<id:>' => '<controller>/view', // Matches /article/123 and routes to the 'view' action of the 'article' controller. '<controller:>/<action:>' => '<controller>/<action>', // Matches /article/create and routes to the 'create' action. // Add more rules as needed ], ],</action></controller></action:></controller:></controller></id:></controller:></code>
enablePrettyUrl
Active les jolies URL (supprimer index.php), et showScriptName
masque le nom du script (index.php) de l'URL. Les règles elles-mêmes utilisent des expressions régulières pour faire correspondre les segments d'URL. <controller:></controller:>
correspond à un ou plusieurs caractères alphanumériques pour le nom du contrôleur, et <id:></id:>
correspond à un ou plusieurs chiffres pour l'ID.
La création d'URL conviviales du référencement n'est que la première étape. L'optimisation de votre gestionnaire d'URL pour le référencement implique plusieurs meilleures pratiques:
/product/123
, considérez /product/awesome-widget
.-
), pas de soulignements ( _
). Les moteurs de recherche comprennent mieux les tirets.rules
en conséquence.urlManager
de Yii gère beaucoup, un module de réécriture URL dédié peut fournir des performances et une flexibilité supplémentaires. Ceci est particulièrement pertinent lorsqu'il s'agit de scénarios de réécriture complexes.La gestion efficace des paramètres d'URL est cruciale pour le référencement. Bien que les paramètres soient parfois nécessaires, vous devez vous efforcer de minimiser leur visibilité dans l'URL lorsque cela est possible.
En utilisant des paramètres nommés: au lieu de compter sur des paramètres de position, utilisez des paramètres nommés dans vos règles pour les rendre plus lisibles et maintenables.
<code class="php">'<controller>/<action>/<param1:>/<param2:>' => '<controller>/<action>',</action></controller></param2:></param1:></action></controller></code>
Cette règle vous permet d'accéder param1
et param2
dans votre action de contrôleur. Vous pouvez également utiliser des expressions régulières plus complexes pour valider les paramètres.
En utilisant des paramètres de requête avec parcimonie: bien que les paramètres de requête soient parfois inévitables, essayez d'éviter d'inclure des données sensibles ou des informations inutiles. Gardez-les concis et pertinent. Par exemple, /search?q=widget
est préférable à /search?q=widget&sort=relevance&page=2&filter=price
.
Création d'itinéraire personnalisée: pour les scénarios de routage complexes, vous pouvez créer des itinéraires personnalisés qui résument la logique de la gestion des paramètres.
Le gestionnaire d'URL de Yii peut gérer efficacement la redirection de l'URL, vous permettant de rediriger les anciennes URL obsolètes vers leurs nouvelles homologues conviviales. Ceci est essentiel pour maintenir le classement des moteurs de recherche et éviter 404 erreurs. Cela se fait en utilisant la propriété rules
du composant urlManager
. Vous pouvez définir les règles de redirection en utilisant le modèle suivant:
<code class="php">'urlManager' => [ // ... other configurations ... 'rules' => [ // ... other rules ... '<old-url>' => '<new-url>', //Simple redirect ['class' => 'yii\web\UrlRule', 'pattern' => '<old-url>', 'route' => '<new-url>', 'verb' => 'GET'], // More robust redirect with verb specification ], ],</new-url></old-url></new-url></old-url></code>
Remplacez <old-url></old-url>
par l'ancien motif d'URL et <new-url></new-url>
par la nouvelle URL, conviviale. Vous pouvez utiliser des expressions régulières dans le modèle <old-url></old-url>
pour correspondre à plusieurs variations d'anciennes URL. Par exemple, /old-article/(\d )
pourrait rediriger les anciennes URL de l'article vers leurs nouveaux homologues. Le paramètre verb
garantit que la redirection fonctionne uniquement pour les demandes de GET.
N'oubliez pas d'utiliser les redirections 301 (permanentes) vers le signal vers des moteurs de recherche que le contenu a définitivement déplacé. Cela aide à préserver le pagerank et à éviter de perdre la valeur du référencement. Vous pouvez y parvenir grâce à une approche plus avancée impliquant la création d'une action de contrôleur de redirection personnalisée ou l'utilisation d'une extension de redirection dédiée pour YII.
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!