那些域名的事,关于seo的问题

今天谈下域名的事情.
分以下几点:

1.域名后缀
关于域名后缀,很多人崇拜以com结尾的域名.说是搜索引擎青睐,对SEO最好.
其实这是种误解,
如果你知道搜索引擎对com的态度,同cn net org info org.cn edu.cn等这些域名相同,
你就会明白,域名,只是个链接而已

至于说com域名最好,这个我不否认.但你要知道原因,好在哪?

com域名好在他的使用历史长久,使用的网站最多.
好在用户对网站域名的认知程度,很多人只知道有com后缀的域名.
就像网站使用域名而不用IP一样,是为方便记住.
这也是域名的根本作用.
只是com起了个早,占了优势.

而说info权重不好的同学,你要想一下,为什么会有人这样说,
你记得当初info域名促销的价格吗?
多少人用info域名做过站,通常都是很垃圾的站,
搜索引擎针对这样的站会给权重吗?
不会吧,所以这些站长就说info域名权重不高,从而误导了很多人.
如果哪天突然com的域名促销,1元/年,
我想也同样会出现有人说com域名权重低的现象.

2.域名长度

这个好理解,长度越小越好,同1中的理由一样,
对搜索引擎来说,长度没影响,无所谓长短.
域名短好,是因为对人来说的.

3.域名拼写
域名的拼写,主要考虑的还是好记,考虑的是用户体验,
中文双拼域名,和英文单词英语,很多人说对SEO有影响,
这个是要看你的站和域名的匹配来讲的.
如果你想注册域名,建议以下几小点(个人意见).
a.尽量短,这个可能不好做到,如果你选择com域名.
b.尽量使用同符号,全字母或全数字,不要用中隔符.
c.中文站就尽量拼音.英文站就尽量英文单词.
d.在好记的情况下,选择最短的域名.
笔者之前注册的一个域名就很纠结:www.cnw365.com  每次拼这个域名,就要输入了字母,再输入数字,很是郁闷.

3.域名与IP
之前有大神研究过搜索引擎对站的抓取是通过域名还是IP
得出的结论是百度是通过域名,谷歌是通过IP,还是相反,我记不太清楚了,
域名和IP的关系,主要是在解析上,应该相关性不大.
个人感觉对搜索引擎来说,考虑的主要还是域名,而不是IP,
很多担心说,换服务器会对收录影响,因为IP变了,
其实你换服务器,应该有两种情况:
一种是,老服务器关闭,新服务器上线;
另一种是老服务器和新服务器同时在线一段时间再关闭.
不论哪一种,对搜索引擎来说,都是有影响的,
而不是IP的问题.

4.域名相关定义
域名分主域名和二级域名
我们网站服务器通常会绑定两个.
一个是顶级域名,另一个是二级域名.
顶级域名就是你注册域名时的那个,带后缀,不带前缀.
二级域名就是,加个前缀.
这两个定义比较苍白,容忍一下吧.
比如:cnw365.com
顶级域名:cnw365.com  二级域名:www.cnw365.com
有些同学,一直认为www.cnw365.com这样的是顶级域名.
因为SEO经常会把顶级域名301到www的二级域名
在空间绑定上,如果不想做301,可以只绑定www二级域名,把顶级域名的绑定删除即可.

以上许多是个人观点,如果有不认同的,可以忽略不看,
不要拿许多大神的观点来对比,同学,我只是个小人物.级别不够.

如无所用,权当娱乐吧.

可交流QQ925474725

WP添加菜单支持方法

有很多WP主题不支持菜单,有时候想修改菜单不方便,这篇文章里,给大家分享WP添加菜单的方法:

在模板函数里添加以下代码

//菜单支持

if (function_exists('register_nav_menus')){
register_nav_menus(
array(
'nav-topmenu' => '顶部导航',
'nav-menu' => '导航菜单',
'primary' => __( '名站导航', 'lovnvns' ),
'nav001' => '搜索下热门',
'nav002' => '名站导航下热门',
'nav003' => '底部导航一',
'nav004' => '底部导航二',
)
);
}

