diff --git a/src/client/updateClientMetaInfo.js b/src/client/updateClientMetaInfo.js
index b29e6da..140a494 100644
--- a/src/client/updateClientMetaInfo.js
+++ b/src/client/updateClientMetaInfo.js
@@ -1,16 +1,9 @@
import { metaInfoOptionKeys, metaInfoAttributeKeys } from '../shared/constants'
import { isArray } from '../utils/is-type'
import { includes } from '../utils/array'
+import { getTag } from '../utils/elements'
import { updateAttribute, updateTag, updateTitle } from './updaters'
-function getTag (tags, tag) {
- if (!tags[tag]) {
- tags[tag] = document.getElementsByTagName(tag)[0]
- }
-
- return tags[tag]
-}
-
/**
* Performs client-side updates when new meta info is received
*
diff --git a/src/client/updaters/tag.js b/src/client/updaters/tag.js
index 1a36ebe..ab6a3d1 100644
--- a/src/client/updaters/tag.js
+++ b/src/client/updaters/tag.js
@@ -1,5 +1,6 @@
-import { booleanHtmlAttributes } from '../../shared/constants'
-import { toArray, includes } from '../../utils/array'
+import { booleanHtmlAttributes, commonDataAttributes } from '../../shared/constants'
+import { includes } from '../../utils/array'
+import { queryElements, getElementsKey } from '../../utils/elements.js'
/**
* Updates meta tags inside
and on the client. Borrowed from `react-helmet`:
@@ -9,11 +10,16 @@ import { toArray, includes } from '../../utils/array'
* @param {(Array