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

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

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

765

主题

779

帖子

3万

积分

董事

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

积分
33025
发表于 19-4-26 20:08:11 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
    实现思路: 7 e. O/ m  K/ G$ g
因为百度sitemap可以提交xml文件,所以我们可以利用discus内置的rss来实现。
) d' M: g, i0 F( R' a实现方法: # z% Z9 o/ o: e& z& e0 h' S( M) A
1、打开根目录的portal.php   文件 7 q2 F/ Y' P( o* V) v+ H
找到
3 j/ l: d8 n' U4 a' [
  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>
复制代码

( |+ o& c3 U2 J. S+ d 修改为
& W% }8 s0 _# W+ ~: i, ~
  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>
复制代码

# E" T. z" R- |$ v 2、找到 source/module/portal/portal_rss.php 文件并复制一份,命名为 portal_sitemap.php 7 u) u: e3 ]7 P+ k: p. z
打开 portal_sitemap.php 文件 5 r9 z+ ~1 |3 V  ~7 n; M2 `7 e
找到
) K4 W, v" a+ T$ F4 h
  1. <font size="3">echo      "<?xml version="1.0" encoding="".$charset.""?>\n". ( U! \$ ^/ U! O: }
  2.       "<rss version="2.0">\n". * t5 [# Z3 J# U
  3.       "  <channel>\n". 7 a2 {: ?3 i0 H
  4.       (count($catarray) > 1 ? 6 @  m9 `) Q9 B: y: W3 q) E
  5.            "    <title>{$_G[setting][bbname]}</title>\n".
    9 C4 [& r3 [3 G$ M
  6.            "    <link>{$_G[siteurl]}forum.php</link>\n".
    0 ~! `+ ]& p" Y3 o  D! H3 H8 H
  7.            "    <description>Latest $num articles of all categories</description>\n"
    ' P# t8 w8 R3 U% f2 `4 e
  8.            :
    6 ?( Z1 V7 O* D0 }
  9.            "    <title>{$_G[setting][bbname]} - $catname</title>\n". $ m: J# \3 c5 L
  10.            "    <link>{$_G[siteurl]}portal.php?mod=list&catid=$rsscatid</link>\n". 8 [0 E6 Z8 Q8 t: |( ~
  11.            "    <description>Latest $num articles of $catname</description>\n"
    6 Q8 p) d' H/ n# G$ @& c+ {- w1 i
  12.       ). : l6 Y8 f! _  q) E* S" L
  13.       "    <copyright>Copyright(C) {$_G[setting][bbname]}</copyright>\n". 0 z6 \4 O" w' u2 B( n$ j% q
  14.       "    <generator>Discuz! Board by Comsenz Inc.</generator>\n".
    $ R" a) ^( K! ]' o- v/ K
  15.       "    <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>\n". ! `) y& N. M; x6 @4 }( H
  16.       "    <ttl>$ttl</ttl>\n".
    + r. x: r& N( }2 x) }: F) `
  17.       "    <image>\n".
    : n$ O4 b' W! ^3 w4 S. q  n
  18.       "      <url>{$_G[siteurl]}static/image/common/logo_88_31.gif</url>\n".
    , S1 Z) @- P9 d) _5 P/ b' u; E
  19.       "      <title>{$_G[setting][bbname]}</title>\n".
    % j( h! Q. b* n. E
  20.       "      <link>{$_G[siteurl]}</link>\n".
    / ]+ d( w) F. T) Q  Z/ S9 v
  21.       "    </image>\n"; </font>
复制代码
修改为 6 y7 ]$ }5 i! r: g
  1. <font size="3">echo      "<?xml version="1.0" encoding="".$charset.""?>\n".
    " r4 J9 g; d9 d1 h0 R
  2.       "  <urlset>\n"; </font>
复制代码

9 T" I, }6 J1 l4 x. r 找到
- H; P7 \& d  w/ D: N
  1. <font size="3">echo      "    <item>\n".
    # n& y0 T4 E8 \) }% i& W! s. v+ X
  2.                           "      <title>".$article['subject']."</title>\n". 9 H3 `: @+ \6 U% j( l6 Y: f
  3.                           "      <link>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</link>\n".
    4 R; p0 Y. ?& {- `+ o
  4.                           "      <description><![CDATA[".dhtmlspecialchars($article['description'])."]]></description>\n".
    * _% H. R9 L) u$ e/ X
  5.                           "      <category>".dhtmlspecialchars($article['catname'])."</category>\n".
    9 z. w. E+ _. h( N; \- W/ o5 Z0 T# e; G
  6.                           "      <author>".dhtmlspecialchars($article['author'])."</author>\n".
    + Y* A# ?% c* A( \: x& ^/ g1 M
  7.                           ($attachfile ? '<enclosure url="'.$filename.'" length="'.$attachsize.'" type="image/jpeg" />'."\n" : '').
    1 V+ ^; C* m+ g  W. T! t4 R, R4 c
  8.                           "      <pubDate>".gmdate('r', $article['dateline'])."</pubDate>\n".
    8 d4 w- t; {) c) s' Z4 e
  9.                           "    </item>\n"; </font>
复制代码

+ e/ J3 N6 g  V1 {  V 修改为
& V) I: ~5 b5 O& o: N# A+ c
  1. <font size="3">echo      "    <url>\n".
    - C' _) L( ]& I* o
  2.                           "      <loc>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</loc>\n".
    5 S9 i4 j. X* Z# b4 ^  c3 T
  3.                           "      <lastmod>".date('Y-m-d', $article['dateline'])."</lastmod>\n". 6 Q  Z/ G1 u2 j0 T6 \& P
  4.                                          "      <changefreq>daily</changefreq>\n".
    # ]  B) G; n  @5 N1 h1 Z& Q/ P
  5.                                          "      <priority>1.0</priority>\n". ' m' d+ F6 I3 B& W6 }
  6.                           "    </url>\n"; </font>
复制代码

+ C% J1 h0 C5 T+ J9 { 找到 " w# Q0 t! ~! H
  1. <font size="3">echo      "  </channel>\n". 3 x/ ?  ~9 ~% u8 h+ G
  2.       "</rss>"; </font>
复制代码

$ @  y$ [, C' J 修改为 " p( A* d4 N0 A) I, S
  1. <font size="3">echo      "  </urlset>\n"; </font>
复制代码
: h. k% Z% m; j/ b; _0 O6 |
# ^7 A6 S2 h- A" G; Z# d
然后访问地址:http:/域名/ portal.php?mod=sitemap即可看到效果,百度sitemap提交这个地址即可。
& G8 C7 Z. y- y5 F$ a2 w 注意显示条数,可以修改portal_sitemap.php这里:$num = 20;  程序默认是显示20条,可根据自己的需要更改。  

; g! P! o! C! g5 i, \5 f
, L/ ?4 J9 m& w$ Z8 ]" X                                                    
网站简介

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