Laravel menyediakan sistem penghalaan yang mantap yang boleh dimanfaatkan untuk mewujudkan URL mesra SEO. Inilah cara anda dapat mencapai ini:
Gunakan segmen URL deskriptif : Daripada menggunakan ID generik atau angka dalam URL anda, gunakan kata kunci deskriptif. Sebagai contoh, bukannya /product/123
, menggunakan /product/awesome-widget
. Di Laravel, anda boleh mencapai ini dengan menggunakan parameter laluan dengan nama ekspresif:
<code class="php">Route::get('/product/{product}', 'ProductController@show')->name('product.show');</code>
Dalam kaedah ProductController@show
anda, anda boleh menggunakan medan slug
dan bukannya id
untuk dipadankan dengan laluan:
<code class="php">public function show(Product $product) { return view('product.show', ['product' => $product]); }</code>
Elakkan segmen dinamik apabila tidak perlu : Cuba simpan URL sebagai statik yang mungkin. Sebagai contoh, bukannya /category/{category}/product/{product}
, pertimbangkan /category-{category}/product/{product}
jika ia adalah struktur tetap. Ini boleh ditubuhkan sebagai:
<code class="php">Route::get('/category-{category}/product/{product}', 'ProductController@show')->name('product.show');</code>
Melaksanakan Pagination : Jika halaman anda mengandungi senarai item, gunakan penomboran dan masukkan nombor halaman dalam URL, seperti /products?page=2
. Sistem penomboran Laravel secara automatik boleh mengendalikan ini:
<code class="php">$products = Product::paginate(15); return view('products.index', ['products' => $products]);</code>
Gunakan penamaan laluan : Namakan laluan anda untuk menjadikannya lebih mudah diurus dan lebih mudah dirujuk dalam pandangan atau pengalihan anda. Ini juga membantu dengan generasi url:
<code class="php">Route::get('/about', 'AboutController@index')->name('about');</code>
Anda kemudian boleh menjana URL menggunakan nama laluan:
<code class="php">route('about'); // Generates '/about'</code>
Dengan melaksanakan strategi ini, anda boleh membuat URL yang lebih deskriptif, lebih mudah untuk enjin carian untuk indeks, dan lebih mesra pengguna.
Untuk menyusun laluan Laravel untuk SEO yang lebih baik, ikuti amalan terbaik ini:
/blog/post-title
bukan /blog/category/subcategory/post-title
./blog/post-title
lebih baik daripada /blog/posttitle
./category/subcategory/product
, penggunaan /product/category/subcategory
. Gunakan HTTPS : Pastikan semua laluan anda gunakan HTTPS. Ini adalah faktor ranking dan memastikan keselamatan laman web anda. Laravel menjadikan ini mudah dikonfigurasikan dalam fail .env
anda:
<code class="plaintext">APP_URL=https://yourdomain.com</code>
Melaksanakan URL kanonik di Laravel membantu mencegah isu kandungan pendua, yang dapat meningkatkan SEO anda. Inilah cara anda boleh melakukannya:
Tambah tag kanonik dalam pandangan anda : Anda boleh menambah tag kanonik ke bahagian HTML anda. Di Laravel, anda boleh melakukan ini dalam templat bilah anda:
<code class="php"> @if(isset($canonical)) <link rel="canonical" href="%7B%7B%20%24canonical%20%7D%7D"> @endif </code>
Kemudian, dalam pengawal anda, anda boleh menetapkan URL kanonik:
<code class="php">public function show(Product $product) { $canonical = route('product.show', $product); return view('product.show', compact('product', 'canonical')); }</code>
Mengendalikan kandungan paginated : Untuk kandungan paginated, anda harus menetapkan URL kanonik ke halaman pertama kandungan. Dalam penomboran Laravel, anda boleh menetapkan ini dalam pengawal anda:
<code class="php">public function index() { $products = Product::paginate(15); $canonical = route('products.index'); return view('products.index', compact('products', 'canonical')); }</code>
Automatikkan URL Canonical Dengan middleware : Untuk pendekatan yang lebih automatik, anda boleh menggunakan middleware untuk menetapkan URL kanonik. Buat middleware yang menambah tag kanonik kepada respons:
<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>
Kemudian, daftar middleware dalam app/Http/Kernel.php
:
<code class="php">protected $middleware = [ // ... \App\Http\Middleware\AddCanonicalUrl::class, ];</code>
Middleware ini akan menambah tag kanonik ke semua laluan yang mempunyai laluan yang dinamakan.
Beberapa alat dan pakej dapat membantu anda menganalisis dan mengoptimumkan SEO URL dalam aplikasi Laravel:
Laravel SEO : Pakej laravel-seo
menyediakan alat SEO yang mudah digunakan, termasuk tag meta, tag graf terbuka, dan kad Twitter. Anda boleh memasangnya melalui komposer:
<code class="bash">composer require artesaos/seotools</code>
Pakej ini membantu menguruskan tag SEO secara langsung dari pengawal anda, menjadikannya lebih mudah untuk menubuhkan URL kanonik dan elemen SEO yang lain.
Analisis Laravel : Pakej ini ( spatie/laravel-analytics
) membolehkan anda dengan mudah mengambil data dari Google Analytics. Anda boleh menggunakannya untuk memantau trafik dan penglibatan pengguna, yang penting untuk pengoptimuman SEO.
<code class="bash">composer require spatie/laravel-analytics</code>
Selepas menubuhkan pakej, anda boleh mengambil data analisis dalam aplikasi Laravel anda untuk memahami bagaimana pengguna berinteraksi dengan URL anda.
Sitemap Laravel : Pakej spatie/laravel-sitemap
membantu menjana dan mengurus tapak, yang penting untuk SEO. Pasangnya melalui komposer:
<code class="bash">composer require spatie/laravel-sitemap</code>
Anda kemudiannya boleh menghasilkan sitemap yang membantu enjin carian mengindeks URL anda dengan lebih berkesan.
Dengan menggunakan alat dan pakej ini, anda dapat meningkatkan SEO aplikasi Laravel anda dengan ketara, memastikan URL anda dioptimumkan untuk enjin carian dan pengalaman pengguna.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan ciri penghalaan Laravel untuk membuat URL mesra SEO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!