Authored by yyq

guang seo

... ... @@ -298,11 +298,8 @@ exports.detail = (req, res, next) => {
};
}
title = `${info.title} | YOHO!BUY有货`;
keywords = info.tag.length > 0 ? `${info.tag}` :
['Yoho! 有货,潮流,时尚,流行,购物,B2C,正品,购物网站,网上购物,货到付款,品牌服饰,男士护肤,',
'黑框眼镜,匡威,板鞋,i.t,izzue,5cm,eastpak,vans,lylescott,g-shock,new balance,lacoste,melissa,',
'casio,卡西欧手表,舒雅,jasonwood,odm,AAAA,香港购物,日本潮流'].join('');
title = `${info.title}-YOHO!BUY 有货网`;
keywords = info.title;
description = info.desc.length > 0 ? `${info.desc}` :
'潮流商品搜索,上衣,衬衫,TEE,卫衣,冲锋衣,风衣,羽绒服,裤子,休闲鞋,板鞋,配饰,复古眼镜';
... ...
... ... @@ -82,11 +82,34 @@ const getArticleUrl = (url, id) => {
return helpers.urlFormat(`/guang/${id}.html`);
};
const guangListSeoMap = {
1001: {
title: '高人气潮流文章,逛人气潮流资讯-YOHO!BUY 有货网',
keywords: '人气潮流文章,潮流人气,逛潮流人气',
description: '有货网每天提供全球人气最高的潮流文章资讯,宣传潮流商品,潮流文化,潮流品牌等信息,想更多了解高人气潮流资讯就来有货网!'
},
2: {
title: '各种潮流搭配,逛潮流搭配资讯-YOHO!BUY 有货网',
keywords: '搭配潮流文章,潮流搭配',
description: '有货网每天提供全球最新最潮的潮流搭配文章资讯,宣传潮流商品,潮流文化,潮流品牌等信息,想更多了解学习潮流搭配资讯就来有货网!'
},
4: {
title: '潮流品牌,逛各种潮流品牌资讯-YOHO!BUY 有货网',
keywords: '逛潮品,潮流潮品,潮品资讯',
description: '有货网每天提供全球最新最潮的潮流潮品文章资讯,宣传潮流商品,潮流文化,潮流品牌等信息,想更多了解学习潮流潮品资讯就来有货网!'
},
22: {
title: '潮流视频,欣赏最新最好玩的潮流视频-YOHO!BUY 有货网',
keywords: '潮流视频,看潮流。',
description: '有货网每天提供全球最新最潮最精彩的潮流视频,宣传潮流商品,潮流文化,潮流品牌等信息,想更多欣赏潮流视频就来有货网!'
}
};
const getIndexSeo = (params, tabs) => {
let tdk = {
title: '逛|逛潮流,逛购物,官方授权正品潮流购物中心|YOHO!BUY有货',
keywords: '逛,逛潮流,逛购物',
description: 'YOHO!BUY有货逛频道,来YOHO!玩潮流!潮搭大解析!年轻人潮流购物中心,中国潮流购物风向标,吴亦凡重磅代言!YOHO!BUY有货100%正品保证,支持货到付款。'
title: '逛潮流,最新原创潮流资讯 |YOHO!BUY有货',
keywords: '潮流资讯,潮流文章,有货潮流分享',
description: '来有货玩潮流,潮流资讯大分享!年轻人潮流购物中心,了解潮流趋势、掌握潮流文化知识信息,尽在有货逛潮流!'
};
params = params || {};
... ... @@ -94,12 +117,8 @@ const getIndexSeo = (params, tabs) => {
if (params.hasOwnProperty('type')) {
let tab = _.find(tabs, {isActive: true});
if (tab && tab.type) {
Object.assign(tdk, {
title: `潮流${tab.type}-|YOHO!BUY有货`,
keywords: `潮流${tab.type}`,
description: `YOHO!BUY有货潮流${tab.type}!`
});
if (tab && tab.typeId) {
Object.assign(tdk, guangListSeoMap[tab.typeId] || {});
}
}
... ... @@ -108,17 +127,17 @@ const getIndexSeo = (params, tabs) => {
const getEditorSeo = (name) => {
return {
title: `潮流编辑${name}|YOHO!BUY有货`,
keywords: `潮流编辑${name}`,
description: `YOHO!BUY有货潮流编辑${name}!`
title: `【${name}】潮流编辑${name}-YOHO!BUY 有货网`,
keywords: ` ${name},潮流编辑${name},潮流编辑`,
description: `有货逛潮流,潮流编辑${name}分享大量原创潮流资讯,掌握大量不同类别的潮流文化知识信息,尽在有货逛潮流。`
};
};
const getTagSeo = (tagName) => {
return {
title: `${tagName}|YOHO!BUY有货`,
keywords: `${tagName}`,
description: `YOHO!BUY有货潮流${tagName}!`
title: `【${tagName}${tagName}潮流资讯-YOHO!BUY 有货网`,
keywords: `${tagName}${tagName}潮流资讯,${tagName}文章`,
description: `来有货逛潮流,${tagName}潮流资讯大分享!了解${tagName}潮流趋势,掌握${tagName}潮流文化知识信息,尽在有货逛潮流。`
};
};
... ...
... ... @@ -18,7 +18,7 @@
<div class="article-status clearfix">
<span class="article-time">{{time}}</span>
<span class="article-click">点击:<em>{{click}}</em></span>
<a href="#comment-info" id="article-comment" class="article-comment"><em class="comment-num">{{commentNum}}</em>条评论</a>
<a href="#comment-info" id="article-comment" class="article-comment"><em class="comment-num" rel="nofollow">{{commentNum}}</em>条评论</a>
</div>
</div>
{{/ header}}
... ... @@ -71,7 +71,7 @@
{{# brands}}
<div class="brand">
<a class="thumb" href="{{url}}" target="_blank">
<img class="lazy" data-original="{{image2 thumb}}">
<img class="lazy" data-original="{{image2 thumb}}" alt="{{name}}">
</a>
<p class="brand-name">{{name}}</p>
</div>
... ... @@ -105,7 +105,7 @@
<ul class="clearfix">
{{# tag}}
<li>
<a href="{{url}}" target="_blank" rel="nofollow">{{name}}</a>
<a href="{{url}}" target="_blank" title="{{name}}" rel="nofollow">{{name}}</a>
</li>
{{/ tag}}
</ul>
... ... @@ -123,7 +123,7 @@
<li>
<a href="{{url}}" target="_blank">
<span class="bg-img">
<img src="{{image2 thumb}}" alt="">
<img src="{{image2 thumb}}" alt="{{title}}">
</span>
<div class="post-title">
<h2>{{title}}</h2>
... ...
... ... @@ -5,7 +5,7 @@
</div>
<div class="type-icon fashion-man"></div>
<a href="{{url}}" target="_blank">
<img class="lazy{{#if isSquareImg}} square{{/if}}" data-original="{{image2 img}}">
<img class="lazy{{#if isSquareImg}} square{{/if}}" data-original="{{image2 img}}" alt="{{title}}">
{{#if isVideo}}<i class="video-icon"></i>{{/if}}
</a>
</div>
... ...
... ... @@ -34,7 +34,7 @@
{{# authorArticle}}
{{#if url}}
<div class="ex-reco-item clearfix">
<a class="ex-reco-img" href="{{url}}" target="_blank">
<a class="ex-reco-img" href="{{url}}" target="_blank" title="{{title}}">
<span class="bg-img" style="background-image:url({{image2 img}})"></span>
</a>
<a href="{{url}}" target="_blank">
... ...
... ... @@ -4,7 +4,6 @@
'use strict';
const _ = require('lodash');
const querystring = require('querystring');
const ptm = {
// 首页
... ... @@ -32,10 +31,7 @@ const ptm = {
module.exports = () => {
return (req, res, next) => {
let domain = 'm.yohobuy.com';
let proRegNew = /^\/product\/([\d]+).html(.*)/,
guangReg = /^\/guang/,
guangDetailReg = /\/guang\/info\/index/,
qsReg = /\?/;
let proRegNew = /^\/product\/([\d]+).html(.*)/;
if (!req.xhr) {
let url = _.head(_.split(req.url, '?'));
... ... @@ -49,22 +45,8 @@ module.exports = () => {
data.mobileRefer = `//${req.query.domain}.${domain}`;
} else if (url === '/product/search/index') {
data.mobileRefer = `//search.${domain}`;
} else if (guangReg.test(url)) {
data.mobileRefer = `//guang.${domain}`;
if (guangDetailReg.test(url)) {
data.mobileRefer += url.replace(/\/guang\/info\/index/, '/info/index');
} else if (url === '/guang/index/editor') {
data.mobileRefer += `/author-${req.yoho.channel}-${req.query.author_id}/`;
}
} else if (proRegNew.test(url)) {
data.mobileRefer = url.replace(proRegNew, `//${domain}/product/$1.html$2`);
} else {
data.mobileRefer = `//${domain}${req.originalUrl}`;
}
if (!_.isEmpty(req.query) && !qsReg.test(data.mobileRefer)) {
data.mobileRefer += `?${querystring.stringify(req.query)}`;
}
Object.assign(res.locals, data);
... ...