腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

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

0
回复
1135
查看
[复制链接]

761

主题

775

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
32836
发表于 19-4-26 20:08:11 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
    实现思路:
  [2 j9 ~* q- n1 X 因为百度sitemap可以提交xml文件,所以我们可以利用discus内置的rss来实现。 2 e7 L( E+ H7 a
实现方法: * U' K5 I3 w2 A6 y% S
1、打开根目录的portal.php   文件 . ?# k6 ?, w) E0 r
找到 % Z1 o0 L; i8 W
  1. <font size="3">if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index'; </font>
复制代码
1 p9 b5 G. t: B# h0 m% o8 _& b" e" V% }
修改为 7 \' V+ q: d9 E/ d; i) J3 m
  1. <font size="3">if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block', 'sitemap'))) $_GET['mod'] = 'index'; </font>
复制代码
6 n# `0 P- i1 g/ R9 M
2、找到 source/module/portal/portal_rss.php 文件并复制一份,命名为 portal_sitemap.php - @+ |6 @( x4 c" p
打开 portal_sitemap.php 文件
. x, S0 e* `* P+ U 找到 ; B, a9 p+ ~7 {2 Z) [$ q
  1. <font size="3">echo      "<?xml version="1.0" encoding="".$charset.""?>\n". & d- ]1 C, ]4 v* V. Q( `
  2.       "<rss version="2.0">\n". ( o6 y1 o6 @6 e  j" f% `
  3.       "  <channel>\n".
    ; A, l, K# L' P# T" Y" a
  4.       (count($catarray) > 1 ?
    0 c; c- v/ @2 n5 N+ O1 I
  5.            "    <title>{$_G[setting][bbname]}</title>\n".
    3 d/ R3 C* P4 H" y8 i& W
  6.            "    <link>{$_G[siteurl]}forum.php</link>\n".
    # I) p$ m% q' `2 Z
  7.            "    <description>Latest $num articles of all categories</description>\n"
    5 {! u' u6 {$ Y: x
  8.            : " x) V: z0 v' S/ Q+ c
  9.            "    <title>{$_G[setting][bbname]} - $catname</title>\n". ! F6 X, P7 {/ h, H4 B. I
  10.            "    <link>{$_G[siteurl]}portal.php?mod=list&catid=$rsscatid</link>\n".
    6 @$ d- b0 k8 R! P/ i, X: g
  11.            "    <description>Latest $num articles of $catname</description>\n"
    . a) @0 |. v) d/ l! k/ j* h' J' Z
  12.       ).
    ' w7 X: X5 g) S0 d; R# o0 e# u8 d
  13.       "    <copyright>Copyright(C) {$_G[setting][bbname]}</copyright>\n".   S* f' O# c' `' \) w) h. ]' Z
  14.       "    <generator>Discuz! Board by Comsenz Inc.</generator>\n". % E8 p0 g, b& K/ v
  15.       "    <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>\n".
    " m) `* ~  b) o2 b
  16.       "    <ttl>$ttl</ttl>\n". + h0 V0 k) C$ M' |3 L1 I/ c
  17.       "    <image>\n".
    " m! z' `) `; p" v. r
  18.       "      <url>{$_G[siteurl]}static/image/common/logo_88_31.gif</url>\n". ; D+ N" j; K2 z0 X; I
  19.       "      <title>{$_G[setting][bbname]}</title>\n". & ~9 d, H' `( x/ @/ ]* \# x7 T
  20.       "      <link>{$_G[siteurl]}</link>\n". & N2 }) Z2 ]; `/ b
  21.       "    </image>\n"; </font>
复制代码
修改为 " l* g, |" s2 B6 {
  1. <font size="3">echo      "<?xml version="1.0" encoding="".$charset.""?>\n". ' i* d4 A8 r. a  B: l. N4 K( l
  2.       "  <urlset>\n"; </font>
复制代码

& b* n$ ?  S1 ^4 y- k 找到
- b+ V) {" T( \, I; ]2 i- A: q
  1. <font size="3">echo      "    <item>\n".
    3 A( k8 Q8 S5 r9 J* f
  2.                           "      <title>".$article['subject']."</title>\n". % w+ |7 ]5 H3 m3 o$ }) g* \/ a. v
  3.                           "      <link>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</link>\n".
    4 c& C0 Q4 t6 b; E
  4.                           "      <description><![CDATA[".dhtmlspecialchars($article['description'])."]]></description>\n".
    ) _/ x* M8 A- c2 _6 m
  5.                           "      <category>".dhtmlspecialchars($article['catname'])."</category>\n". 1 n; A, Z% g* D& I- d( I+ g# e  D
  6.                           "      <author>".dhtmlspecialchars($article['author'])."</author>\n".
    3 S* }9 X: K, v& X; t0 J
  7.                           ($attachfile ? '<enclosure url="'.$filename.'" length="'.$attachsize.'" type="image/jpeg" />'."\n" : ''). . h; D1 }$ c7 ^9 N5 x) u, s
  8.                           "      <pubDate>".gmdate('r', $article['dateline'])."</pubDate>\n".
    % j  s$ k' C7 ?1 h8 v, \2 q' p
  9.                           "    </item>\n"; </font>
复制代码
' b! m4 H0 F' V8 u, x; y- ^! a
修改为 ! }8 J# T( {) N
  1. <font size="3">echo      "    <url>\n".
    5 L& n' q0 S; N3 T' Y' k5 n
  2.                           "      <loc>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</loc>\n". % h2 ~* w3 Z( h
  3.                           "      <lastmod>".date('Y-m-d', $article['dateline'])."</lastmod>\n". ' P6 d" \# o# r. t
  4.                                          "      <changefreq>daily</changefreq>\n". ; Y: o0 A% h' I) n0 j
  5.                                          "      <priority>1.0</priority>\n".
    8 U; n- |- J( D! w! n9 U
  6.                           "    </url>\n"; </font>
复制代码
5 p; B% }9 r; F; ~
找到
1 u9 K' u: f* Z/ e8 Q5 {0 T6 w7 b
  1. <font size="3">echo      "  </channel>\n".
    7 a$ O0 `5 X5 S4 ^
  2.       "</rss>"; </font>
复制代码

6 }. g% g3 h3 k4 V* o 修改为 0 C& }+ `5 Z6 ^" v. L) }
  1. <font size="3">echo      "  </urlset>\n"; </font>
复制代码

  o- ^0 m* P; ?
1 J" _6 s" O# I# n2 F! h( u
然后访问地址:http:/域名/ portal.php?mod=sitemap即可看到效果,百度sitemap提交这个地址即可。 2 Y9 A% z0 K  K( e# Q) F
注意显示条数,可以修改portal_sitemap.php这里:$num = 20;  程序默认是显示20条,可根据自己的需要更改。  
! ?  }- _0 P. O) `/ Q; r
9 ]; P) M! ?5 T# K: |0 W
                                                    
网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除