WordPress 表单的甬洁推送服务

在很多传统的网站需要和微信交互,发送网站表单数据给指定的微信接收人时,需要配置微信的模版消息发送框架,需要填写模版消息发送相关的 AppID, AppSecret, 需要配置模版 ID, 需要找到接收人对应的 OpenID,整个的网站端配置十分繁琐,需要开发人员对于整个的微信的消息发送流程十分清楚。

甬洁应用针对这种复杂的开发流程,做了简化,用户只要扫码,授权,改一行代码,两行配置,就能实现传统 PC 端网站表单内容自动发送到指定的微信接收人和邮件。

具体流程如下:

  1. 需要使用该服务的个人或者企业,扫码“甬洁应用 ” 小程序,把手机号码授权给我们
  2. PC 端微信扫码确认登录甬洁应用网站后,选择右上角下拉,”授权网站”,系统展示已有的网站授权,以及 API Token;按 + 号,添加新的授权网站域名。API Token 可以 Reset,系统会自动生成一个新的 Token。之前网站上已经使用的 Token 必须更换成新的Token 才能生效。页面下方有提示 API 使用示例, PHP 语言
  3. 用户进入自己的 PC 端表单界面,添加调用 YJ777APP_API 的 URL,并在表单内容里添加 YJ777APP_KEY (就是上面的 token),表单内容就会自动发送到甬洁应用,由甬洁应用把消息以微信模板消息和电子邮件的形式发送给授权的用户

WordPress 网站迁移云厂商,怎样才能降低 down time

简单来说,迁移 WordPress 网站,就是这么个顺序:步骤 6 和 7 就是造成 down time 的点,要把时间尽量缩短。
1. MySQLdump 导出数据,
2. rsync (或者 tar 打包,拷贝文件,再压缩)Web 和 SQL
3. 新服务器上创建数据库并导入MySQL 数据,别忘了 grant:
grant all on wp_db.* to db_user@localhost identified by 'xxx';
4. 修改 wp-config.php 数据库配置
5. 编辑 Web 服务器虚拟主机配置
6. 去云厂商修改 DNS
7. 添加 ACME(Let’s Encrypt 证书)
# certbot --nginx -d tech.yj777.cn certonly --no-redirect
8. 再次编辑,验证 Web 服务器虚拟主机配置,特别是 SSL 部分配置
9. 查看网站各个目录权限,查看插件是否正常工作,新服务器上相关的服务是否安装启动,例如 Memcached

WordPress iThemes Security 插件介绍

WordPress 以其快速高效的架站,以及多变的主题选择,以及各种功能的插件,已经风靡 Web 界16个年头。当然安全也是成为黑客的头号目标,本站之前就发生过因为 SMTP 插件的漏洞,而导致首页被修改重定向到黄色网站。幸亏及时发现,并用简单的 wp-cli 命令,修改 home 和 siteurl 两个 option 即可

实际上,Wordpress 有个 iThemes Security 的插件,能分析 WP 潜在的安全漏洞,我们强烈建议使用 WP 的站长安装此插件。

它有专业版和普通免费版,对于要求不高的站长,普通版几乎能满足绝大多数站长的需求。各个功能,具体不再展开。

如果需要提供 REST API 的话, 需要去”Wordpress 微调” 里,把 Rest API 开启。否则在使用了我们免费的 WP 转小程序的数据拉取上会遇到问题。

wp-cli 纯命令行安装 WordPress

你知道的,这么做, 就是可以 脚本化的。
1. 下载 wp-cli 并校验信息 : curl -o /usr/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar; chmod +x /usr/bin/wp; wp –info
2. 下载 bash 自动完成脚本: wget https://raw.githubusercontent.com/wp-cli/wp-cli/v2.3.0/utils/wp-completion.bash; echo $(pwd)/wp-completion.bash >> ~/.bash_profile; source ~/.bash_profile
以上是没有安装过 wp-cli 要的情况下需要安装的流程。

接下来是用 wp-cli (命令名称修改为 wp) 安装 WordPress ,进入一个空的安装目录
# 下载 WP 文件
1. $ wp core download
# 用有数据库权限的用户创建数据库并建立用户
2. $ sudo mysql -e ‘create database mydb; grant all on mydb.* to mydbuser@localhost identified by “mydbpass”;flush privileges’
# 创建配置文件 wp-config.php
3. $ wp config create –dbhost=”localhost” –dbname=”mydb” –dbuser=”mydbuser” –dbpass=’mydbpass’
# 正式安装 WP,设置 URL,Title,登录用户信息
4. $ wp core install –url=’https://mydomain.com’ –title=’XX集 团官网’ –admin_user=’admin’ –admin_email=’my@email.com’ –admin_password=’666888′
这样子一个完整的 WP 站点就安装完成了。
# 安装中文语言包
5. $ wp core language install zh_CN –activate

好了, 基本就大功告成了。后面是 下载安装或者自定义主题,插件了。

把 WordPress 博客一键发布为小程序

WordPress 作为写博客的重要开源建站平台,在各行各业十分的风靡,以其快速的搭建以及各种不同免费和收费的主题,还有琳琅满目的插件,使内容发布(自媒体)成为一件能快速简单上手的事情。

然而,在微信大行其道的移动社交化语境下,作为传统 PC 平台上的 WordPress 类型的博客日趋式微,中国的互联网社交平台,从早期的博客,到微博,进入微信时代后,也逐渐在向短视频平台倾斜。那么怎样挖掘原有的 WordPress 内容,让内容为王这个永恒的命题在微信时代继续熠熠生辉呢?

