wecenter作为一个问答社区,在SEO方面还是存在诸多要改善的地方。今天在社区找了一些方法,把网站地图和友情链接的问题解决了。
添加网站地图
第一步
在WECENTER的源文件下,找到APP文件夹,然后复制FEED文件夹,并改名为SITEMAP。
可以看到FEED文件夹下面只有一个文件main.php。用记事本或其它编辑器打开。修改以下代码:
- public function index_action()
- {
- TPL::assign('list', $this->model('posts')->get_posts_list('question', 1, 20, 'new', explode(',', $_GET['topic']), $_GET['category']));
- TPL::output('global/feed');
- }
改为
- public function index_action()
- {
- TPL::assign('list',$this->model('posts')->get_posts_list('question', 1, 10000, 'new', explode(',', $_GET['topic']), $_GET['category']));
- TPL::output('global/sitemap');
- }
- }
20条,改成了显示最新100000。 global/feed,改成了global/sitemap。 这是为了改模版
这一步就完成了
第二步
复制这个目录下的 /views/default/global/feed.tpl.htm 改名为 sitemap.tpl.htm
打开sitemap.tpl.htm文件,把原来的删掉,改成以下代码:
- <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
- <urlset>
- <?php foreach($this->list as $key => $val){ ?>
- <url>
- <?php if ($val['question_id']) { ?>
- <loc><?php echo get_js_url('/question/' . $val['question_id']); ?></loc>
- <?php } else { ?>
- <loc><?php echo get_js_url('/article/' . $val['id']); ?></loc>
- <?php } ?>
- <lastmod><?php echo date('Y-m-d', $val['add_time']); ?></lastmod>
- <changefreq>daily</changefreq>
- <priority>0.8</priority>
- </url>
- <?php } ?>
- </urlset>
第三步
在URL 链接显示样式: -》 自定义路由中加上这个代码:
- /sitemap/===/sitemap.xml
以上来自wencenter:
http://wenda.wecenter.com/question/19922
http://wenda.wecenter.com/article/1250
小结:我们知道,对于收录来说,可能主动推送作用更大些,但是对于社区来说,用户提问页面即产生,这样的页面推送给百度到底是有利还是有弊呢?
添加友情链接
友情链接无疑是非常重要的外链,然而wecenter缺没有,思享也不会改css,也不想用插件,用了一个很笨的方法:
复制/views/default/global/footer.tpl.htm文件 重新命名为seo_footer.tpl.htm
在<?php if (is_mobile(true)) { ?>之前
加入如下代码:
- <?php if (!$_GET['app'] OR $_GET['app'] == 'explore' and !$this->user_id) { ?>
- <div class="flink">
- <ul>
- <li>友情链接:
- <a href="http://ask.4xseo.com/sitemap.xml" target="_blank">网站地图
- </a>
- </li>
- </ul>
- </div>
- <?php } ?>
以上代码是友情链接就只出现在不登录、首页的情况下
麻烦点,添加友情链接找到这个底部文件添加就好了,不过好处就是不用改样式什么的,简单。