wake-up-neo.net

Was passiert, wenn die Metatags im Dokumentkörper vorhanden sind?

Ich arbeite an einer Anwendung ASP und der Code, die Vorlage und die Dateien sind so organisiert, dass ich keine Änderungen außerhalb des body-Tags vornehmen kann. Ich denke also darüber nach, die Meta-Tags in den Körper einzufügen - wie folgt:

<!-- FEW ASP INCLUDES -->
<html>
    <head>
    <!-- FALLBACK TITLE AND DESCRIPTION -->
    <title>Default Title</title>
    <meta name="description" content="Default Description">
</head>
<body>
    <!-- SOME HTML MARKUP -->
    <div class="dynamic-content">
        <!-- InstanceBeginEditable name="dynamic-content" -->
        <!-- THIS IS WHERE I CAN WRITE ASP CODE -->
        <title><%= Page.Meta.GetTitle( yada, yada ) %></title>
        <meta name="description" content="<%= Page.Meta.GetDescription( yada, yada ) %>">
        <!-- InstanceEndEditable -->
    </div>
    <!-- SOME MORE HTML MARKUP -->
</body>
</html>

Ich frage mich, wie gut es ist, Meta-Tags in den Rumpf eines HTML-Dokuments einzufügen. Wie wirkt es sich auf:

  1. suchmaschinen
  2. browser
52
Salman A

Dies ist natürlich invalid gemäß HTML4.01. META-Tags sind nur innerhalb von HEAD (ebenso wie TITLE zulässig). Wenn Sie sie also in einen BODY einfügen, erstellen Sie im Wesentlichen eine ungültige Markierung.

Bei den kursiven Tests scheint es so, als würden einige Browser (z. B. Firefox 3.5 und Safari 4) diese Elemente beim Erstellen einer Dokumentstruktur tatsächlich in HEAD einfügen. Dies ist nicht sehr überraschend: Browser sind dafür bekannt, alle Arten von fehlerhaften Markups zu tolerieren und zu interpretieren.

Invalid Markup ist selten eine gute Idee. Die nicht standardmäßige Behandlung durch Browser kann zu verschiedenen Inkonsistenzen beim Rendern (und Verhalten) der Bilder führen. Anstatt sich auf das Erraten des Browsers zu verlassen, sollten Sie am besten einem Standard folgen.

Ich weiß nicht, wie Suchmaschinen auf solche Tags reagieren, aber ich würde nicht riskieren, das herauszufinden :) Vielleicht analysieren sie nur den HEAD -Tag für bestimmte Informationen und überspringen Ihre BODY-enthaltenen Tags. Oder sie betrachten dies als böswillige Glücksspielversuche und Blacklist-Seiten, die ein solches Markup enthalten. Wer weiß. 

Unterm Strich - dies möglichst vermeiden.

40
kangax

Unter dem Strich soll dies vermieden werden, wann immer dies möglich ist , wenn DOCTYPE dies verbietet. Ich denke, das ist definitiv in HTML5 erlaubt und sehr nützlich, wenn Mikrodaten verwendet werden. Beispiel: http://schema.org/Event

28
Michael H

Ich würde es nicht tun. Das ist nicht der Ort, an dem sich diese Tags befinden, und die Suchmaschinen könnten dies als Spam betrachten. Wenn Sie die Masterseite neu organisieren können, können Sie im Kopfbereich immer einen Inhaltsplatzhalter hinzufügen. Ich habe es trivial gemacht mit:

<asp:ContentPlaceHolder ID="HeadTags" runat="server" />

Auf diese Weise können Sie beliebigen Inhalt im Kopfbereich auf Ihrer Seite hinzufügen:

<asp:Content ID="Whatever" ContentPlaceHolderID="HeadTags" runat="server" >

    <meta ... >

</asp:Content>
7
John Lockwood

Wenn Ihr Ziel die Suchmaschinenoptimierung ist, ist es wahrscheinlich eine gute Idee, den Standards zu folgen und alle Ihre Meta-Tags in den <head> zu setzen. Soweit das Verhalten des Browsers gilt, funktionieren diese jedoch weiterhin, wenn Sie <meta>-Tags in Ihren <body> einfügen. Ich entschied mich dazu, dies mit mehreren <meta http-equiv="refresh"/>-Tags und <title>-Tags in einem ansonsten normkonformen Dokument zu testen.

Die Ergebnisse meiner Tests:

