Skip to main content
Validação HTML

Attribute “xmlns:og” not allowed here.

Sobre este problema HTML

In older XHTML documents, XML namespaces were declared using the xmlns attribute with a prefix, such as xmlns:og="http://ogp.me/ns#". While this syntax was valid in XHTML, HTML5 does not support custom XML namespace declarations on the <html> element. The W3C validator will flag any xmlns:* prefixed attribute (like xmlns:og, xmlns:fb, etc.) as invalid because HTML5 has a strictly defined set of allowed attributes on the <html> element.

The Open Graph Protocol, originally developed by Facebook, allows web pages to become rich objects in a social graph. Major platforms like Facebook, Twitter, LinkedIn, and others rely on Open Graph <meta> tags to generate link previews. The official Open Graph Protocol specification recommends using the prefix attribute on the <html> element instead of the xmlns:og namespace declaration.

The prefix attribute is part of the RDFa specification and is recognized by HTML5 as a valid way to declare vocabulary prefixes. By switching to prefix="og: https://ogp.me/ns#", you maintain full Open Graph functionality while keeping your HTML valid.

How to fix it

  1. Locate the <html> tag in your document.
  2. Remove any xmlns:og (or similar xmlns:*) attributes.
  3. Add or update the prefix attribute with the appropriate namespace declaration.

If you use multiple prefixes (e.g., Open Graph and Facebook-specific tags), you can combine them in a single prefix attribute, separated by a space.

Examples

❌ Invalid: Using xmlns:og (XHTML-style namespace)

<!DOCTYPE html>
<html lang="en" xmlns:og="http://ogp.me/ns#">
<head>
  <title>My Page</title>
  <meta property="og:title" content="My Page Title" />
  <meta property="og:type" content="website" />
  <meta property="og:url" content="https://example.com/" />
  <meta property="og:image" content="https://example.com/image.jpg" />
</head>
<body>
  <p>Page content here.</p>
</body>
</html>

This triggers the validator error: Attribute “xmlns:og” not allowed here.

✅ Valid: Using the prefix attribute

<!DOCTYPE html>
<html lang="en" prefix="og: https://ogp.me/ns#">
<head>
  <title>My Page</title>
  <meta property="og:title" content="My Page Title" />
  <meta property="og:type" content="website" />
  <meta property="og:url" content="https://example.com/" />
  <meta property="og:image" content="https://example.com/image.jpg" />
</head>
<body>
  <p>Page content here.</p>
</body>
</html>

✅ Valid: Multiple prefixes (Open Graph and Facebook)

If you also use Facebook-specific meta tags (like fb:app_id), declare both prefixes:

<!DOCTYPE html>
<html lang="en" prefix="og: https://ogp.me/ns# fb: https://ogp.me/ns/fb#">
<head>
  <title>The Rock (1996)</title>
  <meta property="fb:app_id" content="123456789" />
  <meta property="og:title" content="The Rock" />
  <meta property="og:type" content="video.movie" />
  <meta property="og:url" content="https://www.imdb.com/title/tt0117500/" />
  <meta property="og:image" content="https://ia.media-imdb.com/images/rock.jpg" />
</head>
<body>
  <p>Page content here.</p>
</body>
</html>

❌ Invalid: Multiple xmlns declarations

This older pattern with multiple namespace declarations is equally invalid in HTML5:

<html xmlns:og="http://ogp.me/ns#" xmlns:fb="http://ogp.me/ns/fb#">

Replace it with the single prefix attribute as shown in the examples above.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.