如果不是在<?php     ?>代码内添加,请在上面用<?php     ?>包含起来

在模板内引用菜单代码

<?php wp_nav_menu( array( 'theme_location' => 'nav-menu' ) ); ?>

其中nav-menu 就是上面注册的菜单,是通过引用调取的。

在菜单面板添加设置菜单,就可以显示了,当然,如原来不支持菜单,就需要进行CSS修改了,美化菜单。

如果在菜单面板提示,不支持原生的菜单之类的,请在模板内添加引用菜单代码,即可解决。

如有问题,可以QQ925474725

 

 

wordpress主题,维基百科主题WikiWP

维基百科主题WikiWP是偶而在网上看到的,之前一直想做百科类网站,用过几个百科程序。感觉都不是很理想。

所以看到此主题就尝试了下。

建了个站:图书百科:http://www.imenglei.cn/

图片预览:

说下此主题吧。

1.主题简洁,无过多修饰。

2.支持边栏小工具。

3.英文主题,需要同学,可以自己汉化下,很简单的。

4.有些小问题,可自行修改。不是很难。

5.无维基百科MideaWiki管理无后台的麻烦

6.无HDwiki的臃肿。

7.强大的wordpress支持。

 

此主题下载地址:http://download.csdn.net/detail/imenglei/4835503

一点基础都没的同学,建议别使用或都付费找人修改。

有小问题,可以QQ925474725

wp主题安装提示'主题缺少 style.css样式表'的解决方法

 

在安装wordpress主题,有时候会遇到提示 "主题缺少 style.css样式表"

1.首先我们要排查的是,在主题文件夹下是不是有这个文件

例如,主题 daohang

通常是保存在 themes文件夹下

我样就要找这个路径:themes/daohang/

看在这里有没有style.css文件

如果没有,那就要看下主题是不是完整的,如果少上传了,就补上传即可解决问题.

如果主题本身就没有这个文件,说明这个主题不符合WP博客主题包要求,自行修改或更换其它主题

2.如果存在themes/daohang/style.css

我们就要查看style.css文件开头是不是标准的WP主题格式.

标准的WP主题style.css开头都有以下格式:

/*
Theme Name: daohang  *这是主题名
Theme URL:  http://blog.menglei.net/ *这是主题链接地址,可为作者主页
Description: 仿Hao123主题  *这是主题描述
Author:  清晨 *这是作者名称
Author URI: http://www.megnlei.info/ *这是作者主页地址
Tags:  绿色*这是主题标签
Version: v1.001*这是版本号
*/

通常是style.css出现乱码,或格式错乱,格式化后一般能解决此问题

暂时发现以上两点方法解决wp主题安装提示'主题缺少 style.css样式表'的问题.

如果有其它问题可以QQ925474725

后记:给那些特别辛苦的同学提个建议,千万别下载dede等其它程序的主题模板安装,要认准是WP主题,还有,建议同学参考WP自带的主题,你自己看下,你的主题目录和官方的主题有啥区别,特别是主题根目录下是否有style.css文件,如果有style.css,是否style.css文件开头几行是类似的.

织梦DEDECMS文档保存位置及命名规则优化

在用dede建站的朋友都知道,优化文档路径,越短越好,相信很多都知道如何去修改,也有许多文章可供参考。

今天清晨在这里补充一些。

为了减少以后的麻烦,建议把文档单独保存在一个文件夹内,而不是保存在文档栏目下。

例如:文档ID为1的文档

可以有两种形式

1.http://www.xxxxx.com/mulu/1.html

2.http://www.xxxxx.com/html/1.html

其中mulu是文档的栏目文件夹。

如果以后移动此文档,就会更改路径,对SEO是有很大影响的。

所以建议用2的形式,文档单独保存在一个文件夹下。

如何实现呢?

现在开讲。

有很多种方式,网上也有很多教程,我讲的是我使用的方法。

修改:common.inc.php

找到文档的默认命名规则这一处

改成以下形式

