打印本文 打印本文 关闭窗口 关闭窗口
seowhy源码phpmyfaq程序标题优化
作者:武汉SEO闵涛  文章来源:本站原创  点击数1771  更新时间:2011/6/7 14:15:56  文章录入:mintao  责任编辑:mintao
seowhy源码phpmyfaq程序标题优化:seowhy基础指南部分用的源码是phpmyfaq v1.6,这是一款国外非常流行的问答系统,不仅支持多国语言,而且系统自身对seo非常的友好。
  seowhy用phpmyfaq做到了第一,phpmyfaq因为seowhy在国内开始流行。甚至有很多人都以模仿seowhy的主题为荣,接下来我要和大家分享的是用phpmyfaq的最高版本v2.6.9建站以及优化的全过程。
程序下载地址:download. ... =2.6.9&ext=.zip
演示地址:hao123/

一、程序的安装
  程序的大小为3.46MB,将程序上传到空间后,直接访问域名http://www。域名。com就可以进行安装,如图所示:(如果是一级目录的形式,就访问http://www。域名。com / phpmyfaq,程序本身不用做任何更改)



  安装过程大概需要3-5分钟,在安装完成后的界面上你会看到两个链接,分别是前台和后台的地址,下面还有一个表格,是官方用来做统计的,不必理会。
前台地址:http://www 。域名。com / index.php
后台地址:http:/ /www。域名。com / admin / index.php

二、问题汇总

  问题一:乱码问题
  乱码问题一共分两种,一个是页面中文乱码,另一个是数据库中文乱码

  页面中文乱码解决:用editplus将所有的文件的编码格式改为utf-8,在后续改模板的时候,也推荐用editplus来改,保存的时候也要存为utf-8格式的(v2.6.9不会出现页面乱码问题)

  数据库中文乱码解决:现象是在后台输入的中文,在前台都会以???的形式出现,这是因为phpMyFAQ 安装包自动生成的sql中,存在CHARSET=latin1,charset设置成latin1后,是不支持中文的。解决办法是安装完成后将数据库导出成sql格式文件,用editplus打开导出的sql,然后将所有的CHARSET=latin1,替换成CHARSET=utf8,接着删掉原来的表,最后用替换后的sql脚本恢复即可。

  问题二:标题修改问题

  如果没用过phpmyfaq你可能不知道,phpmyfaq用的是双标题,什么意思呢?程序刚安装完的默认标题格式为:
首页标题:phpMyFAQ Codename Portia -powered by phpMyFAQ 2.6.9
栏目页标题:phpMyFAQ Codename Portia - 栏目名
文章页标题:phpMyFAQ Codename Portia - 文章名

  这种格式和我们想要的格式不符,我们想要的格式是什么样的呢?大家请看演示地址hao123/,修改后的标题格式为:
首页标题:关键词或其他 - 网站名
栏目页标题:栏目名 - 网站名
文章页标题:文章名 - 网站名
这种写法才是我们想要的写法。那么如何修改成这种格式呢?方法有很多,我们采用最简单的一种。

1、进入后台依次展开“设置”——“系统设置”——“Main configuration”将系统名称留空,然后保存。
2、用editplus打开根目录下的index.php,在268行,将' -powered by phpMyFAQ ' . $faqconfig->get

('main.currentVersion');替换成'关键词或其他 ';
3、打开template目录下的index.tpl文件,将地四行的{title},修改为{title} - 网站
名。将37行的{header},修改为{header}网站名
4、将根目录下的index.php的263行、278行、284行、295行、304行、325行的“-”都去掉

提示:如果你非差看重网站的排名,你可以把第2步里的'关键词或其他'换成'网站名',将第3步里的'网站名'换成
'关键词或其他'

  问题三:静态url设置

  程序默认的url是动态形式的,不利于seo,我们要把url改成静态的。具体方法如下(空间要支持url重写,推荐使用linux空间):
1、用editplus打开根目录下_.htaccess文件,更改第27行的RewriteBase /phpmyfaq/ (你的安装目录是什么就把
/phpmyfaq/改写成什么),然后另存为.htaccess
2、进入后台,依次展开“设置”——“系统设置”——“Main configuration”,将启用mod_rewrite吗?打√,
然后保存。

  这个时候你会发现地址虽然是静态的了,但是格式是这样的:hao123/cat ... A4%A7%E5%85%A8.html
这是因为v2.6.9版本的phpmyfaq的url调用的是文章名,而不像1.x版本那样,调用的是id。我们可不可以修改呢?
答案当然是可以的,但是要不要修改呢?本人不建议修改。原因请看我与夫唯老师的一段对话:

请问夫维老师:网上很多文章都说百度不认识中文url,但是却能识别中文转码

例如有三个url(%E5%B9%BF%E5%B7%9E——中文为“广州”)
www。域名。com / %E5%B9%BF%E5%B7%9E.html
www。域名。com / guangzhou.html
www。域名。com / 广州.html
对于百度来说,这三中形式的url,哪种最好?哪种第二?哪种最不可取?

夫唯:
从上到下。广州.html 暂时不用。

如果你实在想改,可以在\inc\link.php文件中更改。

  其他更改相对来说就简单了,页面汉化和相关文字更改都在\lang文件夹下的language_zh.php和language_en.php两个文件。修改右边5个最新问题为多个在/inc/constants.php文件中搜索define('PMF_NUMBER_RECORDS_LATEST', 5);将5改为多个即可。

  关于这款程序的基础优化,我就不再赘述了,大家可以按照优化wordpress的方法来操作,我想说的一点就是
v2.6.9的这个版本比v1.6版本明显有优势的地方就是它可以给每一个页面都自定义描述信息。这个是1.6版本没有
的。而且可以为出现的每个链接自定义多种属性标签,操作起来非常的灵活,它的后台还有很多细微的功能,这需
要大家在使用中慢慢的发掘。

  最后再和大家分享下,我是怎么使用这个程序的。大家请看演示地址,我的主站采用的是wordpress v2.9.2做的,用phpmyfaq做了个网址大全的一级目录,为了使整站有更好的更新机制,我在首页的右下角,调用了phpmyfaq最新的20篇文章,这个是怎么实现的呢?其实很简单,因为wordpress2.8之后增加了一个

fetch_feed函数,可以直接通过url来解析RSS或者Atom,具体的实现方法请看代码:[ol]set_feed_url('hao123/feed/latest/rss.php');//设置feed地址
$feed->set_cache_location($_SERVER['DOCUMENT_ROOT'] . '/cache');
$feed->set_file_class('WP_SimplePie_File'); //使用wordpress扩展的File类
$feed->set_cache_duration(600); //每十分钟检测一次是否有更新(600秒)
$feed->init();
$feed->handle_content_type();
?>

get_items(0,20) as $item): ?>  //20是调用的文章数量
  • get_permalink()?>">get_title()?>

    [/ol]
  • 打印本文 打印本文 关闭窗口 关闭窗口