2016-10-31 2 views
7

Я недавно начал использовать тег <template> для HTML, который я обрабатываю впоследствии, используя библиотеку шаблонов, например.«Сломанные» ссылки внутри тега <template>

<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> 

Однако, я пришел к выводу, это означает, что у меня есть сломанная ссылка (example.com/pages/{{link}}) в моем HTML. Это вызывает беспокойство, поскольку различные искатели могут считать его недействительным (на самом деле, Google Search Console сообщает, что моя домашняя страница имеет неработающую ссылку).

  1. Действительно ли это <template> таким образом?

  2. Лучше ли это вместо <script type="text/template"> (как видно на handlebars.js website)?

ответ

1

выход переменная действительно содержит HTML можно было бы ожидать, то есть, тонированное шаблон; однако ваш код не записывает содержимое вывода в любом месте.

Вот рабочий пример:

<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> 

Google не сканироваться испытательную установку сайта я для этого. Однако, когда я попросил GoogleBot отобразить мою версию вашего кода, он отобразил ссылку внутри элемента template, то есть *{{title}}* и ссылку на обработанный шаблон, то есть *abc*. Несмотря на то, что Google говорит, что у вас есть неработающая ссылка в элементе template, на самом деле этого не происходит, когда пользователь просматривает его.

Один из возможных способов заставить Google прекратить указывать на то, что у вас есть неработающая ссылка, чтобы окружить ваши template тегами <!--googleoff: anchor--> ...templates... <!--googleon: anchor-->. Эти теги останавливают googlebot от индексирования тегов привязки, содержащихся внутри.

Пример:

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

Спасибо, я на самом деле не имел ни малейшего представления о 'googleoff' комментарии! Тем не менее, я знаю, что мой пример на самом деле ничего не отображал (я просто использовал его, чтобы показать, как я использую тег '