//文档的默认命名规则
$cfg_arcdir=str_replace("/", "",$cfg_arcdir);//这里去除文档HTML默认保存路径:中出现的“/”,防止出错
$art_shortname = $cfg_df_ext = '.html';
$cfg_df_namerule = $cfg_arcdir.'/{aid}'.$cfg_df_ext;//这里调用上面的路径,方便管理。

说明:其中$cfg_arcdir是后台可以直接设置的,如图:

这种方法的优势是,如果以后想更改路径就直接在后台修改,不用再次更改代码,比较方便。

当然,快速创建栏目处也要修改的,按以上的思路即可实现。

快速创建栏目参考代码:

<input name="namerule" type="text" id="namerule" value="<?php echo str_replace("/", "",$cfg_arcdir); ?>/{aid}/index.html" size="40" />

wordpress lovnvns主题 本站正在使用主题

lovnvns主题 说明:

来源互联网,有多处可以下载到,作者未知。

如果作者看到此文,可以联系我,以正此主题之名。

最新版本4.0

整体感觉很不错的主题,首页有blog和CMS两种形式可供选择。

blog形式就是文章列表形式,CMS有按分类进行文章调用的排版。

本站暂时使用blog形式。

这个主题感觉还不错,所以拿来使用。

主题全站采用一种绿色的形式,可以自行修改配色,也可二次开发,进行多种颜色调换。本站因是个人博客,暂时不考虑进行修改了。

配合本人自己制作的hao123导航主题(集成到本主题了)使用,可以做个不错的个人站,这是我的选择。

关于lovnvns主题,要注意一些事情。

1.在后台,设置 阅读  首页文章数,要记得选择10

不然在分页时,会出现后几页是空的,错误现象。

2.关于幻灯片调用,

在添加文章时,要记得在写文章时

添加自定义栏目,名称:banner 值:on

这样首页幻灯片就会显示这篇文章的特色图片

3.我使用的文章页复制链接功能无效

可能是浏览器兼容问题吧,暂时没折腾,删除了此功能。

4.其它的问题,

像导航,可以自行修改宽度,就可以显示多几个分类了。

底部链接调用,是用链接分类ID调用的,默认是1.可以自行在代码处修改。

评论关闭问题

如果是新换主题,之前有发表过文章,现有不论在后台如何设置,都是评论关闭状态,这个你可以检查文章,选择编辑,在讨论功能面板里有,允许评论,勾选保存就可以了。

本站不提供下载本主题,请自行问度娘或谷哥。

交流QQ925474725

用插件解决WP建站的文章ID不连续的问题

由于WordPress默认是每60秒就会对文章进行自动保存,在我们写文章时,会自动生成许多草稿,在修改时,也会自动生成修订版本,这些每保存一次都会占用一ID,所以会出现文章ID不连续的问题。

解决这个问题,我们可以关闭版本修订和自动保存功能,即可实现。

下面是最简单的方法,用插件解决。

插件:Super Switch

安装很简单
1、上传插件文件夹 super-switch 到 /wp-content/plugins/ 目录。
2、在插件管理页面激活这个插件。
3、安装完成。

使用这个插件,你可以禁用以下功能(打勾的话,表示该功能启用,即"禁止版本修订"...等功能):

版本修订(Enable Revisions. )
自动保存(Enable autosave. )
主题预览(Enable themes preview. )
不在页面显示WordPress版本(Don’t display the version of WP in the head of your blog. )
Browse Happy(Enable Browse Happy. )
插件升级检查(Enable the update of the plugins. )
WP核心升级检查( Enable the WordPress core update checking and notification system. )

------------分隔线---------------
后续说明:20130511
针对wordpress以ID形式显示文章,出现ID不连续的问题。
这个是无法解决的。
因为wordpress本身ID是几个数据共用的,
在查看数据表中可以清楚的看到,因为文章,文章分类,菜单,链接分类,链接等都是存储在一个表上的。
如果你添加文章之外的其它内容(占用ID的),就会造成文章ID不连续的问题。
这个目前无法解决。
各位同学请不要再纠结这个问题了。

Super Switch这个插件,是可以解决部分问题,可以禁止生成修订版本,禁止自动保存,只能解决部分问题,不能从根本上解决的。请知悉。

