2017-10-14 130 views
1

對於HEXO博客...我知道元描述是用配置文件編寫的,適用於所有頁面。「標記」和「類別」的元描述頁面

對於博客我可以創建個人元描述,並適用於搜索引擎。

但是,我的「標籤」和「類別」頁面現在獲得索引,並帶有主頁的元描述。 這不好。

所以我問是否有可能爲「標籤」和「類別」頁面創建自定義元描述? 喜歡的東西... description: this is a page about {{tag}}

description: this is a page about {{category}}

這是我head.ejs代碼。 該網站的主要配置文件有description: main config meta-description text

<%if(metaDescription){%> 
 
<meta name="description" content="<%= config.description %>"> 
 
    <% } else if (page.description){ %> 
 
     <meta name="description" content="<%= page.description %>"> 
 
     <% } else if (page.excerpt){ %> 
 
     <meta name="description" content="<%= strip_html(page.excerpt).replace(/^\s*/, '').replace(/\s*$/, '').replace(/[\n,\r]/g,'') %>"> 
 
     <% } else if (page.content){ %> 
 
     <meta name="description" content="<%= strip_html(page.content).replace(/^\s*/, '').replace(/\s*$/, '').substring(0, 150).replace(/[\n,\r]/g,'') %>"> 
 
     <% } else if (config.description){ %> 
 
     <meta name="description" content="<%= config.description %>"> 
 
     <% } 
 
     <% if (page.keywords){ %> 
 
     <meta name="keywords" content="<%= page.keywords %>"> 
 
     <% } else if (page.tags){ %> 
 
     <% 
 
     var thistags=[]; 
 
     page.tags.each(function(k){ 
 
     thistags.push(k.name); 
 
     }) %> 
 
     <meta name="keywords" content="<%= thistags %>"> 
 
     <% } %>

回答

1

這一切都是由你的主題,所以你需要添加邏輯那裏處理。

你需要檢查,如果你的網頁是一個標籤或類別指數和生成自定義的描述有:

let description = page.description; // Normal case when your desc comes from meta data 


else if (page.tag) { 
    description = 'This is a page about ' + page.tag; 
} else if (page.category) { 
    description = 'This is a page about ' + page.category; 
} 

// Use your description variable as you are currently doing 

編輯:根據更新後(增加head.ejs

else if (page.tag) { 
    <meta name="description" content="<%= 'This is a page about ' + page.tag %>"> 
} else if (page.category) { 
    <meta name="description" content="<%= 'This is a page about ' + page.category %>"> 
} 
+0

嗨..我已經從你的博客中學到了很多... http://www.codeblocq.com/2016/03/Create-an-Hexo-Theme-Part-1-Index/ - 很高興在這裏見到你...... :)關於描述,是有道理的,但到底在哪裏實現呢?我有一個帖子的概述頁面,這需要從'archive.ejs',我的'標籤'頁面的邏輯,我假設'categories'頁面也採用了我的'archive.ejs'部分的邏輯,所以我會添加上面的代碼'archieve.ejs'?無論哪種方式,默認的'meta-description'仍然適用於NON-tag和NON-categories,因爲我在我的主「config」文件中設置了它,對嗎? – raulbaros

+0

如果你的元描述來自配置,完美。其餘的邏輯應該在你需要的地方實現:你的情況可能是'head.ejs'或類似的東西。 – klugjo

+1

明白了,謝謝! – raulbaros