2016-10-31 40 views
7

Kısa bir süre önce bir şablon kitaplığı kullanarak işlediğim HTML için <template> etiketini kullanmaya başladım.etiketi içindeki "Bozuk" bağlantılar

<template id="tmpl"> 
    <div class="something"> 
    <a href="/pages/{{link}}">{{title}}</a> 
    </div> 
</template> 
... 
<script> 
var output = Mustache.render($('#tmpl').html(), { 
    link: 'abc', 
    title: 'abc' 
}); 
</script> 

Ancak, bu benim HTML bozuk bir bağlantı (example.com/pages/{{link}}) var demektir farkına vardım. Bu, çeşitli tarayıcıların geçersiz sayılabileceği için bir endişe kaynağıdır (aslında, Google Search Console, ana sayfamı kopmuş bir bağlantıya sahip olarak bildirir).

  1. <template> kullanımı bu şekilde mi geçerli?

  2. <script type="text/template"> yerine (handlebars.js website'da görüldüğü gibi) koymak daha iyi midir?

cevap

1

çıkış değişken biz beklediğiniz HTML, içermiyor yani render şablon; Ancak kodunuz, çıkışının değişkeninin içeriğini herhangi bir yere yazmaz.

<template id="tmpl"> 
    <div class="something"> 
    <a href="/pages/{{link}}">{{title}}</a> 
    </div> 
</template> 

<span id="output"></span> 

<script> 
var output = Mustache.render($('#tmpl').html(), { 
    link: 'abc', 
    title: 'abc' 
}); 
$('#output').html(output); 
</script> 

tarihinde düzgün bu test sitesi I kurulum taramadı: Burada

çalışan bir örnektir. Ancak, GoogleBot'tan kodunuzun sürümünü oluşturmamı istediğimde, template öğesinin, yani *{{title}}* öğesinin ve oluşturulan şablon bağlantısının, yani *abc*'un içindeki bağlantıyı görüntüledim. Google, template öğesinde bozuk bir bağlantınız olduğunu söylemesine rağmen, bir kullanıcı bunu görüntülediğinde gerçekten yapmazsınız.

Google'ın kırık bir bağlantınızın olduğunu belirtmek için Google'dan çıkmanın olası bir yolu, template etiketlerinizi <!--googleoff: anchor--> ...templates... <!--googleon: anchor--> ile çevrelemektir. Bu etiketler, içinde bulunan bağlantı etiketlerini dizine eklemek için googlebot'u durdurur.

Örnek:

<!--googleoff: anchor--> 
<template id="tmpl"> 
    <div class="something"> 
     <a href="/pages/{{link}}">{{title}}</a> 
    </div> 
</template> 
<!--googleon: anchor--> 
+0

sayesinde, aslında 'googleoff' yorumlarla ilgili hiçbir fikri yoktu! Yani, benim örneğimin aslında bir şey oluşturmadığını fark ettim (“