ホームページ >PHPフレームワーク >YII >YiiのURLマネージャーを使用してSEOに優しいURLを作成するにはどうすればよいですか?
YiiのURLマネージャーは、クリーンでSEOに優しいURLを作成するための強力なツールです。 YIIによって生成されるデフォルトの散らかったURLに依存する代わりに、URLをよりユーザーフレンドリーで検索エンジン最適化に変換するカスタムルールを定義できます。これには、アプリケーションの構成ファイル( config/web.php
またはconfig/main.php
)内でurlManager
コンポーネントを構成することが含まれます。
SEOに優しいURL作成の中核は、URLルールを使用することにあります。これらのルールは、アプリケーションの内部ルート構造とユーザーに表示されるURLとの間のマッピングを定義します。たとえば、 /index.php?r=site/view&id=123
のようなURLの代わりに、 /article/123
のようなクリーンなURLを作成できます。
これを達成するには、 urlManager
コンポーネントのrules
プロパティを構成する必要があります。このプロパティは一連のルールであり、それぞれが一致するパターンと対応するルートを定義します。これが例です:
<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
Prettyurlは、Pretty URL(index.phpの削除)を有効にし、 showScriptName
URLからスクリプト名(index.php)を隠します。ルール自体は、正規表現を使用してURLセグメントを一致させます。 <controller:></controller:>
コントローラー名の1つ以上の英数字を一致させ、 <id:></id:>
IDの1桁以上に一致します。
SEOに優しいURLを作成することは、最初のステップにすぎません。 SEOのURLマネージャーを最適化するには、いくつかのベストプラクティスが含まれます。
/product/123
の代わりに、 /product/awesome-widget
検討してください。_
)ではなく、ハイフン( -
)を使用してURLに個別の単語を使用します。検索エンジンはハイフンをよりよく理解しています。rules
を更新してください。urlManager
多くを処理しますが、専用のURL書き換えモジュールは、追加のパフォーマンスと柔軟性を提供できます。これは、複雑な書き換えシナリオを扱う場合に特に関連しています。SEOにとって、URLパラメーターを効果的に管理することが重要です。パラメーターが必要な場合がありますが、可能な場合はURLでの可視性を最小限に抑えるよう努力する必要があります。
指定されたパラメーターの使用:位置パラメーターに依存する代わりに、ルールで名前付きパラメーターを使用して、それらをより読みやすく保守可能にします。
<code class="php">'<controller>/<action>/<param1:>/<param2:>' => '<controller>/<action>',</action></controller></param2:></param1:></action></controller></code>
このルールを使用すると、コントローラーアクションでparam1
とparam2
にアクセスできます。より複雑な正規表現を使用して、パラメーターを検証することもできます。
クエリパラメーターを控えめに使用する:クエリパラメーターは避けられない場合がありますが、機密データや不要な情報を含めることを避けるようにしてください。それらを簡潔で関連性を保ちます。たとえば、 /search?q=widget
/search?q=widget&sort=relevance&page=2&filter=price
カスタムルート作成:複雑なルーティングシナリオの場合、パラメーター処理のロジックをカプセル化するカスタムルートを作成できます。
YiiのURLマネージャーは、URLのリダイレクトを効果的に処理でき、古くて古いURLを新しいSEOに優しいカウンターパートにリダイレクトできます。これは、検索エンジンのランキングを維持し、404エラーを回避するために不可欠です。これは、 urlManager
コンポーネントのrules
プロパティを使用して行われます。次のパターンを使用して、リダイレクトルールを定義できます。
<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>
<old-url></old-url>
古いURLパターンに置き、 <new-url></new-url>
新しいSEOに優しいURLに置き換えます。古いURLの複数のバリエーションに一致するように、 <old-url></old-url>
パターンの正規表現を使用できます。たとえば、 /old-article/(\d )
古い記事のURLを新しいカウンターパートにリダイレクトできます。 verb
パラメーターは、リダイレクトがGETリクエストに対してのみ機能することを保証します。
301(永久)リダイレクトを使用して、コンテンツが永続的に移動したことを検索するエンジンに信号を送ることを忘れないでください。これにより、Pagerankを保存し、SEOの価値の低下を避けるのに役立ちます。これは、カスタムリダイレクトコントローラーアクションの作成、またはYIIの専用リダイレクト拡張機能を利用することを含む、より高度なアプローチを通じて達成できます。
以上がYiiのURLマネージャーを使用してSEOに優しいURLを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。