建站2周年

2016年7月7日 在阿里云ECS服务器上正式建站。

世界,您好!Hello World!为博客诞生鼓掌!

2年,时间过的挺快。

网站刚开始的时候非常简陋,只是选用主题,默认样式。后来逐渐增加百度统计、百度分享、邮件回复、文章浏览数、字数统计、畅言评论、第三方登录使得网站越来越臃肿,访问性能下降。于是6月份的时候将操作系统换成Linux,去掉所有不必要的代码和插件,尽可能提升访问体验。

网站整体经历了由简到繁再到简的过程。就像做产品,口口声声需求来自用户,其实大部分是产品经理拍脑袋想的需求,导致产品过于臃肿,后面体验却不好,过多的功能会让用户眼花缭乱也加重产品维护难度。先做一个MVP,然后持续迭代,最后打造精品。或者产品后面开发的时候再做,可惜很多产品根本就没有二期,,所以最好是第一次尽可能把产品做好。

配置LNMP中Nginx强制https访问

LNMP设置强制https访问可以添加一个rewrite,也可以通过一条301跳转实现,军哥推荐第二种方式。在实际设置的时候需要在虚拟主机的conf文件里多加一个server段,443监听在上面,80端口在下面。如果顺序反了则会出现跳转到了nginx欢迎界面的情况。一般虚拟主机配置文件位于:/usr/local/nginx/conf/nginx.conf,在配置文件最后面加上如下代码,自行修改相应配置:

安装好LNMP后,默认nginx.cong配置文件如下

继续阅读配置LNMP中Nginx强制https访问

用Poedit修改wordpress的评论框提示翻译zh_CN.po文件

中文版wordpress的评论框提示文案不是太友好,需要手动修改,用记事本打开wp-content/languages目录下的zh_CN.po文件修改后发现没效果,最后发现需要用专用软件修改。步骤如下:

  1. 请先下载一个名为Poedit的软件,用来修改翻译文件。下载地址Poedit
  2. 然后用Poedit打开zh_CN.mo文件(和zh_CN.po同目录),对需要修改的地方进行编辑;
  3. 编辑完成后保存,会自动生成一个zh_CN.po文件,用这个文件覆盖原来的zh_CN.po文件即可!
  4. 如图搜索关键字,如评论,找到后在下面的翻译修改保存

继续阅读用Poedit修改wordpress的评论框提示翻译zh_CN.po文件

Linux系统LNMP一键安装包迁移WordPress

安装环境:

  • 阿里云ECS服务器
  • 操作系统 CentOS 7.4 64位
  • 需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间
  • 需要128MB以上内存,注意小内存请勿使用64位系统!
  • 安装MySQL 5.6或7及MariaDB 10必须1G以上内存!
  • Linux下区分大小写,输入命令时请注意!
  • CentOS 之前前版本其官网已经结束支持无法使用!
  • LNMP一键安装包:LNMP是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。

安装步骤:

继续阅读Linux系统LNMP一键安装包迁移WordPress

QQ授权登录网站

最近在实现QQ授权登录,现将我的实现过程以及我的理解整理如下。以下所述如有不对之处,请指正。

官方提供的SDK有:JS,PHP,Java。我的网站使用Scala+Play搭建的,所以只能用JS SDk。

原内容来自互联网,略有修改。 继续阅读QQ授权登录网站

WordPress自动升级、常用配置

WordPress自动升级

点击自动更新,默认会报如图所示错误:

升级WordPress
正在从https://downloads.wordpress.org/release/zh_CN/wordpress-4.7.2.zip下载更新文件…

下载失败 No working transports found

安装失败

出错原因是PHP没有开启curl

解决方法:

windows下开启方法如下
1. 将php.ini中的;extension=php_curl.dll前的分号去掉,
2. 将php中libeay32.ll, ssleay32.dll, php_curl.dll,libssh2.dll复制放入C:\windows\system32(服务器是32位操作系统)中或C:\Windows\SysWOW64(服务器是64位操作系统);将libssh2.dll复制放入apache\bin

然后重启Apache服务器。

登录wordpress后台发现 主题(更新主题会将以前所有自定义的主题代码清除,慎重更新)和翻译终于可以直接更新了。但是点自动升级后还是会报错:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\wp-includes\Requests\Transport\cURL.php on line 463

这个错误明显是连接超时,就是wordpress服务器在下载升级包时连接超时,我们测试可以发现单独从官网可以下载升级包,只是比较慢,超过10分钟。

解决防范:

升级前将php.ini中的max_execution_time=30,改大点比如600就可以了,然后静静等待升级完成即可。

这个时候再点自动升级,wordpress会报 有一个更新在进行中,无法更新,这时因为数据库有字段值控制,删除这个值就可。这里需要处理下:

1、在当前WP程序的wp_options数据表中;

2、找到core_updater.lock字段后删除再重新点击后台自动升级链接,即可成功升级。

另外一种是手动升级:

WordPress手动升级

1、先去中文官网https://cn.wordpress.org/下载最新版本

