<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>奔向远方 &#187; SEO</title>
	<atom:link href="http://www.tisswb.com/archives/tag/seo/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tisswb.com</link>
	<description>结婚开始倒计时了，高兴~</description>
	<lastBuildDate>Tue, 19 Jul 2011 09:30:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>网站SEO小技巧汇总</title>
		<link>http://www.tisswb.com/archives/219.html</link>
		<comments>http://www.tisswb.com/archives/219.html#comments</comments>
		<pubDate>Fri, 19 Dec 2008 16:51:47 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[东拉西扯]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=219</guid>
		<description><![CDATA[最近跟朋友研究了一下seo，总结了几条小技巧，对于我来说还是比较新的知识。
1.利用yahoo、google提供的能建站的地方建立一个要推广站的影子站点，每天更新，每次都提供链接，加大引蜘蛛的力度
2.热门博客建立网站博客，每天更新，加上自己网站的链接，然后去首页顶贴～，最好是出现在热门的第一页里
3.网站持续更新，每天都有新内容，要多有原创内容。
4.新闻及知识类的可以采集，其他的特色类的一定要尽量自己原创。
5.原创内容重要，链接也同样重要，到热门的论坛里在自己的签名里加上链接，抢楼也是一个很好的方法
6.外部链接重要，内部链接也同样需要重视。
好啦，最近之发现了这些，慢慢会继续补充的～
]]></description>
			<content:encoded><![CDATA[<p>最近跟朋友研究了一下seo，总结了几条小技巧，对于我来说还是比较新的知识。</p>
<p>1.利用yahoo、google提供的能建站的地方建立一个要推广站的影子站点，每天更新，每次都提供链接，加大引蜘蛛的力度</p>
<p>2.热门博客建立网站博客，每天更新，加上自己网站的链接，然后去首页顶贴～，最好是出现在热门的第一页里</p>
<p>3.网站持续更新，每天都有新内容，要多有原创内容。</p>
<p>4.新闻及知识类的可以采集，其他的特色类的一定要尽量自己原创。</p>
<p>5.原创内容重要，链接也同样重要，到热门的论坛里在自己的签名里加上链接，抢楼也是一个很好的方法</p>
<p>6.外部链接重要，内部链接也同样需要重视。</p>
<p>好啦，最近之发现了这些，慢慢会继续补充的～</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/219.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discuz论坛SEO方案</title>
		<link>http://www.tisswb.com/archives/78.html</link>
		<comments>http://www.tisswb.com/archives/78.html#comments</comments>
		<pubDate>Thu, 26 Jun 2008 03:36:41 +0000</pubDate>
		<dc:creator>笨二十一</dc:creator>
				<category><![CDATA[Web技术]]></category>
		<category><![CDATA[discuz]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.tisswb.cn/?p=78</guid>
		<description><![CDATA[假设discuz已启用伪静态功能，使用5.0/5.5 GBK 版本；
1、meta,content 优化
2、内容页的网页复制问题
3、robots.txt使用及其它
更新
discuz5.5的robots.txt问题
DZ 禁止一个版面帖子的收录的补充
一、meta的优化
discuz的后台可以对meta信息进行设置，甚至可以添加自己的头部信息，但它的设置都是针对于所有页面的，全部页面都拥有相同的keywords和description是SEO所不赞成的。
方案一:删除meta
<span class="readmore"><a href="http://www.tisswb.com/archives/78.html" title="Discuz论坛SEO方案" target="_blank">阅读全文——共6477字</a></span>]]></description>
			<content:encoded><![CDATA[<p>假设discuz已启用伪静态功能，使用5.0/5.5 GBK 版本；</p>
<p>1、meta,content 优化<br />
2、内容页的网页复制问题<br />
3、robots.txt使用及其它</p>
<p>更新<br />
discuz5.5的robots.txt问题<br />
DZ 禁止一个版面帖子的收录的补充<br />
一、meta的优化</p>
<p>discuz的后台可以对meta信息进行设置，甚至可以添加自己的头部信息，但它的设置都是针对于所有页面的，全部页面都拥有相同的keywords和description是SEO所不赞成的。<br />
方案一:删除meta</p>
<p>修改页头模板文件 templates/default/header.htm：将meta的keywords和description标签删除。</p>
<p>这两个标签作用很小了，而且还有discuz自带的一些无用信息，用得不好反而会有坏作用，因此宁缺勿滥。<br />
方案二:定制meta</p>
<p>本部分实现了将内容页keywords设为帖子标题，description为内容前100字；也实现了主页与各版列表页meta的单独设置（不同版的不同，同一版各列表页相同）。</p>
<p>1.修改页头模板文件 templatesdefaultheader.htm：将meta的keywords和description标签改为如下形式</p>
<p> </p>
<p> <br />
这里的$seokeywords、$seodescription就是后台设置的那个值，下面说怎么定制这个值；{$metakeywords}是奇虎的关键字，留下以后处理</p>
<p>2.内容页（viewthread）设置keywords为帖子标题，description为内容前100字</p>
<p>2.1修改 viewthread.php 文件：<br />
在 include template(&#8216;viewthread&#8217;); (更新:dz5.5为iinclude template($iscircle ? &#8216;supesite_viewthread&#8217; : &#8216;viewthread&#8217;); ) 语句的上面加入一行：<br />
require_once DISCUZ_ROOT.&#8217;./include/bmt.thread.inc.php&#8217;;</p>
<p>2.2创建 include/bmt.thread.inc.php 文件，内容为</p>
<p> </p>
<p>&lt;!&#8211;p&lt;br&#8211;&gt;if(!defined(&#8216;IN_DISCUZ&#8217;)) { exit(&#8216;Access Denied&#8217;); }</p>
<p>$seokeywords = strip_tags($thread['subject']); //关键字设为帖子的标题<br />
//(已更新: nethome 提出问题，当启用主题分类并允许按类别浏览时，原来代码会有问题。所以加了标签过滤,本来在viewthread.php中改更好，为以后升级方便，还是放在这里吧，subject很短，不会影响效率)</p>
<p>$seodescription = current( $postlist );//description取文章内容的前100字<br />
$seodescription = mb_substr( $seodescription['message'],0,100,&#8221;gb2312&#8243; );<br />
$seodescription = htmlspecialchars( strip_tags($seodescription) );<br />
?&amp;gt;<br />
*此处数字和个别函数适用于GBK版本</p>
<p>最后一行作用是过滤内容中的html，否则在meta中会引起语法错误。先是去除HTML标签，但因为这里是前100字，有可能html标签已经被截断了，所以又用了htmlspecialchars转义一下，有可能会有些垃圾信息。<br />
当然也可以在截取之前用strip_tags去除html标签，可能效率会差了。</p>
<p>*所以此处表达式您需要根据自己的情况修改。<br />
我目前用的是preg_replace( &#8216;/[^xa1-xff]/&#8217;, &#8221;, $seodescription )，即过滤汉字以外的所在内容，但这样会损失英文关键字。</p>
<p>别外说明，此处数据都是viewthread.php已取好的，所以不会产生额外的数据库操作，只是做了字符串处理，不会引响效率。</p>
<p>3.列表页（forumdisplay）设置不同的keywords和description</p>
<p>3.1修改 forumdisplay.php</p>
<p>文件，在 include template(&#8216;forumdisplay&#8217;); 语句上面添加<br />
require_once DISCUZ_ROOT.&#8217;./include/bmt.forum.inc.php&#8217;;</p>
<p>3.2创建 include/bmt.forum.inc.php 文件，内容为<br />
&lt;!&#8211;p&lt;br&#8211;&gt;if(!defined(&#8216;IN_DISCUZ&#8217;)) { exit(&#8216;Access Denied&#8217;); }<br />
$seokeywords = $forum['name'];<br />
$seodescription = $forum['description'];</p>
<p>switch ( $forum['fid'] ){<br />
case 1: //此数字为版的ID号，不同版设置不同的meta<br />
$seokeywords = &#8216;key1,key2,&#8230;&#8217;;<br />
$seodescription = &#8216;xxxx xxxx xxxx&#8217;;<br />
break;<br />
case 2:<br />
$seokeywords = &#8216;key1,key2,&#8230;&#8217;;<br />
$seodescription = &#8216;xxxx xxxx xxxx&#8217;;<br />
break;</p>
<p>}<br />
?&amp;gt;<br />
//更新：一般情况下可以不用switch和case，列表页的关键字为版名，说明为版的说明,若要对某个版设置特殊的关键字和说明，可以设置case。这样解决了版面很多时要设置很多case语句，加快了程序执行速度(不了解php，JAVA的 case进行了优化，执行很快)</p>
<p>使用修改文件来实现，每版的meta改起来不方便，感觉有些弱智，呵呵。但没有改数据库，用了两个单独的文件，修改了两个文件也很简单，这样升级或迁移更方便吧</p>
<p>case虽然多了一些，但比起读数据库的记录，速度应该快很多</p>
<p>4.主页meta<br />
在后台设置即可。（如果2、3不做，则meta也同主页）<br />
content的优化<br />
discuz有个archiver，一是URL容易收录，二是页面比较干静，还有description会从正文中取内容，但archiver没有对内容中〔b〕〔url〕之类的解析，那些标签起不到作用，原样显示还会增加垃圾信息。<br />
本部分主要做两方面的优化，一是去除内容页的无用信息，二是给标题加上</p>
<p> <br />
&lt;h1&gt;。加上伪静态和上篇meta的优化，效果就超过了archiver，因此可以在后台禁用它，还减少了复制网页。实施方案</p>
<p>1.隐藏内容页（viewthread）中的无用信息：<br />
修改内容页模板文件 templates/default/viewthread.htm：</p>
<p>用&lt;!&#8211;{if $discuz_uid}&#8211;&gt; &lt;!&#8211;{/if}&#8211;&gt;将要隐藏的信息包含起来。<br />
准确的说是当游客(bots)访问时，隐藏那些信息，当用户登录后是正常的，所以不影响使用。<br />
这些信息主要指的是左侧用户信息栏、（资料 个人空间 主页 短消息 等等）、用户的签名(隐藏后不怕签名的内容影响正文，链接也不起作用了:P)<br />
以住相关文章</p>
<p>2.为标题加上</p>
<p> <br />
&lt;h1&gt;标签<br />
修改内容页模板文件 templates/default/viewthread.htm：<br />
将 &lt;span class=&#8221;bold&#8221;&gt;$post[subject]&lt;/span&gt;替换为<br />
&lt;h1&gt;$post[subject]&lt;/h1&gt;<br />
定制&#8221;本帖最后由 XXX 于 xxxxxx 编辑&#8221;内容</p>
<p>修改文件 templates/default/misc.lang.php：将下面两行改成您喜欢的内容：<br />
&#8216;post_edit&#8217; =&amp;gt; &#8216;nn[[i]] 本帖最后由 $editor 于 $edittime 编辑 [/i]]&#8217;,<br />
&#8216;post_edit_regexp&#8217; =&amp;gt; &#8216;/n{2}[[i] 本帖最后由 .*? 于 .*? 编辑 [/i]]$/s&#8217;,</p>
<p>比如我改成 [ 网站名 URL xxx 于 xxxx 编辑]。改程序无聊时的自娱，呵呵<br />
注意上下两个表达式要匹配。为了防止解析方括号是全角，不要复制后在文件中查找。</p>
<p>二、内容页的网页复制问题</p>
<p>看看内容页的URL大家就知道了：thread-(tid)-(page)-(forumdisplay page).html，可以看出最后一节表示的是此帖在列表页的第几页。所以，当您的帖子越来越多，这个帖就会由第一页到第二页&#8230;，它的URL就会不断的变化。其实打开一个列表页就可以看出来，第2页的帖子链接的最后数字都是2，第3页的都是3,只是很少注意它。我是在SE的收录中发现复制网页越来越多，才对最后的数字注意的。</p>
<p>解决方法<br />
修改 forumdisplay.php 文件：<br />
将 $extra = rawurlencode(&#8220;page=$page$forumdisplayadd&#8221;); 语句替换为<br />
$extra = rawurlencode(&#8220;page=1$forumdisplayadd&#8221;);</p>
<p>语句中的page就是forumdisplay page，这样改后不管帖子在列表页的第几页，这个数都是1。</p>
<p>功能损失：当用户编辑帖子或版主管理帖子后，有个提示跳转页：选择转入列表页还是主题页，这时转入列表页的话，只能转到列表页第一页,而不管您原来停留在第几页。<br />
redirect的301重定向</p>
<p>在discuz论坛中可以看到类似redirect.php?tid=xxx&amp;amp;goto=lastpost#lastpost这样的链接，它的功能是实现&#8221;最新发表、最后发表、上一主题、下一主题&#8221;功能，仅这一个功能就可以给同一个内容页造成四份复制网页，因此将这样的链接301永久重定向到帖子的静态地址。</p>
<p>解决方法<br />
修改 redirect.php 文件：<br />
将前两个 require_once DISCUZ_ROOT.&#8217;./viewthread.php&#8217;; 语句替换为<br />
$bmt_url=&#8217;Location:/thread-&#8217;.$tid.&#8217;-&#8217;.$page.&#8217;-1.html&#8217;;<br />
header(&#8216;HTTP/1.1 301 Moved Permanently&#8217;);<br />
header( $bmt_url );<br />
将后两个 require_once DISCUZ_ROOT.&#8217;./viewthread.php&#8217;; 语句替换为<br />
$bmt_url=&#8217;Location:/thread-&#8217;.$tid.&#8217;-1-1.html&#8217;;<br />
header(&#8216;HTTP/1.1 301 Moved Permanently&#8217;);<br />
header( $bmt_url );</p>
<p>dz5.5的引用处也有个跳转，也可以做301：<br />
将 dheader(&#8220;Location: viewthread.php?tid=$post[tid]&amp;amp;page=$page#pid$pid&#8221;);替换为<br />
$bmt_url=&#8217;Location:/thread-&#8217;.$post[tid].&#8217;-&#8217;.$page.&#8217;-1.html#pid&#8217;.$pid;<br />
header(&#8216;HTTP/1.1 301 Moved Permanently&#8217;);<br />
header( $bmt_url );</p>
<p>***注意此处直接转到了静态地址，没有做判断是否开启伪静态功能，所以不开启会有问题</p>
<p>功能损失：转向到静态地址后，动态地址中类似#lastpost的锚点将无法起作用了，可能要手动滚屏了<br />
???好像没有影响锚点<br />
提示信息页的网页复制</p>
<p>这个问题和内容页也有着很大的关系，呵呵。如管理员设置允许游客浏览列表，而禁止浏览内容时，这些内容页都将返回一没有权限的提示信息页，但它们的URL 是不同的，这样就形成了严重的网页复制，此外还有其它形成的无权操作等。别一种提示信息如帖子不存在等，数量大了也会形成网页复制。这两种提示信息，都是通过showmessage函数分别调用nopermission.htm和showmessage.htm两个模板实现的。</p>
<p>解决方法<br />
1.创建另一个头模板文件 templates/default/header_disbots.htm<br />
内容同 header.htm 文件，但加入meta robot标签，如下</p>
<p> </p>
<p>2.分别修改 templates/default/nopermission.htm 和 templates/default/showmessage.htm 文件<br />
将它们第一行的 {template header} 替换为 {template header_disbots}</p>
<p>虽然对meta robots标签支持的不是很广泛，但这是比较省事的方法<br />
因为是提示信息页，用301来实现的话，还要传给转到的页好多信息，修改起来比较麻烦<br />
三、robots.txt使用</p>
<p>User-agent: *</p>
<p>#禁止一个版面的收录<br />
#如果有个水版，不想禁止游客权限，也不想SE收录，已免影响网站质量，可以用如下方法<br />
Disallow: /forum-1-</p>
<p>#数字即为要禁止版块的ID。<br />
#注意数字最后的 &#8211; 不要省略，否则连ID为11，12等1开头的版都禁了<br />
[更新]补充方法：再给内容页加meta robot禁止</p>
<p>#再禁网页复制<br />
Disallow: /viewthread.php<br />
#这个是内容页的动态形式，前面对伪静态做了优化并修改了很多的复制网页，因此这里动态形式如打印页等一定要禁止</p>
<p>Disallow: /forumdisplay.php<br />
#这个要慎重：列表页的动态形式，还包括精华、活动、投票等形式。我发现5.0的静态化不彻底，它的上一页下一页翻页仍是动态，这样如果禁止了，十页之后的内容就不能通这索引了。所以如果您站内的交差链接不丰富的话，不要在此禁止，以免影响收录。</p>
<p>hekaiyu说没有这个问题，去官方看了下5.5的确没问题(也许我的5.0本来没问题，也许官方在新版本中完善了正则表达式的替换规则)，这样更好了，禁止它，又干净了好多</p>
<p>#禁止其它无用内容<br />
Disallow: /profile<br />
#用户信息，不知为什么discuz也静态化了，一律禁止<br />
Disallow: /relatethread<br />
Disallow: /post<br />
Disallow: /blog<br />
Disallow: /member<br />
Disallow: /misc<br />
Disallow: /faq<br />
Disallow: /my<br />
Disallow: /pm<br />
Disallow: /digest<br />
Disallow: /status<br />
# &#8230; &#8230; 等等<br />
# &#8212;&#8211; robots.txt end &#8212;&#8212;<br />
[更新]dz5.5的robots.txt后部分给出的Disallow: post.php等是不合规范的，一定要在前面加上&#8221;/&#8221;。&amp;gt;&amp;gt;详细说明</p>
<p>首页URL问题</p>
<p>后台基本设置-&amp;gt;首页文件名如果不设置，会默认为index.php。所以站内到首页的链接为形式为http: //domain/index.php。而我们一般引用论坛首页或交换链接的形式一般是<a href="http://domain/">http://domain/</a>。实际是一样的，但SE可认为是两个 URL,而且一个拥有很多的内部链接，一个拥有较多的外部链接，所以哪个被降级都不是好事情，最好统一起来。这里的修改目标是http: //domain/的形式。</p>
<p>1.进入后台，基本设置-&amp;gt;首面文件名 设置为： /<br />
2.修改文件 member.php 将 header(&#8220;Location: {$boardurl}&#8221;.$indexname); 替换为<br />
if( $indexname==&#8217;/'){<br />
header(&#8220;Location: {$boardurl}&#8221;);<br />
}else{<br />
header(&#8220;Location: {$boardurl}&#8221;.$indexname);<br />
}</p>
<p>[更新]dz5.5为dheader</p>
<p>此修改处的功能是清除cookies后返回到首页，如不修改域名后就有两个/。暂时未发现使用/当首页文件名的其它问题<br />
结 束</p>
<p>除了文件的修改，有些地方要配合后台设置，前面都提到了，这里总结一下。主要有：1.URL静态化，只启用普通页面静态化就可以了；2.不要启用 Archiver功能；3.后台的keywords和description设置只是针对首页的（如果您没做列表页和内容页的meta修改则也应用到它们）;4.后台首页文件名为/（当然您也可以设置自己特定的）</p>
<p> &lt;/h1&gt;<br />
&lt;/h1&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tisswb.com/archives/78.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

