Supposons que vous deviez passer d'une page à une autre. Il existe plusieurs méthodes ci-dessous. Comment choisir ? Pouvez-vous expliquer clairement pourquoi ?
<%--Formulaire de représentation du lien--%>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx">HyperLink</asp:HyperLink>
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Default2.aspx">LinkButton</asp:LinkButton>
<%--Pour des raisons esthétiques, de nombreux sites Web utilisent des boutons pour remplacer les liens--%>
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/Default2.aspx" />
<%--En utilisant des images comme liens, il existe deux options--%>
<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>
Si vous êtes encore un peu confus, je vous suggère de vérifier le code source après avoir généré du HTML.
<a id="HyperLink1" href="Default2.aspx">HyperLink</a>
<%--Une fois l'hyperlien analysé en HTML, il correspond à un simple lien hypertexte et href pointe vers la page à sauter--%>
<a id="LinkButton1" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("LinkButton1", "", false, "", "Default2.aspx", false, true))">LinkButton< /a>
<%--Bien que LinkButton1 soit également une balise d'ancrage, il utilise en fait JavaScript pour sauter--%>
<input type="submit" name="Button1" value="Button" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", false, "", "Default2.aspx" , faux, faux))" id="Bouton1" />
<%--button est analysé dans un élément d'entrée de type="submit", et la page est également sautée via JavaScript--%>
<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 est analysé dans un élément d'entrée de type="image", et la page est également sautée via JavaScript--%>
<a id="HyperLink2" href="Default2.aspx"><img src="upup.gif" style="border-width:0px;"
<%--Après avoir attribué une valeur à l'attribut ImageUrl d'HyperLink, après l'avoir analysé en Html, cela correspond à un img "coupé" dans un lien hypertexte, mais le href pointe toujours vers la page à sauter--%>
A quoi ça sert de savoir ça ?
Il a de nombreuses utilisations, mais nous ne parlons aujourd’hui que de référencement.
Avec la technologie actuelle des moteurs de recherche, JavaScript (y compris AJAX, bien sûr), les éléments de formulaire (tels que l'entrée), Flash et Image ne peuvent pas (ou sont difficiles à) lire. Les "araignées" ont tendance à lire du texte simple au format HTML. Donc, d'un point de vue SEO :
1. N'utilisez pas JavaScript ou des formulaires pour les liens de saut de page. Un <a></a> ordinaire peut également accomplir la même fonction. De manière générale, toute navigation qui n'est pas accessible via l'identifiant d'ancre standard <a></a> ne sera pas récupérée par les robots. Si nous utilisons à l'origine des éléments côté client, il devrait être plus facile pour nous de le remarquer ; mais lorsque nous utilisons des contrôles encapsulés côté serveur, nous pouvons être négligents.
2. Notez qu'il n'y a pas de contenu textuel dans UpdatePanel. Nous pouvons faire un test simple :
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Modèle de contenu>
<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 (expéditeur de l'objet, EventArgs e)
{
this.lbl.Text = "J'ai été généré par UpdatePanel, donc vous ne pouvez pas me voir !";
}
La partie du code source après analyse en HTML :
<div id="UpdatePanel1">
<span id="lbl"></span>
<input type="submit" name="Button1" value="Button" id="Submit1" />
</div>
Ceci est facile à comprendre, car UpdatePanel génère également le contenu de la page via la fonction JavaScript de la page. En regardant le code source, nous pouvons voir les fonctions JavaScript pertinentes, mais pas le contenu généré par les fonctions. Quant aux robots des moteurs de recherche, ils ne regardent que le code source.
3. Lorsque nous devons utiliser une page pop-up, l'approche habituelle est la suivante :
<a href="#" onclick="window.open('popup.html','common','height=600,weight=800');">popup commune</a>
D’après ce que nous avons expliqué plus haut, cette façon d’écrire est sans doute préjudiciable au SEO. Nous devrions donc utiliser le code suivant, qui garantit l’effet de la fenêtre pop-up et est convivial pour le référencement. Et même si le navigateur du client ne prend pas en charge ou désactive JavaScript, la page peut toujours sauter en douceur.
<a href="popup.html" onclick="window.open(this.href,'seo','height=600,weight=800');return false;" target="_blank">popup de référencement</a >
<%--Remarque : l'instruction return false ici ne peut pas être omise. --%>
4. Lorsque nous souhaitons utiliser une police spéciale (souvent des titres de colonnes, etc.), nous utilisons souvent une image en caractères chinois à la place. C'est également une chose gênante, car en tant que titre, son contenu est souvent un mot-clé très important. Si vous utilisez une image, l'araignée ne peut pas la lire. Une solution possible est sIFR, mais je ne la connais pas très bien ; après une recherche en ligne, elle ne semble pas applicable aux caractères chinois.
Pour les images, notre méthode de référencement couramment utilisée consiste à indiquer le titre et l'alt, comme
<img alt="ASP.NET Search Engine Optimization" title="Quelques techniques de référencement à prendre en compte lors du développement de sites Web utilisant la technologie ASP.NET" src="seo.gif" />
Cependant, il s'agit également d'un « élément de page invisible » et son effet spécifique est difficile à mesurer avec précision. Mais quelque chose vaut mieux que rien !
5. Quelques autres remarques :
5.1 Combinez la sémantique des balises html avec css. Différent de "span" et "div", "h1" signifie titre, "b" signifie emphase, "ul" et "li" signifient liste... Ces balises sémantiques peuvent donner une recherche. instructions plus claires pour les moteurs ;
5.3 Placer le contenu important en haut de la page html (en faisant référence au code source, pas aux résultats affichés par le navigateur)
5.5 Placez de grandes sections de JavaScript au bas de la page ou dans des fichiers js séparés ;
5.2 Il est préférable de ne pas utiliser la disposition en cadre ;
5.3 Un grand nombre de VIEWSTATE peut provoquer des interférences avec le « Spider » ;
5.5 Gardez à l'esprit : avec la technologie actuelle des moteurs de recherche, JavaScript (y compris AJAX, bien sûr), les éléments de formulaire (tels que l'entrée), Flash et Image ne peuvent pas (ou sont difficiles à) lire.