ember-cli-head
ember-cli-head copied to clipboard
How to override existing tags specified in index.html?
I have a problem where my app index is not prerendered, but nested routes are (served via different origins).
I want to be able to have default tags in my index.html
and override it using ember-cli-head
when needed.
In my index.html I would like to have:
<head>
<meta name="og:title" content="Some title">
...
</head
But when using ember-cli-head
in some nested routes, duplicates happen:
<head>
<meta name="og:title" content="Some title">
...
<meta name="ember-cli-head-start" content="">
<meta name="og:title" content="Some more appropriate title">
<meta name="ember-cli-head-end" content="">
</head
I get duplicates for og:title
.
So when social media bots scrape my FastBoot routes, they take the first property. But they should take the second one.
How can I get ember-cli-head
to render its stuff either at the beginning of the head, or replace tags that are already present in the head in index.html
?
I don't think you can have two tags of the same name at once, But handlebars {{#if}} tags works fine in head.hbs So here's what I'd do in the head.hbs
{{#if model.title}}
<title>{{model.title}}</title>
<meta property="og:title" content="{{model.title}}" />
{{else}}
<title>Your default title</title>
<meta property="og:title" content="Your Default Title" />
{{/if}}