Laravel提供了一個可靠的路由系統,可以利用該系統來創建SEO友好的URL。您可以實現這一目標:
使用描述性URL段:使用描述性關鍵字,而不是使用URL中的通用或數字ID。例如,而不是/product/123
,使用/product/awesome-widget
。在Laravel中,您可以使用具有表達名稱的路由參數來實現這一目標:
<code class="php">Route::get('/product/{product}', 'ProductController@show')->name('product.show');</code>
在您的ProductController@show
方法中,您可以使用slug
字段而不是id
匹配路由:
<code class="php">public function show(Product $product) { return view('product.show', ['product' => $product]); }</code>
在不必要的情況下避免動態段:嘗試使URL盡可能靜態。例如,如果是固定的結構,則請考慮/category/{category}/product/{product}
,請考慮/category-{category}/product/{product}
。可以將其設置為:
<code class="php">Route::get('/category-{category}/product/{product}', 'ProductController@show')->name('product.show');</code>
實施分頁:如果您的頁麵包含項目列表,請使用分頁並在URL中包含頁碼,例如/products?page=2
。 Laravel的分頁系統可以自動處理:
<code class="php">$products = Product::paginate(15); return view('products.index', ['products' => $products]);</code>
使用路由命名:命名路由,以使其更易於管理,更易於在視圖或重定向中引用。這也有助於URL生成:
<code class="php">Route::get('/about', 'AboutController@index')->name('about');</code>
然後,您可以使用路由名稱生成URL:
<code class="php">route('about'); // Generates '/about'</code>
通過實施這些策略,您可以創建更具描述性的URL,搜索引擎更容易索引,並且更友好。
要構建Laravel路線以改善SEO,請遵循以下最佳實踐:
/blog/post-title
而不是/blog/category/subcategory/post-title
。/blog/post-title
比/blog/posttitle
好。/category/subcategory/product
,使用/product/category/subcategory
。使用HTTPS :確保所有路線都使用HTTPS。這是一個排名因素,可確保您的網站的安全性。 Laravel使此易於在.env
文件中配置:
<code class="plaintext">APP_URL=https://yourdomain.com</code>
在Laravel中實施規範URL有助於防止重複的內容問題,從而改善您的SEO。您可以做到這一點:
在您的視圖中添加規範標籤:您可以在HTML的部分中添加一個規範標籤。在Laravel中,您可以在刀片模板中執行此操作:
<code class="php"> @if(isset($canonical)) <link rel="canonical" href="%7B%7B%20%24canonical%20%7D%7D"> @endif </code>
然後,在您的控制器中,您可以設置規範URL:
<code class="php">public function show(Product $product) { $canonical = route('product.show', $product); return view('product.show', compact('product', 'canonical')); }</code>
處理分頁的內容:對於分頁的內容,您應該將規範URL設置為內容的第一頁。在Laravel的分頁上,您可以在控制器中設置此設置:
<code class="php">public function index() { $products = Product::paginate(15); $canonical = route('products.index'); return view('products.index', compact('products', 'canonical')); }</code>
使用中間件自動化的規範URL :對於更自動化的方法,您可以使用中間件設置規範URL。創建一個中間件,將規範標籤添加到響應中:
<code class="php">namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class AddCanonicalUrl { public function handle(Request $request, Closure $next) { $response = $next($request); if ($request->route()) { $canonical = route($request->route()->getName(), $request->route()->parameters()); $response->headers->set('Link', '; rel="canonical"', false); } return $response; } }</code>
然後,在app/Http/Kernel.php
中註冊中間件:
<code class="php">protected $middleware = [ // ... \App\Http\Middleware\AddCanonicalUrl::class, ];</code>
此中間件將為具有命名路線的所有路線添加一個規範標籤。
幾種工具和軟件包可以幫助您在Laravel應用程序中分析和優化URL SEO:
Laravel SEO : laravel-seo
軟件包提供易於使用的SEO工具,包括元標記,打開的圖形標籤和Twitter卡。您可以通過作曲家安裝它:
<code class="bash">composer require artesaos/seotools</code>
該軟件包有助於直接從控制器中管理SEO標籤,從而更容易設置規範URL和其他SEO元素。
Laravel Analytics :此軟件包( spatie/laravel-analytics
)使您可以輕鬆地從Google Analytics(分析)中檢索數據。您可以使用它來監視流量和用戶參與度,這對於SEO優化至關重要。
<code class="bash">composer require spatie/laravel-analytics</code>
設置軟件包後,您可以在Laravel應用程序中獲取分析數據,以了解用戶如何與URL進行交互。
Laravel Sitemap : spatie/laravel-sitemap
軟件包有助於生成和管理SEO至關重要的站點地圖。通過作曲家安裝它:
<code class="bash">composer require spatie/laravel-sitemap</code>
然後,您可以生成一個站點地圖,以幫助搜索引擎更有效地索引您的URL。
通過使用這些工具和軟件包,您可以顯著增強Laravel應用程序的SEO,以確保您的URL可用於搜索引擎和用戶體驗。
以上是如何使用Laravel的路由功能來創建SEO友好的URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!