Web Analytics Made Easy - StatCounter
Главная Блог Создание динамической карты сайта для SEO в Laravel

Создание динамической карты сайта для SEO в Laravel

Создание динамической карты сайта для SEO в Laravel

Введение

Карта сайта - одна из важных частей внестраничного 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 помогут вам добиться успеха.

Источники

Generate dynamic sitemap in Laravel - SEO

Раз в неделю мы отправляем дайджест с самыми популярными статьями. Подпишитесь на наши новости и мы сделаем для вас бесплатно аудит вашего сайта.