学习NO.1 发表于 2016-4-15 20:34:07

DISCUZ如何制作门户的百度SITEMAP

大家都知道,搜索引擎蜘蛛进入网站它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,就会找该站点的网站地图进行爬行。所以网站地图对于搜索引擎来说也是非常重要的一个文件。一般来说,搜索引擎蜘蛛爬行网站的深度不会太深,如果你的网站权重不高的话,最多蜘蛛爬行3层就算很不错了,如果你的网站内容很多,3层还展示不完,那就只有通过网站地图来告诉搜索引擎,让蜘蛛更加精准的了解你的网站内容有多少,并且通过网站地图蜘蛛会抓取更深一些的栏目页面,这也说明了网站地图的存在价值和重要性。根据以上介绍应该都对百度sitemap有一定的了解了。那么discuz如何制作门户的百度sitemap方法有两种:第一种是最常见的通过插件来实现,但是插件会增加独立ip空间的负担。所以道勤主机小编极力推荐第二种方法。
discuz如何制作门户的百度sitemap
制作思路:百度sitemap可以提交xml文件,所以我们可以利用discus内置的rss来实现。
1、文本编辑器(editplus)打开文件根目录下: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
3、文本编辑器(editplus)打开文件:portal_sitemap.php
1、查找:echo "<?xml version=\"1.0\" encoding=\"".$charset."\"?>\n"."<rss version=\"2.0\">\n"." <channel>\n".(count($catarray) > 1 ?" <title>{$_G}</title>\n"." <link>{$_G}forum.php</link>\n"." <description>Latest $num articles of all categories</description>\n":" <title>{$_G} - $catname</title>\n"." <link>{$_G}portal.php?mod=list&catid=$rsscatid</link>\n"." <description>Latest $num articles of $catname</description>\n")." <copyright>Copyright(C) {$_G}</copyright>\n"." <generator>discuz! Board by Comsenz Inc.</generator>\n"." <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>\n"." <ttl>$ttl</ttl>\n"." <image>\n"." <url>{$_G}static/image/common/logo_88_31.gif</url>\n"." <title>{$_G}</title>\n"." <link>{$_G}</link>\n"." </image>\n";修改为:echo "<?xml version=\"1.0\" encoding=\"".$charset."\"?>\n"." <urlset>\n";2、查找:echo " <item>\n"." <title>".$article['subject']."</title>\n"." <link>$_G".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article) : "portal.php?mod=view&aid=$article")."</link>\n"." <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".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article) : "portal.php?mod=view&aid=$article")."</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";//注释:注意显示条数,可以修改portal_sitemap.php这里:$num = 20; 程序默认是显示20条,可根据自己的需要更改。总结:通过以上方法修改后,访问站点地址例如:www.xxxx.com/portal.php?mod=sitemap,即可看到效果。百度sitemap提交这个地址即可。
页: [1]
查看完整版本: DISCUZ如何制作门户的百度SITEMAP