美文网首页
laravel下配置站点地图sitemap笔记!

laravel下配置站点地图sitemap笔记!

作者: DragonersLi | 来源:发表于2020-04-17 11:45 被阅读0次
站点地图sitemap是提升SEO重要部分,laravel中使用laravelium/site包配置,文档地址:https://gitlab.com/Laravelium/Sitemap
[root@launch-advisor-20190916 seavisa]# php artisan -V #查看laravel版本
Laravel Framework 5.8.29 #找到对应laravel版本的包安装

1.直接composer引入"laravelium/sitemap": "3.1.x-dev"或者
2.更新composer.json追加"laravelium/sitemap":"3.1.*",然后执行:composer update laravelium/sitemap
image.png
安装报错The Process class relies on proc_open, which is not available on your PHP installation.意思是安装依赖于proc_open这个函数,但是php.ini中已经禁止了,删除这个函数就可以了。
发布配置:php artisan vendor:publish --provider="Laravelium\Sitemap\SitemapServiceProvider"生成如下文件:
/config/sitemap.php
/resources/views/vendor/sitemap
/public/vendor/sitemap
手动或者使用命令php artisan make:controller SitemapController创建控制器
<?php

namespace App\Http\Controllers\Web;

use Illuminate\Support\Facades\App;
use App\Http\Controllers\BaseController;
use Illuminate\Http\Request;
use App\Models\{YmNews,YmProject,YmCountry};
class SitemapController extends BaseController
{
    public function __construct()
    { 
        parent::__construct(); 

    }
    public function index(Request $request) { 
        $url = [
        url('/'),
        url('project'),
        url('news'),
        url('country'),
        url('oversea/house'),
        url('expert'),
        url('pinggu'),
        url('aboutus'),
        
        ];
        
        $sitemap_contents = App::make("sitemap");// 创建一个生成站点地图的对象
        
        $sitemap_contents->setCache('laravel.sitemap_contents', 3600);// 设置缓存
       
        $blogs = YmNews::all();        
        foreach ($blogs as $blog)
        {   
            $url[] = url('news/info/'.$blog->id); 
        }
        
        $projects = YmProject::all();        
        foreach ($projects as $project)
        {   
            $url[] = url('yimin/'.$project->title_en);
        }
        
        $countrys = YmCountry::all();
        foreach ($countrys as $country)
        {   
            $url[] = url('project/'.$country->id);
        } 
            
        $dateTime = date('Y-m-d H:i:s');
        foreach($url as $k=>$v){
            $sitemap_contents->add($v, $dateTime,'1.0','daily');
        }
        // 渲染站点地图(options: 'xml' (default), 'html', 'txt', 'ror-rss', 'ror-rdf')
        return $sitemap_contents->render('xml');
    }
 

 
}


添加路由:Route::get('sitemap', ['uses' => 'SitemapController@index', 'as' => 'sitemap']);
浏览器访问效果:
image.png
具体使用方法参考文档:https://gitlab.com/Laravelium/Sitemap/-/wikis/Dynamic-sitemap
百度小程序提交不识别:
image.png
解决方法更改路由,让原链接https://m.seavisa.cn/sitemap变更为https://m.seavisa.cn/sitemap.xml
#原路由
    Route::get('sitemap', ['uses' => 'SitemapController@index',     'as' => 'sitemap']);
#更改后的路由 
    Route::get('sitemap.xml', ['uses' => 'SitemapController@index',     'as' => 'sitemap.xml']);

相关文章

  • laravel下配置站点地图sitemap笔记!

    站点地图sitemap是提升SEO重要部分,laravel中使用laravelium/site包配置,文档地址:h...

  • 【读书笔记1】关于Axure的基本概念

    1、网站地图(Sitemap) 这个区域会列出当前站点的地图。站点地图是树状的,以Home(首页)为根节点。 2、...

  • 独立站百科29 什么是站点地图

    sitemap,站点地图,不是真正的地图,而是网站所有的链接的集合,站点地图的作用是帮助搜索引擎快速的爬取和收录网...

  • 网页地图

    网页地图是什么?网页地图就是网站地图、站点地图、sitemap。网页地图是一个网站所有链接的容器。很多网站的连接层...

  • 网站地图是什么

    网站地图是什么?网站地图又叫站点地图或者Sitemap,网站地图是一个包含了大量网站链接的文件,这些链接是这个网站...

  • NodeJs生成sitemap站点地图

    如果博客是使用Hexo管理的,sitemap可以使用插件来生成。但对于一个内容管理网站,后端可能是express、...

  • Flarum beta9 站点地图 sitemap 安装

    Flarum beta9 站点地图 sitemap 安装 可以使用Bazaar或手动安装,手动安装命令如下: 如果...

  • Hexo博客Next主题SEO优化方法

    添加站点地图 安装插件 需要安装两个插件来生成 sitemap 文件,前一个是传统的 sitemap,后一个是百度...

  • sitemap网站地图

    什么是sitemap网站地图?什么是网站地图?什么是sitemap? 网站地图也就是sitemap是一个网站所有链...

  • BurpSuit基本模块

    BurpSuit学习笔记 软件使用部分 Target(目标网址)--- sitemap网站地图,用于spider后...

网友评论

      本文标题:laravel下配置站点地图sitemap笔记!

      本文链接:https://www.haomeiwen.com/subject/osvprxtx.html