Your html code should look like:

<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
</head>
<body>
</body>
</html>

To insert title, meta and link as children of head using beforeBegin you can use:

Sub beforeBegin()
   Dim strHTMLLink As String
   Dim strHTMLMeta As String
   Dim strHTMLTitle As String
   Dim objHead As IHTMLElement
   Dim objLink As IHTMLElement
   Dim objMeta As IHTMLElement
   
   Set objHead = ActiveDocument.all.tags("head").Item(0)
   
   strHTMLLink = _
   vbCrLf & _
   vbTab & _
   "<link>"
   
   strHTMLMeta = _
   vbCrLf & _
   vbTab & _
   "<meta>"
   
   strHTMLTitle = _
   vbCrLf & _
   vbTab & _
   "<title>" & _
   vbCrLf & _
   vbTab & _
   "</title>"
   
   objHead.insertAdjacentHTML "beforeEnd", strHTMLLink
   Set objLink = ActiveDocument.all.tags("link").Item(0)
   objLink.insertAdjacentHTML "beforeBegin", strHTMLMeta
   Set objMeta = ActiveDocument.all.tags("meta").Item(0)
   objMeta.insertAdjacentHTML "beforeBegin", strHTMLTitle
End Sub

After

   objHead.insertAdjacentHTML "beforeEnd", strHTMLLink

The HTML will be:

<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
	<link>
</head>
<body>
</body>
</html>

After

   objLink.insertAdjacentHTML "beforeBegin", strHTMLMeta

The HTML will be:

<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
	<meta>
	<link>
</head>
<body>
</body>
</html>

After

   objMeta.insertAdjacentHTML "beforeBegin", strHTMLTitle

Your HTML code will be:

<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
	<title>
	</title>
	<meta>
	<link>
</head>
<body>
</body>
</html>

Other methods to accomplish the same thing:

innerHTML, all 3 children at once

innerHTML, Child1, Child 2, Child3

innerHTML, Child3, Child2, Child1

innerHTML, Child1, Child3, Child2 using innerHTML

innerHTML, Child1, Child2, Child3 using outerHTML

insertAdjacentHTML "afterBegin, strHTML

insertAdjacentHTML "beforeEnd, strHTML

insertAdjacentHTML "afterEnd, strHTML

 

 

Valid XHTML 1.0 Transitional        Valid CSS!