Firefox 18, Firefox 3.6, Firefox Mobile, Chrome 24, Chrome für Mobile, Opera 12, IE6, IE8, IE10:

  • Alle <meta>-Tags im Hauptteil wurden verarbeitet.
  • Das erste <title>-Tag im Dokument wurde verarbeitet, auch wenn es sich im Hauptteil befand. Nachfolgende <title>-Tags wurden ignoriert.
  • Die früheste Meta-Refresh-Direktive wurde wirksam, was darauf hinweist, dass beide verarbeitet wurden.

IE9:

  • Wie oben, nur dass alle <title>-Tags im Textkörper ignoriert wurden.
  • IE10 im IE9-Standardmodus verhält sich auch so.
  • IE9 im IE8-Standardmodus verhalten sich genauso wie IE8, wodurch ein <title>-Tag im Hauptteil zulässig ist.

Was passiert also, wenn Sie im Körper Metatags verwenden? Im Großen und Ganzen scheinen sie gut zu funktionieren. Die Meta-Tags werden wahrscheinlich verarbeitet. Wenn Sie sie also nicht in den Kopf stellen können, würde ich mich nicht allzu sehr ärgern.

5
nullability

Einige für Suchmaschinen bestimmte Metatags werden von den Suchmaschinen im Hauptteil der Seite nicht berücksichtigt. 

Zum Beispiel sagt Google, dass es keine rel = kanonisch im Hauptteil der Seite, sondern nur im Kopf der Seite ehren wird. Folgendes sagt Matt Cutts von Google :

Wir erlauben nicht rel = kanonisch im KÖRPER (weil, wie ich schon sagte, die Leute das spammen würden),

3

Ich würde sagen, dass Sie es benutzen sollen. Ich habe auf verschiedenen Webseiten Meta-Tags im Hauptteil gefunden, und diese befinden sich auf einer der Top-10-Suchanfragen (bei Google). Es zeigt zumindest für mich, dass Suchmaschinen nichts dagegen haben, wenn Sie diesen Ansatz gewählt haben. 

Du musst weitermachen, wenn es nicht anders geht.

2
Parvinder Singh

Meta-Tags können an beliebiger Stelle im HTML-Code hinzugefügt werden.

Die Webcrawler können sie lesen aber das einzige Problem ist, wenn Sie Ihre Seiten über eine Anwendung wie Facebook Messenger, WhatsApp usw. freigeben müssen. 

Diese Anwendungen lesen nur Meta-Tags innerhalb des Head-Tags . Das og: image, og: description Eigenschaften des Meta-Tags falls innerhalb des body-Tags platziert, wird nicht gelesen und wird daher nicht angezeigt, wenn Sie in solchen Anwendungen gemeinsam genutzt werden.

Wenn es nur für SEO-Zwecke ist, können Sie Meta-Tag überall hinzufügen. Es wird jedoch empfohlen, nur den Head-Tag hinzuzufügen

0
Sitaram

Ich habe ein paar Meta-Tags in den Körper eingefügt, aber das liegt an der Microdata-Technologie. Wenn ich kein reguläres Element mit der Info habe, dass ich das Objekt gemäß dem schema.org-Vokabular beschreiben muss, setze ich ein Meta-Tag mit diesem Inhalt. Stattdessen mache ich es lieber so, um ein Element mit Anzeige festzulegen: none. Übrigens mit dem Display: Keines kann, soweit ich weiß, mehr Probleme mit Google verursachen. Ich stimme zu, dass dies nicht die bewährte Methode ist, aber wenn ich mein Dokument validiere (HTML5), erteile ich die Validierung ohne Fehler. Ich habe diesen Trick auch für mehrere Projekte gemacht und keines davon hat Probleme mit Google oder einer anderen Suchmaschine. Selbst Mikrodaten verbessern das Suchmaschinenranking. Ich weiß nicht, was genau Sie mit diesen Meta-Tags in den Körper tun möchten, da ich in Ihrem Code keine Mikrodaten gesehen habe. Wenn Sie es für diesen Ansatz benötigen, denke ich, dass es in Ordnung ist, aber in anderen Fällen müssen sich Meta-Elemente im Kopfbereich befinden! 

0

Das META Description-Tag auf den Websites zu haben ist ein ungültiges Markup. Es ist jedoch kein großes Problem, da Suchmaschinen das Tag regelmäßig finden können, wo immer es ist. Meine Website macht das, schauen Sie sich mein HTML an 

http://cameras.specced.co.uk/compare/268/Canon_EOS_200D

Das META befindet sich in der Website BODY, wurde jedoch von Google indiziert und die Meta-Beschreibung der Seite wurde als Klick durch den Text in den Google-Suchergebnissen festgelegt. 

0
cousbrad