解决wordpress首页调用多篇文章显示日期问题

在用wordpress建站时,遇到个很奇怪的问题

在首页文章列表,调用多篇文章时,不能同时显示发布日期,只能调出来一篇文章的发布日期,感觉很奇怪,经过网上查找,总结出下面的方法很合适解决这一问题。

方法如下。

调用:

<?php the_date_x(); ?>

函数:

//the_date_x()同时显示多篇在同一日期发表的文章
function the_date_x($d='', $before='', $after='', $echo = true) {
        global $id, $post, $day, $previousday, $newday;
        $the_date = '';
        $the_date .= $before;
        if ( $d=='' )
                $the_date .= mysql2date(get_option('date_format'), $post->post_date);
        else
                $the_date .= mysql2date($d, $post->post_date);
        $the_date .= $after;
        $previousday = $day;

        $the_date = apply_filters('the_date', $the_date, $d, $before, $after);
        if ( $echo )
                echo $the_date;
        else
                return $the_date;
}

交流QQ925474725  QQ群:122019913

by清晨20121112

WordPress自定义文章摘要显示和长度

WordPress 摘要有两种显示方式:
一种是通过写文章的时候在其中加入标签,然后在模板中使用the_conten(“阅读更多…”),这个函数将会读出你的post直到<!—more–>处断掉输出。缺点:需要在每篇文章中加入<!—more–>标签;
另外一种方法就是在模板中直接利用the_excerpt()函数,这个函数将会自动取出你文章的部分内容,并且以本文的格式输出。缺点:文字都堆积在一起,阅读性差。
下面教大家如何自定义文章摘要显示和长度,解决以上问题。

  1. function the_blog_excerpt($content, $size = 500, $echo = true) {
  2. $out = '';
  3. $_size = mb_strlen($content, 'utf-8');
  4. if ($_size <= $size) {
  5. $out = $content;
  6. } else if (strpos($content, '<') === false) {
  7. $out = mb_substr($content, 0, $size);
  8. } else if ($e = strpos($content, '<!-- more -->')) {
  9. $out = mb_substr($content, 0, $e);
  10. } else {
  11. $strlen_var = strlen($content);
  12. $html_tag = 0;
  13. $summary_string = '';
  14. $html_array = array('left' => array(), 'right' => array());
  15. for ($i = 0; $i < $strlen_var; ++$i) {
  16. if (!$size) {
  17. break;
  18. }
  19. $current_var = substr($content, $i, 1);
  20. if ($current_var == '<') {
  21. $html_tag = 1;
  22. $html_array_str = '';
  23. } else if ($html_tag == 1) {
  24. if ($current_var == '>') {
  25. $html_array_str = trim($html_array_str);
  26. if (substr($html_array_str, -1) != '/') {
  27. $f = substr($html_array_str, 0, 1);
  28. if ($f == '/') {
  29. $html_array['right'][] = str_replace('/', '', $html_array_str);
  30. } else if ($f != '?') {
  31. if (strpos($html_array_str, ' ') !== false) {
  32. $html_array['left'][] = strtolower(current(explode(' ', $html_array_str, 2)));
  33. } else {
  34. $html_array['left'][] = strtolower($html_array_str);
  35. }
  36. }
  37. }
  38. $html_array_str = '';
  39. $html_tag = 0;
  40. } else {
  41. $html_array_str .= $current_var;
  42. }
  43. } else {
  44. --$size;
  45. }
  46. $ord_var_c = ord($content {$i});
  47. switch (true) {
  48. case(($ord_var_c & 0xE0) == 0xC0) : $summary_string .= substr($content, $i, 2);
  49. $i += 1;
  50. break;
  51. case (($ord_var_c & 0xF0) == 0xE0) : $summary_string .= substr($content, $i, 3);
  52. $i += 2;
  53. break;
  54. case (($ord_var_c & 0xF8) == 0xF0) : $summary_string .= substr($content, $i, 4);
  55. $i += 3;
  56. break;
  57. case (($ord_var_c & 0xFC) == 0xF8) : $summary_string .= substr($content, $i, 5);
  58. $i += 4;
  59. break;
  60. case (($ord_var_c & 0xFE) == 0xFC) : $summary_string .= substr($content, $i, 6);
  61. $i += 5;
  62. break;
  63. default:
  64. $summary_string .= $current_var;
  65. }
  66. }
  67. if ($html_array['left']) {
  68. $html_array['left'] = array_reverse($html_array['left']);
  69. foreach($html_array['left'] as $index => $tag) {
  70. $key = array_search($tag, $html_array['right']);
  71. if ($key !== false) {
  72. unset($html_array['right'][$key]);
  73. } else {
  74. if (strpos(substr($content, $i), '</'.$tag.'>') === false) {
  75. $summary_string .= '</'.$tag.'>';
  76. } else {
  77. while ($html_array_str != $tag) {
  78. $current_var = substr($content, $i, 1);
  79. $i++;
  80. if ($current_var == '<') {
  81. $html_tag = 1;
  82. $html_array_str = '';
  83. } else if ($html_tag == 1) {
  84. if ($current_var == '>') {
  85. $html_array_str = '';
  86. $html_tag = 0;
  87. } else {
  88. $html_array_str .= $current_var;
  89. $f = substr($html_array_str, 0, 1);
  90. if ($f == '/') {
  91. $html_array_str = str_replace('/', '', $html_array_str);
  92. }
  93. }
  94. }
  95. $summary_string .= $current_var;
  96. if ($html_array_str == $tag) {
  97. $summary_string .= '>';
  98. $i = $i + 1;
  99. break;
  100. }
  101. }
  102. }
  103. }
  104. }
  105. }
  106. $out = $summary_string;
  107. }
  108. if ($echo) echo $out;
  109. return $out;
  110. }

