对大中型网站的SEO工作来说,人工分类只能解决中短尾词的着陆页需求,可能做成分类列表,也可能做成专题页来抢占关键词排名。
但还有大量的长尾搜索需求该如何覆盖呢?
常规做法是长尾词聚合页。
一、聚合页是什么?
举个例子,看下面的阿里巴巴产品聚合页
通过关键词去站内搜索出一些结果做成SEO Friendly的静态化页面。
聚合页面之间需要做一些内链,并且在网站高权重页面加索引入口,以加快收录,从而获得大量长尾流量。
这种做法对于B2B和分类信息网站来说都是惯用手段。
搜索引擎也会时不时打击下这种页面类型,但如果网站内容足够丰富,搜索相关性不是太离谱,内容足够支撑页面的话,这种优化方法必须要做。
二、词库搭建
因为聚合页是由大量长尾关键词自动生成,所以词库质量好坏,直接影响到搜索流量。
如何获得大量长尾词?
- 金花关键词工具
- 战神关键词工具
- http://5118.com 关键词拓展
5118付费会员可以下载某个域名下的全部百度PC关键词。
通过以上工具,可以获得大量长尾关键词,以便于做后续的研究分析。
三、词库清洗
虽然可以通过第三方工具可以获得大量关键词,但是你需要做数据清洗,比如过滤一些违法词,或者对关键词进行文本分析替换或删除。
如果词量巨大,动辄百万,甚至千万的时候,常规的文本编辑器都很难处理了。(比如sublime,editplus等)
这时候需要用靠编程的手段来辅助处理,或者使用一些Linux下的强大文本处理指令,如Sed或Awk。这些工具Mac也是默认支持的。
比如我需获取从300万词中提取纯关键词,就是不包含地区名(主要是城市名)、不包含”供应“、”价格“、”批发“等,最好是一个专有名词,不包含其他修饰词或组合。
比如”石家庄小松挖掘机价格“,处理后的”纯词“应为”小松挖掘机“。
这样方便以后自己拓展,比如为了抢产品的价格和报价,我们可以组合词 ”小松挖掘机价格“,”小松挖掘机报价“等长尾词,这样页面设计和SEO元素都会更加精准,页面质量也可以更高。
如果想做图片词聚合页面,使用”纯词“ 另外组合出”小松挖掘机图片“即可。
为了实现这样的效果,需要简单学一些sed命令。
删除包含某个关键词的行
比如我要删除包含:”美女“ 关键词的行。
sed -i.bak '/美女/d' filename
这个命令就可以删除词库中包含”美女“这个关键词的行,直接更新当前文件,并且对原始文件做一个备份,扩展名为.bak。(filename.bak)
关键词替换
比如我要把所有关键词中包含的”出口“换成“进口”:
sed -i.bak 's/出口/进口/g' filename
s字符代表替换,g代表全局替换,如果只替换第一个出现的“出口”,则可以去掉。
关键词删除
那删除呢?其实就是也是一种替换,那就是把符合的词,替换成空。
比如我要把所有关键词中开头包含的”供应“去掉:
sed -i.bak 's/^供应//g' filename
s字符代表替换,“^供应”代表以“供应”开头的关键词(支持正则),g代表替换所有“供应”,如果只替换第一个出现的“供应”,则可以去掉。
如果我要把所有关键词中结尾包含的”厂“去掉:
sed -i.bak 's/厂$//g' filename
“厂$”代表以“厂”结尾的关键词
根据关键词长度过滤词
删除小于等于三个字符的关键词
sed -i.bak -r '/^.{,3}$/d' filename
注意:这里不是按字节算的长度,比如即使UTF-8格式,也是每个汉字算1个,而不是算3。
删除大于等于十个字符的关键词
sed -i.bak -r '/^.{10,}$/d' filename
当然,值得字符长度区间也是可以的。
去掉所有匹配到的城市名
sed -i.bak 's/[鞍山|安阳|安庆|安康|阿克苏|安顺|阿勒泰|阿拉善|阿坝|阿里|阿拉尔|澳门|北京|保定|滨州|包头|宝鸡|本溪|蚌埠|北海|巴彦淖尔|白城|白山|亳州|巴中|白银|百色|毕节|巴音郭楞|保山|博尔塔拉|成都|重庆|长沙|长春|常州|沧州|赤峰|承德|常德|长治|郴州|滁州|巢湖|潮州|昌吉|池州|楚雄|崇左|昌都|朝阳|常熟|慈溪|大连|东莞|德州|东营|大庆|大同|丹东|儋州|德阳|达州|大理|大兴安岭|定西|德宏|迪庆|钓鱼岛|鄂尔多斯|恩施|鄂州|福州|佛山|抚顺|阜阳|阜新|抚州|防城港|广州|贵阳|桂林|赣州|广元|广安|贵港|固原|甘南|甘孜|果洛|杭州|惠州|哈尔滨|合肥|呼和浩特|海口|邯郸|菏泽|衡水|淮安|衡阳|葫芦岛|淮南|汉中|怀化|淮北|黄冈|湖州|黄石|呼伦贝尔|河源|鹤壁|鹤岗|黄山|红河|河池|哈密|黑河|贺州|海西|和田|海北|海东|黄南|济南|济宁|吉林|锦州|金华|嘉兴|江门|荆州|焦作|晋中|佳木斯|九江|晋城|荆门|鸡西|吉安|揭阳|景德镇|济源|酒泉|金昌|嘉峪关|胶州|即墨|昆明|开封|喀什|克拉玛依|库尔勒|克孜勒苏|昆山|兰州|拉萨|廊坊|临沂|洛阳|聊城|柳州|连云港|临汾|漯河|辽阳|乐山|泸州|六安|娄底|莱芜|龙岩|吕梁|丽水|凉山|丽江|六盘水|辽源|来宾|临沧|陇南|临夏|林芝|绵阳|牡丹江|茂名|梅州|马鞍山|眉山|南京|宁波|南宁|南昌|南通|南阳|南充|内江|南平|宁德|怒江|那曲|平顶山|濮阳|盘锦|莆田|攀枝花|萍乡|平凉|普洱|郫县|青岛|琼海|秦皇岛|泉州|齐齐哈尔|清远|曲靖|衢州|庆阳|七台河|钦州|潜江|黔东南|黔南|黔西南|日照|日喀则|上海|深圳|沈阳|石家庄|苏州|汕头|商丘|三亚|宿迁|绍兴|十堰|四平|三门峡|邵阳|上饶|遂宁|三明|绥化|石河子|宿州|韶关|松原|随州|汕尾|双鸭山|朔州|石嘴山|商洛|神农架|山南|双流|天津|太原|唐山|泰安|台州|泰州|铁岭|通辽|通化|天水|铜陵|铜川|铜仁|天门|塔城|吐鲁番|图木舒克|武汉|无锡|乌鲁木齐|威海|潍坊|温州|芜湖|渭南|乌海|梧州|乌兰察布|武威|文山|吴忠|五家渠|五指山|西安|厦门|西宁|徐州|咸阳|邢台|襄阳|新乡|湘潭|许昌|信阳|孝感|忻州|咸宁|新余|宣城|仙桃|锡林郭勒|湘西|兴安|西双版纳|香港|银川|宜昌|烟台|扬州|盐城|营口|岳阳|运城|榆林|宜宾|阳泉|延安|益阳|永州|玉林|宜春|阳江|延边|玉溪|伊犁|云浮|伊春|雅安|鹰潭|玉树|义乌|郑州|珠海|淄博|中山|枣庄|张家口|株洲|镇江|周口|湛江|驻马店|肇庆|自贡|遵义|漳州|舟山|张掖|资阳|张家界|昭通|中卫]//g' filename
根据字符串长度由小到大排序
cat filename | awk '{ print length, $0 }' | sort -n -s | awk '{print $2}' > another_filename
解释:读取文件“filename”的内容使用awk处理为“字符长度+关键词”的两列,然后排序,最后取第二列数值,然后另存为anther_filename
这样就可以得到一个根据字符串长度排序的新文件。
Sed和Awk的功能非常强大,以上只是自己工作中用到几条命令,这种好工具值得大家一起深入研究学习。
希望以后把词库处理做成一个标准化的脚本自动化处理,甚至加入百度指数、百度搜索结果数等指标来辅助判断关键词质量。
文章来源:乔向阳的知乎专栏