Meta description attribute

Up and running with my self hosted blog using the hugo uno theme and all looks good.

To develop this a little further I want to add a meta description to each page, but it’s not happening!
I’ve read the section on Front Matter, and added the description attribute to the respective post.md

+++
date = "2016-08-09T21:33:04+01:00"
draft = false
title = "Reconfiguring the TalkTalk DSL-3680 Router to work with a home network"
description = "If using talktalk router DSL-3680 for a home network or to serve a website etc, etc,etc"
tags = [ "talktalk", "DSL3680", "router", "admin page" ]
+++

…and expected the meta ‘description’ to be added after a re-compile, but looking at the source of the published page, the meta description hasn’t been added.
Am I doing something wrong?

This is my URL

Paul

Make sure to include a meta name=“description” line in the head of your html file… Depending on the structure of your theme, this is managed either on index.html or on a partial called within your index.html (sth. like “head.html” or so).
I just had a quick look into uno theme, it’s handled in the partial “head.html”

There you can place something like:

<meta name="description" content="{{ .Description }}">

Edit: BTW, in order to optimize your site for SEO purposes (even though meta tags are by far not as important anymore as they used to be), I recommend using a more complex structure in order to go sure that every page has the best meta description it can get. In my case, for example, I use the following:

{{ if .Description }}
<meta name="description" content="{{ .Description }}">
{{ else if .IsPage }}
<meta name="description" content="{{ .Summary | plainify }}">
{{ else if eq .URL “/blog/” }}
<meta name="description" content="Lass dich inspirieren - mit einzigartigen Blog-Posts und Videos zu Yoga, Reisen, Mind & Meditation, Gesundheit und mehr. - Get inspired & share the spirit!">
{{ else }}
<meta name="description" content="Yoga-Unterricht auf Spendenbasis. Inspirierender Blog & Videos über Yoga, Reisen, Mind & Meditation, Gesundheit & mehr. - Get inspired & share the spirit!">
{{ end }}

It’s not perfect yet, but might give you an idea what I’m talking about. (However, as your site structure is not as complex as mine, you will probably just need a simple if else.)

3 Likes

I’ll revisit your ‘complex structure’ when I get a bit more familiar with Hugo, but for now, I’ll stick with adding the meta in the partial “head.html”, I’ve just tried it, and it works great - thank you.

Paul

@Paul_Reed Unless you want to use the built-in summary ability on single pages, you can simplify the above using default. {{.Description | default .Site.Params.SiteDescription}}

Then just add your .SiteDescription to your params in your config

2 Likes

@rdwatters, I’ll stick with the ‘single page’ option for now, but thanks for the suggestion :sunny:
I’m still finding my feet here, so things may (probably will!) change.

Paul

@inspiritana
@rdwatters
@Paul_Reed

Please take a look at my version of meta description logic.

File: baseof.html

{{ $description := "" }}
{{ if .IsPage }}
  {{ if .Params.Description }}
    {{ $description = .Params.Description }}
  {{ else }}
    {{ $description = .Summary }}
  {{ end }}

{{ else if .Params.Description }}
  {{ $description = .Params.Description }}

{{ else }}
  {{ $description = .Site.Params.Description }}

{{ end }}

Thanks,
Faizan Vahevaria
CEO, Fatah Digital
Hugo Developer with 3 years of Experience

1 Like

Seems like using default would make this so much shorter and easier to reason about, IMHO.

2 Likes