Angenommen, Sie müssen von einer Seite zur anderen wechseln. Es gibt viele Möglichkeiten. Können Sie klar erklären, warum?
<%--Darstellungsform des Links--%>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx">HyperLink</asp:HyperLink>
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Default2.aspx">LinkButton</asp:LinkButton>
<%--Aus ästhetischen Gründen verwenden viele Websites Schaltflächen als Ersatz für Links--%>
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/Default2.aspx" />
<%--Beim Verwenden von Bildern als Links gibt es zwei Möglichkeiten--%>
<asp:ImageButton ID="ImageButton1" runat="server" PostBackUrl="~/Default2.aspx" ImageUrl="~/upup.gif" />
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/Default2.aspx" ImageUrl="~/upup.gif"></asp:HyperLink>
Wenn Sie immer noch etwas verwirrt sind, empfehle ich Ihnen, den Quellcode nach der HTML-Generierung zu überprüfen.
<a id="HyperLink1" href="Default2.aspx">HyperLink</a>
<%--Nachdem HyperLink in HTML analysiert wurde, entspricht es einem einfachen Hyperlink, und href zeigt auf die Seite, über die gesprungen werden soll--%>
<a id="LinkButton1" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("LinkButton1", "", false, "", "Default2.aspx", false, true))">LinkButton< /a>
<%--Obwohl LinkButton1 auch ein Ankertag ist, verwendet es tatsächlich JavaScript zum Springen--%>
<input type="submit" name="Button1" value="Button" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", false, "", "Default2.aspx" , false, false))" id="Button1" />
<%--button wird in ein Eingabeelement vom Typ „submit“ geparst und die Seite wird auch über JavaScript--%> gesprungen
<input type="image" name="ImageButton1" id="ImageButton1" src="upup.gif" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ImageButton1", "", false, "" , "Default2.aspx", false, false))" style="border-width:0px;" />
<%--ImageButton wird in ein Eingabeelement vom Typ „image“ geparst und die Seite wird auch über JavaScript--%> gesprungen
<a id="HyperLink2" href="Default2.aspx"><img src="upup.gif" style="border-width:0px;"
<%--Nachdem dem ImageUrl-Attribut von HyperLink ein Wert zugewiesen wurde und es in HTML analysiert wurde, entspricht es einem in einem Hyperlink „ausgeschnittenen“ IMG, aber die Href zeigt immer noch auf die Seite, über die gesprungen werden soll--%>
Was nützt es, das zu wissen?
Es hat viele Einsatzmöglichkeiten, aber wir reden heute nur über SEO.
Mit der aktuellen Suchmaschinentechnologie können JavaScript (natürlich einschließlich AJAX), Formularelemente (wie Eingaben), Flash und Bilder nicht (oder nur schwer) gelesen werden. „Spider“ neigen dazu, einfachen HTML-formatierten Text zu lesen. Aus SEO-Sicht also:
1. Verwenden Sie kein JavaScript oder Formulare für Seitensprunglinks. Die gleiche Funktion kann auch mit einem gewöhnlichen <a></a> ausgeführt werden. Im Allgemeinen wird jede Navigation, die nicht über die Standard-Anker-ID <a></a> zugänglich ist, nicht von Spiders abgerufen. Wenn wir ursprünglich clientseitige Elemente verwenden, sollte es für uns einfacher sein, dies zu bemerken. Wenn wir jedoch gekapselte serverseitige Steuerelemente verwenden, sind wir möglicherweise nachlässig.
2. Beachten Sie, dass das UpdatePanel keinen Textinhalt enthält. Wir können einen einfachen Test durchführen:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label runat="server" ID="lbl" ></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
protected void Button1_Click(object sender, EventArgs e)
{
this.lbl.Text = „Ich wurde von UpdatePanel generiert, daher können Sie mich nicht sehen!“;
}
Der Quellcodeteil nach dem Parsen in HTML:
<div id="UpdatePanel1">
<span id="lbl"></span>
<input type="submit" name="Button1" value="Button" id="Submit1" />
</div>
Dies ist leicht zu verstehen, da UpdatePanel auch Seiteninhalte über die JavaScript-Funktion der Seite generiert. Wenn wir uns den Quellcode ansehen, können wir die relevanten JavaScript-Funktionen sehen, nicht jedoch den von den Funktionen generierten Inhalt. Suchmaschinen-Spider schauen sich nur den Quellcode an.
3. Wenn wir eine Popup-Seite verwenden müssen, ist der übliche Ansatz:
<a href="#" onclick="window.open('popup.html','common','height=600,weight=800');">allgemeines Popup</a>
Nach dem, was wir oben erläutert haben, ist diese Schreibweise zweifellos schädlich für SEO. Daher sollten wir den folgenden Code verwenden, der die Wirkung des Popup-Fensters gewährleistet und SEO-freundlich ist. Und selbst wenn der Browser des Kunden JavaScript nicht unterstützt oder deaktiviert, kann die Seite dennoch reibungslos springen.
<a href="popup.html" onclick="window.open(this.href,'seo','height=600,weight=800');return false;" >
<%--Hinweis: Die Anweisung „return false“ kann hier nicht weggelassen werden. --%>
4. Wenn wir eine spezielle Schriftart verwenden möchten (häufig Spaltentitel und dergleichen), verwenden wir stattdessen häufig ein chinesisches Schriftzeichenbild. Auch das ist problematisch, denn als Titel ist dessen Inhalt oft ein sehr wichtiges Schlüsselwort. Wenn Sie ein Bild verwenden, kann der Spider es nicht lesen. Eine mögliche Lösung ist sIFR, aber ich bin damit nicht sehr vertraut; nach einer Online-Suche scheint es nicht auf chinesische Schriftzeichen anwendbar zu sein.
Bei Bildern besteht unsere häufig verwendete SEO-Methode darin, Titel und Alt anzugeben, z. B
<img alt="ASP.NET-Suchmaschinenoptimierung" title="Einige SEO-Techniken, die bei der Entwicklung von Websites mit ASP.NET-Technologie beachtet werden sollten" src="seo.gif" />
Allerdings handelt es sich auch hierbei um ein „unsichtbares Seitenelement“, dessen spezifische Wirkung schwer genau zu messen ist. Aber etwas ist besser als nichts!
5. Einige weitere Anmerkungen:
5.1 Kombinieren Sie die Semantik von HTML-Tags mit CSS. Anders als „span“ und „div“ bedeutet „h1“ Titel, „b“ bedeutet Hervorhebung, „ul“ und „li“ bedeuten Liste ... Diese semantischen Tags können eine Suche ermöglichen klarere Anweisungen für Motoren;
5.3 Platzieren Sie wichtige Inhalte oben auf der HTML-Seite (beziehen Sie sich auf den Quellcode, nicht auf die vom Browser angezeigten Ergebnisse).
5.5 Platzieren Sie große JavaScript-Abschnitte am Ende der Seite oder in separaten JS-Dateien.
5.2 Es ist am besten, kein Rahmenlayout zu verwenden;
5.3 Eine große Anzahl von VIEWSTATE kann zu Störungen bei „Spider“ führen.
5.5 Bedenken Sie: Mit der aktuellen Suchmaschinentechnologie können JavaScript (natürlich einschließlich AJAX), Formularelemente (wie Eingaben), Flash und Bilder nicht (oder nur schwer) gelesen werden.