I think it is very important to add date information about articles’ creation time and modification time. There are various ways to do this. I usually prefer when this be done by my favorite editor and so I wrote a short function:

function! LastMod()
        if expand('%:p:h') =~ 'path/to/my/hugo-website/www.nixre.net/content'
                let l:cursorpos = winsaveview()
                let l:timestamp = strftime('%Y-%m-%dT%H:%M:%S+02:00')
                silent! exe ':%s/^\(lastmod:\).*$/\1 ' . expand(l:timestamp) . '/'
                call winrestview(l:cursorpos)
        endif
endfunction

The markdown sources are inside the content folder of my hugo website and the expand('%:p:h') of the file that is currently loaded into the buffer will show the absolute path to the directory that contains the file. Vim will check if the string afterwards
path/to/my/[..]/content is part of path to the currently loaded file. If so then first it saves the properties of the current window, like cursorposition and so. Then it creates a local variable l:timestamp with the current timestamp, searches the line that begins with lastmod: and updates this line with the current timestamp in l:timestamp. As last step it resets the window that was saved into the l:cursorpos variable in the first step.

Now to make vim execute this function I added an autocommand group which calls the above function:

augroup www.nixre.net
        au!
        au BufWrite /full/path/to/my/hug-website/www.nixre.net/content/**.md call LastMod()
augroup end

This tells vim to call the function if I save a file that has the .md extension in the given path. This way vim always updates the timestamp string in the frontmatter field lastmod: when I save the buffer’s content to the file.