
Введение
Карта сайта - одна из важных частей внестраничного SEO. Это полный обзор веб-сайта. Если вы пришли сюда, чтобы прочитать этот пост, вероятно, вы ищете, как создать динамическую карту сайта для своего веб-сайта Laravel. Есть несколько пакетов для создания карты сайта laravel, но здесь я покажу вам, как создать простую динамическую карту сайта без использования пакета карты сайта Laravel.
Шаги по созданию карты сайта в Laravel
- Определить маршрут
- Сделайте контроллер карты сайта
- Сделайте XML-ответ для рендеринга карты сайта.
Шаг 1. Определение роута
Определите простой маршрут получения в файле web.php
для обработки запроса sitemap.xml
.
Route::get('sitemap.xml','SitemapController@index');
Шаг 2. Создайте контроллер карты сайта
Создайте контроллер карты сайта с помощью команды artisan
, такой как php artisan make: controller SitemapController
, и выполните код для создания карты сайта.
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Post;
use Illuminate\Http\Request;
class SitemapController extends Controller
{
public function index(Request $r)
{
$posts = Post::orderBy('id','desc')->where('post_status', 'Publish')->get();
return response()->view('sitemap', compact('posts'))
->header('Content-Type', 'text/xml');
}
}
Шаг 3. Отправьте XML-ответ для рендеринга карты сайта
Создайте представление sitemap.blade.php
в каталоге resources / views
.
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
@foreach ($posts as $post)
<url>
<loc>{{url($post->slug_url)}}</loc>
<lastmod>{{ gmdate('Y-m-d\TH:i:s\Z',strtotime($post->updated_at)) }}</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
@endforeach
</urlset>
Ага, это просто. Наша карта сайта готова. Просто просмотрите http://example.com/sitemap.xml
Теперь вы можете отправить карту сайта своего сайта в поисковые системы, такие как Google, Bing, Яндекс, Yahoo и т. Д., Чтобы проиндексировать их набор результатов поиска. Надеюсь, что эти 3 шага простого динамического создания карты сайта с помощью Laravel помогут вам добиться успеха.