首页 > 网站 > 建站经验 > 正文

discuz教程:制作门户的百度sitemap的方法

2024-04-25 20:44:00
字体:
来源:转载
供稿:网友

实现思路:

因为百度sitemap可以提交xml文件,所以我们可以利用discus内置的rss来实现。

实现方法:

1、打开根目录的 portal.php 文件

找到

if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index';

修改为

if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block', 'sitemap'))) $_GET['mod'] = 'index';

2、找到 source/module/portal/portal_rss.php 文件并复制一份,命名为 portal_sitemap.php

打开 portal_sitemap.php 文件

找到

echo "<?xml version=/"1.0/" encoding=/"".$charset."/"?>/n".

"<rss version=/"2.0/">/n".

" <channel>/n".

(count($catarray) > 1 ?

" <title>{$_G[setting][bbname]}</title>/n".

" <link>{$_G[siteurl]}forum.php</link>/n".

" <description>Latest $num articles of all categories</description>/n"

:

" <title>{$_G[setting][bbname]} - $catname</title>/n".

" <link>{$_G[siteurl]}portal.php?mod=list&catid=$rsscatid</link>/n".

" <description>Latest $num articles of $catname</description>/n"

).

" <copyright>Copyright(C) {$_G[setting][bbname]}</copyright>/n".

" <generator>Discuz! Board by Comsenz Inc.</generator>/n".

" <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>/n".

" <ttl>$ttl</ttl>/n".

" <image>/n".

" <url>{$_G[siteurl]}static/image/common/logo_88_31.gif</url>/n".

" <title>{$_G[setting][bbname]}</title>/n".

" <link>{$_G[siteurl]}</link>/n".

" </image>/n";

修改为

echo "<?xml version=/"1.0/" encoding=/"".$charset."/"?>/n".

" <urlset>/n";

找到

echo " <item>/n".

" <title>".$article['subject']."</title>/n".

" <link>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</link>/n".

" <description><![CDATA[".dhtmlspecialchars($article['description'])."]]></description>/n".

" <category>".dhtmlspecialchars($article['catname'])."</category>/n".

" <author>".dhtmlspecialchars($article['author'])."</author>/n".

($attachfile ? '<enclosure url="'.$filename.'" length="'.$attachsize.'" type="image/jpeg" />'."/n" : '').

" <pubDate>".gmdate('r', $article['dateline'])."</pubDate>/n".

" </item>/n";

修改为

echo " <url>/n".

" <loc>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</loc>/n".

" <lastmod>".date('Y-m-d', $article['dateline'])."</lastmod>/n".

" <changefreq>daily</changefreq>/n".

" <priority>1.0</priority>/n".

" </url>/n";

找到

echo " </channel>/n".

"</rss>";

修改为

echo " </urlset>/n";

然后访问地址即可看到效果,百度sitemap提交这个地址即可。

注意显示条数,可以修改portal_sitemap.php这里:$num = 20; 程序默认是显示20条,可根据自己的需要更改。

以上就是本文章的内容,希望对大家有所帮助

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表