2、然后把老网站中的wp-includes和wp-admin两个文件夹中的文件删除,将新网站wp-content文件夹删除,然后直接将安装包解压覆盖老网站程序即可。切记老网站wp-content文件夹(这个是wp文件和数据库)需要保留。
3、执行升级
我们替换完毕之后,可以进行http://我们的网站域名/wp-admin/upgrade.php输入浏览器中,然后执行升级即可。

禁止文章复制

禁止Wordpress文章被复制

把下面代码放到footer.php里即可。

代码如下:
 <script type="text/Javascript">
 <!--
 document.oncontextmenu=function(e){return false;};
 document.onselectstart=function(e){return false;};
 //-->
 </script>
 <style>
 body{
 -moz-user-select:none;
 }
 </style>
 <SCRIPT LANGUAGE=javascript><!--
 if (top.location != self.location)top.location=self.location;
 // --></SCRIPT>
 <noscript><iframe src=*.Html></iframe></noscript>

此代码实现:

1、禁止鼠标左键选取内容。
2、禁止鼠标右键复制功能。
3、禁止使用ctrl键,无法复制

中文Wordpress博客文章字数统计代码

添加方法与上述相同,首先把下面代码加到functions.php文件中。( 注:HotNews主题加到“//全部结束”前面 )

文章字数、浏览量统计

/*文章字数统计代码*/
 function count_words ($text) {

global $post;

if ( '' == $text ) {

$text = $post->post_content;

if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '   '. mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8'). '字';

return $output;

}

}

 

再把调用统计代码加到自己认为适合的位置。

<?php echo count_words ($text); ?>

例如加到文章末尾,打开contant.php将代码加到如下位置

<footer class="entry-footer">
 <?php twentyfifteen_entry_meta(); ?>
 <?php edit_post_link( __( 'Edit', 'twentyfifteen' ), '<span class="edit-link">', '</span>' ); ?>
 <?php/*显示文章字数*/?>
  <?php echo count_words ($text); ?>

<?php/*显示浏览量*/ ?>
 <?php if(function_exists('the_views')) { the_views(); } ?>

</footer><!-- .entry-footer -->

浏览次数展示需要用到WP-PostViews插件

效果如下

 

 

 

去掉网站底部自豪的使用Wordpress说明

打开footer.php找到如图代码,删除即可

网站统计代码、版权声明

<center>
文章数:<font style="color:#F00; font-weight:bold;"><?php $count_posts = wp_count_posts(); echo $published_posts =$count_posts->publish;?></font>&nbsp;&nbsp 
文章浏览:<font style="color:#F00; font-weight:bold;"><?php get_totalviews(true, true, true); ?> </font>&nbsp;&nbsp 
评论数:<font style="color:#F00; font-weight:bold;"><?php $total_comments = get_comment_count(); echo $total_comments['approved'];?> </font>&nbsp;&nbsp 
网站运行:<font style="color:#F00; font-weight:bold;"><?php echo floor((time()-strtotime("2016-7-7"))/86400); ?></font> 天
</center>
<?php/*版权声明*/?>
<center><?php esc_attr_e('Copyright © 1988-', 'preference-lite'); ?> <?php esc_attr_e(date('Y')); ?> 有梦想的产品经理<?php esc_attr_e('. All rights reserved.', 'preference-lite'); ?></center>

网页加密

<SCRIPT LANGUAGE=”JavaScript”>
function password() {
var testV = 1;
var pass1 = prompt(‘产品原型作品,请输入查看密码’,”);
while (true) {
if (!pass1)
history.go(-1);
if (pass1 == “888888”&pass1!=”) {
//alert(‘密码正确!’);
break;
}
testV+=1;
var pass1 = prompt(‘密码错误!请重新输入:’);
}

return ” “;
}
document.write(password());
</SCRIPT>

主页描述和关键词,description和keywords 方便搜索引擎收录

在header.php头部增加如下代码

<?php
if (is_home()){
$description = “一个成长中的产品经理,通过博客说出自己的体会,这里的关键词如下:产品经理,互联网,软件,电子商务;需求,需求采集,需求分析,需求管理;用户体验,用户研究,数据分析;项目,流程,文档,敏捷;战略规划;营销;职场,团队,沟通……看到它们你兴奋么?”;
$keywords = “产品经理,互联网产品经理,产品经理博客,产品经理网站,产品设计,产品设计博客,产品设计网站,互联网产品设计,软件产品经理,软件产品设计,博客,网站,产品设计体会,需求,需求分析,用户体验,用户研究,互联网,软件,电子商务,数据分析,需求采集,需求管理,项目管理,流程管理,文档管理,商业架构,市场营销,沟通,PM,PD,UE,苏杰,iamsujie,feature list,UED”;
}
?>

去掉评论框中的姓名和邮件

修改wp-includes\comment-template.php文件,注释掉

 $fields = array(
 'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
 '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" maxlength="245"' . $aria_req . $html_req . ' /></p>',
 
 /**'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
 '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" maxlength="100" aria-describedby="email-notes"' . $aria_req . $html_req . ' /></p>',
 'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
 '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" maxlength="200" /></p>',
 */
 );

 

添加分页符按钮

# 在 WordPress 编辑器添加“下一页”按钮

/*-----------------------------------------------------------------------------------*/
add_filter( 'mce_buttons', 'cmp_add_page_break_button', 1, 2 );
function cmp_add_page_break_button( $buttons, $id ){
    if ( 'content' != $id )
        return $buttons;
    array_splice( $buttons, 13, 0, 'wp_page' );
    return $buttons;
}

继续

添加ICP备案号

我们就向大家介绍一下方法在自己的主题中显示 WordPress 后台添加的ICP备案号。

切换到主题目录,打开 footer.php 文件,加入以下代码:

注意:上面的代码中,显示出WordPress 后台添加的ICP备案号了,并且点击的时候回链接到工信部网站。如果您不需要链接到工信部网站,只需添加下面的代码即可:

2016博客盘点

在2016年7月7日这个特殊的日子,自豪的用wordpress搭建博客,过程并没那么难:先在本地虚拟机上面测试下,发现没什么问题。接着购买阿里云ECS服务器,也就1个小时弄完,用公网ip可以正常访问。10年前就有做个人网站梦,还花过几天时间研究,结果做了个静态网页,不知道怎么发布到网络上,后面不了了之。

2006年个人博客兴起,风光不过5年,微信、微博出现后,博客逐渐没落,2016年,当年很多博客链接已无法打开,当年的博主或许创建微信公众号,或是在知乎开设专栏。战场转换也带来些许风险,例如由于国内众所周知的原因,这几天知乎上闹得沸沸扬扬的涉及台湾相关内容的《海峡青年评论》专栏被删除事件。

有人在知乎问:个人博客是否没落?

在我看来,这跟开设博客的目的有关,是想通过博客走商业化盈利,还是只是个人品牌建设。纸制日记本尚且能保存10年以上,坚持10年写博客,还在不断输出的人就太少了。个人博客不会没落,它存在于纷扰世界中某个安静角落。

从2016年开始,每年会做一个博客盘点,主要内容是分析博客运营数据,还有博客背后的故事。

博客访问趋势


目前2个域名iarcher.cn和pmarcher.com都做了解析,但主要分析iarcher.cn的数据。

主要选择的指标有:

浏览量(PV):即通常说的Page View(PV),用户每打开一个网站页面就被记录1次。用户多次打开同一页面,浏览量值累计。

访客数(UV):一天之内您网站的独立访客数(以Cookie为依据),一天内同一访客多次访问您网站只计算1个访客。

IP数:一天之内您网站的独立访问ip数。

跳出率:只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比。

平均访问时长:访客在一次访问中,平均打开网站的时长。即每次访问中,打开第一个页面到关闭最后一个页面的平均值,打开一个页面时计算打开关闭的时间差。

2016博客每日浏览量(PV)和每日访客数(UV)趋势分布

图中可以看出 2016博客每日浏览量(PV) 超过一半的时间是低于10次的,2016博客每日访问数(PV)超过三分之二的时间低于10个,博客平时没什么访问量。目前访问数太少,甚至百度统计中都没法做SEO优化。不过博客刚刚建立,也没有做什么推广,每天能有10个UV也算不错,毕竟有总比没有好。

有一段时间每日PV和UV全部为0,原因是服务器遭受攻击,导致博客程序崩溃,后期在服务器上安装防火墙拦截,这个问题才解决。

2016博客访问来源分布

直接访问博客比例达到90%,这里面应该有很大一部分是我自己的访问,通过搜索引擎访问只有不到3%。最多的时候百度索引量有120个,后面换域名导致目前没有索引量。

令人惊奇的是访问来源最多的搜索引擎居然是Google,难以置信。

最后一个神马搜索是神马?

要想提高访问量,搜索引擎很重要,主要通过充实博客内容,让更多内容被搜索引擎收录。在博客初期,最主要的还是充实内容,本人比较反对转载网络热文到博客,坚持原创才是博客的初衷,后期考虑增加一些评论系列,主要是阅读专栏文章视频后写个人感悟,这样更容易形成体系。

2016博客访问地域分布

 

 

 

 

 

 

 

 

 

最后分享一下2016年全年(2016.7.7~2016.12.31)个人博客访问地域分布数据,从中可以了解到国内互联网行业产品经理群在哪里。

结论:

互联网行业的5大城市确实存在:深圳、杭州、北京、广州、上海,占据访客数正好70%,因为自己在深圳,有不少访客是深圳产品经理群的同行,访所以访客数远远超过其它。

北上广深这4个一线城市在互联网霸主地位牢不可破,另外杭州表现相当抢眼,最后是潜力城市,武汉、成都。

至于石家庄达到4%的原因,猜想有可能实际还是北京的访问,网络线路地域划分引起的差别,如果把石家庄的放到北京,那北京访问量排第二位。

2016年 2016.7.7~2016.12.31 半年时间,因为不断的写,所以比较高产。

共发布文章38篇 总字数7万286