一个页面可以设置多个关键词么?

谷歌并不关心你设置 1 个关键词或 10 个。你面临的问题是,在所有其他因素都相同的情况下,一个只针对页面上一个单词的竞争对手总会击败一个针对多个单词的页面。

搜索引擎中的排名纯粹是一场竞争。需要全力以赴,尝试排名第一或者合理的位置。

一旦您获得了主要关键字的最高排名,那么您可以尝试变得贪婪并多样化为多个关键字。

composer 切换阿里云镜像

全局

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消全局

composer config -g --unset repos.packagist

项目

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

取消项目

composer config --unset repos.packagist

其他命令

composer list 显示所有命令

composer show 显示所有包信息

composer install 在 composer.json 配置中添加依赖库之后运行此命令安装

composer create-project laravel/laravel Laravel –prefer-dist “5.1.*” 创建项目

composer search packagename 搜索包

composer update 更新所有包

composer update monolog/monolog 更新指定包

composer remove monolog/monolog 移除指定的包

composer require monolog/monolog 添加指定包

composer require monolog/monolog:1.19 添加指定包和版本

composer require monolog/monolog=1.19

composer require monolog/monolog 1.19

一、什么是 robots.txt

Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

协议写在robots.txt文件里面。

二、要不要使用robots.txt

1、如果你的网站有部分内容不希望搜索引擎抓取,那么请设置robots.txt
2、如果你的网站全部内容都需要被搜索引擎抓取,可以不设置。
3、一般来说,一些后台文件(如css、js)、用户隐私的文件不用被搜索引擎抓取。
4、如果有些文件频繁被蜘蛛抓取,但是这些文件又是不重要的,那么可以用robots.txt进行屏蔽。

三、robots 协议规则

User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符

Disallow: /文件夹名称/ 这里定义是禁止爬取这个文件夹下面的目录

Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。

Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址

Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片

Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。

Allow: /cgi-bin/  这里定义是允许爬寻cgi-bin目录下面的目录

Allow: /tmp 这里定义是允许爬寻tmp的整个目录

Allow: .htm$ 仅允许访问以”.htm”为后缀的URL。

Sitemap: 网站地图的URL 告诉爬虫这个页面是网站地图

四、这里是一个 demo

User-agent: SMTBot
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: Cliqzbot
Disallow: /

User-agent: MJ12bot
Disallow: /

User-agent: DomainStatsBot
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: SemrushBot-SA
Disallow: /

User-agent: spbot
Disallow: /

User-agent: *
Allow: /

Disallow: /images/
Disallow: /articletype/
Disallow: /article/
Disallow: /user/
Disallow: /cart/
Disallow: /*.php

Disallow: /comment/list/*
Allow: /comment/list/$

Sitemap: /sitemap.xml

五、robots.txt具体用途

1、一个页面对应多个URL时,应屏蔽多余的URL。

2、如果网站有页面是没有实质性内容的,应该屏蔽掉。

3、如果网站改版删除了大量的页面(404),应该屏蔽掉。

4、如果是UGC网站,用户产生了大量的不良内容,应该屏蔽掉。

5、不希望被搜索引擎索引的内容(后台界面、用户隐私),应该屏蔽掉。

合并某个分支上的单个commit

比如,feature 分支上的 commit 62ecb3 非常重要,它含有一个bug的修改。你现在只需要将 62ecb3 合并到 master,而不合并 feature 上的其他 commits:

git checkout master
git cherry-pick 62ecb3

合并某个分支上的一系列commits

在一些特性情况下,合并单个commit并不够,你需要合并一系列相连的commits。

这种情况下就不要选择 cherry-pick 了,rebase 更适合。

假设你需要合并 feature 分支的 commit 76cada ~62ecb3 到 master分支。

首先需要基于 feature 创建一个新的分支,并指明新分支的最后一个commit:

git checkout -b newbranch 62ecb3

然后,rebase 这个新分支的 commit 到 master(--ontomaster)。

git rebase --onto master 76cada^

得到的结果就是feature分支的commit 76cada ~62ecb3 都被合并到了master分支。

偶尔会因为业务需要,对 nginx http 请求做一些特定的处理,使用 openresty 可以办到很多使用 nginx 难以处理的问题。

但是,如果对 openresty 的调试如果不熟悉,遇到一些编码错误的时候,就很难定位问题,解决问题。

这里简单的整理几条技巧,通过他们可以比较容易的对 openresty 进行调试。

一、搭建 openresty 的环境

这部分参考 openresty 的编译说明操作即可。

二、配置 nginx.conf, 便于调试

  1. 打开错误输出:
    在 nginx 配置文件的顶部,添加:
error_log stderr debug;
  1. 关闭守护进程:
    在 nginx 配置文件的顶部,添加:
daemon off;
  1. 关闭 lua_code_cache:
    lua_code_cache 默认是开启的,在生产环境中也必须开启,这样能够提高 nginx 的运行效率,但是在开发环境,可以打开,这样,当你对 lua 脚本的内容进行改变的时候,无需重启 nginx, lua 脚本就能生效。

二、如何自定义输出 nginx 日志

在你的 lua 脚本中,你可能想对执行过程中对某个变量进行输出,此时,你可以使用 nginx.log() 方法。

nginx 的日志级别如下:

ngx.STDERR 标准输出
ngx.EMERG 紧急报错
ngx.ALERT 报警
ngx.CRIT 严重,系统故障, 触发运维告警系统
ngx.ERR 错误,业务不可恢复性错误
ngx.WARN 提醒, 业务中可忽略错误
ngx.NOTICE 提醒, 业务中比较重要信息
ngx.INFO 信息, 业务琐碎日志信息, 包含不同情况判断等
ngx.DEBUG 调试

示例:

ngx.log(ngx.ERR, “num:”, num)
ngx.log(ngx.INFO, ” string:”.. str)

三、调试 lua 函数

建议下载软件 ZeroBraneStudio , 对 lua 函数进行单独的调试。

四、需要熟悉 nginx 的常用变量

五、需要熟悉 nginx 的执行阶段

六、为了调试,你需要有一个启动 openresty 测试环境的脚本

#!/bin/bash

sudo /usr/local/opt/openresty/bin/openresty  -p  /data/www/nginx/dev/ -c conf/nginx.conf