该函数自动提前文章内容前500字符作为摘要,保留html格式并修复被切断的HTML标签。具体可以在我的博客查看效果。

$size:自定义显示长度

复制该函数到主题的functions.php文件中。

  1. <?php
  2. if (is_single() or is_page()) {
  3. the_content();
  4. } else {
  5. $content = get_the_content();
  6. $content = apply_filters('the_content', $content);
  7. $content = str_replace(']]>', ']]>', $content);
  8. the_blog_excerpt($content);
  9. }
  10. ?>

在需要显示摘要的地方调用以上代码即可。

 

来源:http://www.hujuntao.com/archives/wordpress-custom-the-excerpt.html

ASP网站开发中rs.open sql,conn,1,1/1,3/3,2区别

来源网络。

Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型.
经常开发asp但对于细致的说法,真实不太清楚,这里简单的介绍下。
一般情况下
读取数据都是用rs.open sql,conn,1,1
修改数据:rs.open sql,conn,1,3
删除数据:直接要conn.execute("delete * from new where id=1")这样的。
Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType
Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型.
CursorType
常量 说明
adOpenForwardOnly(值为0) (默认值)打开仅向前类型游标。
adOpenKeyset(值为1) 打开键集类型游标。
adOpenDynamic(值为2) 打开动态类型游标。
adOpenStatic(值为3) 打开静态类型游标。
LockType
常量 说明
adLockReadOnly (值为1) (默认值)只读 — 不能改变数据。
adLockPessimistic(值为2) 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。
adLockOptimistic(值为3) 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用 Update 方法时才锁定记录。
adLockBatchOptimistic(值为4) 开放式批更新 — 用于批更新模式(与立即更新模式相对)。
CursorType
0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark
1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
LockType
LockType为记录集的锁定类型,其取值为:
1 锁定类型,默认的,只读,不能作任何修改
2 当编辑时立即锁定记录,最安全的方式
3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
4 当编辑时记录不会被锁定,而更改、插入和删
rs.open sql,conn,3,2
这两个是游标,具体的作用是:
RS.OPEN SQL,CONN,A,B
A:
ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1)
只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动
ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录
B:
ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。
总结一下:
sql,conn,1,1 代表不允许更新,一般用于查询操作。
sql,conn,1,3 代表允许更新,一般用于插入,更新和删除操作。