Grails 中的 XML 站点地图

     2023-02-27     83

关键词:

【中文标题】Grails 中的 XML 站点地图【英文标题】:XML sitemap in Grails 【发布时间】:2011-04-14 11:17:25 【问题描述】:

我正在尝试找出为 Grails 应用程序生成 XML 站点地图的最佳方法(如此处所述:http://www.sitemaps.org/)。我不知道有任何现有的插件可以做到这一点,所以我可能会构建一个。但是,我想首先获得社区的意见。除了支持标准控制器/动作之外,我认为支持内容驱动的应用程序以及可能基于标题属性生成 URL 的应用程序会很好。

你们会怎么做呢?您会考虑什么以及如何实施?

谢谢!

【问题讨论】:

【参考方案1】:

我正在使用 UrlMappings.groovy 在 Grails 上制作站点地图,并且不需要控制器来进行此练习。我把下一个代码放在 UrlMappings 中:

"/robots.txt" (view: "/robots")
"/sitemap.xml" (view: "/sitemap")

我将我的站点地图创建为带有 xml 编码的 gsp,sitemap.gsp 的示例:

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      <loc>http://www.putYourSite.com.py/</loc>

      <lastmod>putAdate</lastmod>

      <changefreq>daily</changefreq>

      <priority>1.0</priority>

   </url>

</urlset>

【讨论】:

【参考方案2】:

站点地图非常特定于每个应用程序,因此我不确定是否有足够的通用代码可以提取到插件中。

以下是我们为http://www.shareyourlove.com 生成站点地图的方式。正如你所看到的,由于 Groovy/Grails 的 XML 语法很好,它非常小而且 DRY

class SitemapController

        def sitemap = 
            render(contentType: 'text/xml', encoding: 'UTF-8') 
                mkp.yieldUnescaped '<?xml version="1.0" encoding="UTF-8"?>'
                urlset(xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9",
                        'xmlns:xsi': "http://www.w3.org/2001/XMLSchema-instance",
                        'xsi:schemaLocation': "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd") 
                    url 
                        loc(g.createLink(absolute: true, controller: 'home', action: 'view'))
                        changefreq('hourly')
                        priority(1.0)
                    
                    //more static pages here
                    ...
                    //add some dynamic entries
                    SomeDomain.list().each domain->
                    url 
                        loc(g.createLink(absolute: true, controller: 'some', action: 'view', id: domain.id))
                        changefreq('hourly')
                        priority(0.8)
                    
                
           
    

网址映射

class UrlMappings 
    static mappings = 

        "/sitemap"
            controller = 'sitemap'
            action = 'sitemap'
        
    

【讨论】:

啊,所以你正在即时构建它? 是的,由于动态部分以及它不会受到太多影响的事实,所以我们没有费心实现任何缓存(但这并不难)。跨度> @Don 我已将它们添加到答案中 这个BaseQueueController是从哪里来的? @CassioLandim 它是我们自己的基类,具有我们应用程序通用的逻辑。它不包含任何特定于站点地图生成的内容,我将更新示例

如何修复 PHP XML 站点地图编码错误

】如何修复PHPXML站点地图编码错误【英文标题】:howtofixPHPXMLsitemapencodingerror【发布时间】:2019-06-1003:06:09【问题描述】:我正在使用PHP创建XML站点地图。XML值来自数据库,并使用以下代码生成XML站点地图。header("Content-Type:applicat... 查看详情

如何手动创建 XML 站点地图? [复制]

】如何手动创建XML站点地图?[复制]【英文标题】:HowtocreateXMLSiteMapmanually?[duplicate]【发布时间】:2015-06-2422:47:20【问题描述】:如何在不使用任何插件的情况下创建xml站点地图?<?xmlversion="1.0"encoding="UTF-8"?><urlsetxmlns="http:/... 查看详情

无法访问放置在根文件夹中的 yii2 项目中的站点地图

】无法访问放置在根文件夹中的yii2项目中的站点地图【英文标题】:Cannotaccesssitemapinyii2projectplacedinrootfolder【发布时间】:2022-01-1619:13:43【问题描述】:我为我的yii2项目创建了一个sitemap.xml。我将它放在根文件夹中,但我似乎无... 查看详情

创建 XML 站点地图出现错误 [重复]

】创建XML站点地图出现错误[重复]【英文标题】:CreatingXMLsitemapgettingerror[duplicate]【发布时间】:2019-01-1819:08:12【问题描述】:我正在尝试为我的php脚本创建站点地图,我的代码是:$base_url="https://www.mywebsite.com/index.php?a=browse&b=... 查看详情

如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?

】如何从Google电子表格中的GoogleApps脚本自动更新“站点地图”功能?【英文标题】:Howtoautomaticallyupdate\'sitemap\'functionfromGoogleAppsScriptinGoogleSpreadsheet?【发布时间】:2019-06-0708:11:59【问题描述】:我对GoogleApps脚本很陌生。我正在... 查看详情

xmlmiva-自定义xml站点地图(代码片段)

查看详情

Wordpress Yoast 从 XML 站点地图中排除帖子

】WordpressYoast从XML站点地图中排除帖子【英文标题】:WordpressYoastexcludepostsfromXMLsitemap【发布时间】:2017-11-1518:07:14【问题描述】:我正在使用YoastSEO插件,我正在尝试使用“wpseo_sitemap_entry”过滤器从帖子XML站点地图中手动排除帖... 查看详情

javascript基于exportpathmap为nextjs静态站点生成站点地图xml(代码片段)

查看详情

使用 PHP 动态创建站点地图 [重复]

...辑很简单。我将所有^(.+)index_sitemal.xml请求转发到.htaccess中的index_sitemap.php文件。PHP脚本如下:<?phpheader("content-typ 查看详情

nuxt.js做站点地图(sitemap.xml)详解(代码片段)

前言在做跨境电商项目中seo是必须要做的,seo中站点地图(sitemap.xml,robots.txt)又是必不可少的,这里就记录一下nuxt中站点地图是如何做的。第一步:在根目录static目录下新建sitemap.jssitemap.xml文件的内容importaxiosfrom"axios"... 查看详情

nuxt.js做站点地图(sitemap.xml)详解(代码片段)

前言在做跨境电商项目中seo是必须要做的,seo中站点地图(sitemap.xml,robots.txt)又是必不可少的,这里就记录一下nuxt中站点地图是如何做的。第一步:安装@/nuxt/sitemapnpminstall@nuxtjs/sitemap第二步:在根目录static目录下新建sit... 查看详情

Python,从包含某个单词的 xml 站点地图中提取 url

】Python,从包含某个单词的xml站点地图中提取url【英文标题】:Python,extracturlsfromxmlsitemapthatcontainacertainword【发布时间】:2019-03-0516:59:20【问题描述】:我正在尝试从站点地图中提取URL中包含单词foo的所有URL。我已经设法提取了... 查看详情

wordpress免插件生成完整站点地图(sitemap.xml)的php代码

让这个代码更加完善,可以同时生成首页、文章、单页面、分类和标签的sitemap!一、PHP代码<?phprequire(‘./wp-blog-header.php‘);header("Content-type:text/xml");header(‘HTTP/1.1200OK‘);$posts_to_show=1000;echo‘<?xmlversion="1.0"encoding="U 查看详情

xml生成站点地图-将标题设置为content-type为application/xml//根据需要更改url(代码片段)

查看详情

xml生成站点地图-将标题设置为content-type为application/xml//根据需要更改url(代码片段)

查看详情

Grails 在 javascript 内的 GSP 站点中使用 grails var

】Grails在javascript内的GSP站点中使用grailsvar【英文标题】:GrailsusinggrailsvarinGSPSiteinsidejavascript【发布时间】:2011-10-2304:21:47【问题描述】:我有一个问题,在GSP文件的javascript代码中使用grails变量值。例如:我有一个会话值session.ge... 查看详情

gatsby-starter-blog 的站点地图

】gatsby-starter-blog的站点地图【英文标题】:sitemapforgatsby-starter-blog【发布时间】:2018-02-2201:18:50【问题描述】:目前我在为gatsby-starter-blog生成sitemap.xml时遇到问题。http://localhost:8000/sitemap.xml仍然没有找到。我已经在做什么:npmins... 查看详情

如何使用反应路由器生成站点地图

】如何使用反应路由器生成站点地图【英文标题】:Howtogeneratesitemapwithreactrouter【发布时间】:2016-08-2912:29:02【问题描述】:我试图弄清楚如何在reactJS服务器端(快速)网络应用程序中动态生成站点地图。我正在使用反应路由器... 查看详情