甬洁网络作为微信第三方平台的开发者,目前已经成功的实施了整套的 wordpress 自动发布为小程序的平台。只要 WordPress 站长已经开通了小程序,无论是个人还是企业,无论是否认证,只要通过微信开放平台授权给“甬洁应用”后,即可以在甬洁应用的后台,发布 WP 小程序,只要填写原来的 WordPress 站点域名即可。提交后,等候腾讯审核通过,再去“甬洁应用”后台,点击发布。一个完整的小程序就发布了。

以上流程,如果后续没有版本更新的话,只要做一次就可以。 所有在原来 WordPress 网站上发布的内容,无论旧的还是新发布的,都会自动在小程序上展示。

下面是管理你的博客小程序的小程序,你收到的赞赏金,可以通过以下小程序提现:

用 wp-cli 快速跨域迁移 WordPress 网站

要和最开始的那台阿里云 ECS 说再见了。 原来部署的一些 wordpress 网站都要迁移到新的华为云服务器上。以前是用 tar cvf 生成打包文件 ,再 scp 传到目标主机上。这次我们直接在目标机上安装 WordPress,而不拷贝 wordpress 。假设 wp-cli 的命令为 wp ,当前用户有对 WP 目录有写权限
步骤:

1. 运行 wp-deploy.sh 脚本
2. 把源主机上 mysqldump 的 SQL 文件导入到目标主机
3. wp option update home 新域名; wp option update siteurl 新URL
4. wp search-replace “old domain” “new domain” 把所有文章中关联的老的域名修改成新的域名
5. rsync 原主机/files 和 wp-content/uploads 目录下的文件到新主机


为 Kirki 插件使用到的 webfonts.js 指定国内的极客族网址

加载本网站时发现,登录后页面处于停滞状态,查看网络状态发现 有一个webfont.js 的引用。
https://ajax.googleapis.com/ajax/libs/webfont/

这段代码是由 “wp-content/plugins/kirki/modules/webfonts/class-kirki-modules-webfonts-async.php”  文件引入的,

我们只要把  https://ajax.googleapis.com 修改成 http://fdn.geekzu.org (极客族)即可。

用 WP-CLI 快速迁移 WordPress 站点

在我们把  freelamp.com 基于  WordPress 架构的AWS 新加坡站点迁移到 freelamp.skyone.net 阿里云华东的时候,使用 wp-cli 让我们快速的实现了站点的迁移。以下是简明步骤:

  1. 首先需要去 AWS 把数据库从 RDS 用 mysqldump 导出,然后把导出的SQL文件拷贝到阿里云站点。
  2. 在阿里云本地创建一个数据库,然后用 grant 命令赋予数据库的用户名和密码。
    grant all on freelamp_dbname.* to dbuser@localhost identified by ‘dbpass’;
    flush privileges;
  3. 由于数据库字符集以及 MySQL 版本的不同,我们需要把 mysqldump 导出的数据库 SQL 文件中的字符集做修改,然后直接导入数据库
    sed -e ‘s/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g’ freelamp.sql|mysql freelamp_dbname
  4. 由于 WP 站点有附件等放在 WP 目录下,所以,我们需要把 AWS 站点上的整个 WP 站点目录打包,再下载到阿里云后解压到 Web 的 DocumentRoot 下。 (当然也可以用 rsync 来处理)
  5. 修改 wp-config.php 文件, 把其中的数据库相关的用户名,密码, 数据库名按照我们 grant 语句里的参数做相应的修改。
  6. 如果不出意外的话,在 WP 站点目录下,运行 wp 命令,应该会有帮助提示,而不是报错。如果有报错的话,表示数据库设置有问题,需要确认数据库的设置。
  7. 接下来我们就可以用三条 update 语句,把域名修改一下,整个的 WP 站点就迁移完成了。

$ wp option update siteurl http://freelamp.skyone.net/
Success: Updated ‘siteurl’ option.
$ wp option update home http://freelamp.skyone.net/
Success: Updated ‘home’ option.
$ wp option update fileupload_url http://freelamp.skyone.net/files
Success: Updated ‘fileupload_url’ option.

其他一些 wp 的操作:

如果你不幸忘记了登录的用户名和密码的话, wp 命令也可以直接 reset 口令, 当然也可以添加新的用户。

$ wp user update 123 –display_name=Mary –user_pass=marypass

另外一个用数据库方式修改域名的办法:但是我感觉比较危险。
UPDATE wp_posts SET post_content = REPLACE( post_content, ‘old.site.name’, ‘new.site.name’ ) ;

关于 wp-cli 更详细的一些操作可以查看本站之前的文章:

用 wp-cli 自动部署 WordPress

wordpress一些常用的常量

ABSPATH :网站根目录的绝对路径
WP_CONTENT_DIR : wp-content目录的磁盘路径
WP_CONTENT_URL :wp-content目录的URL
TEMPLATEPATH : 当前主题所在目录路径
STYLESHEETPATH : 当前主题样式所在目录路径
WP_PLUGIN_DIR : 定义插件目录的磁盘路径
WP_PLUGIN_URL : 定义插件目录的URL
WP_LANG_DIR : 自定义语言包的路径
WP_POST_REVISIONS : 关闭 WordPress 版本修订功能
AUTOSAVE_INTERVAL 定义自动保存的时间