Fungsi peta situs adalah untuk memungkinkan mesin pencari memasukkan lebih banyak halaman web dari situs web secepat mungkin.
Disini kita harus memahami dulu prinsip dasarnya, yaitu metode crawling mesin pencari. Seluruh Internet seperti "jaring" yang saling bersilangan: setiap node jaringan adalah setiap halaman web, dan setiap halaman web terhubung satu sama lain melalui URL. Seekor laba-laba dapat memulai dari satu halaman web dan merayapi ke halaman web lain melalui URL di halaman web tersebut; kemudian merayapi ke lebih banyak halaman web melalui URL di halaman web lain... dan seterusnya. Namun jika itu adalah situs web yang baru dirilis, mungkin tidak ada URL lain yang mengarah ke sana, sehingga tidak akan pernah "dirayapi" (disertakan). Untuk mengatasi masalah ini, situs web baru dapat secara aktif mengirimkan URL ke mesin pencari dan meminta laba-laba untuk merayapinya (URL aplikasi Google :), tetapi umumnya hanya URL beranda yang akan dikirimkan saat melamar.
Agar semua URL (terutama yang dihasilkan secara dinamis) dapat diambil dengan cepat dan mudah oleh spider, kita perlu menyediakan peta situs yang komprehensif, lengkap, jelas, dan diperbarui tepat waktu.
Dan untuk menangani file robots.txt yang berisi duplikat konten, kami menggunakan file .ashx untuk menghasilkan peta situs dalam format xml berdasarkan sitemaps.org. Setelah peta situs dihasilkan, kita bisa mengirimkannya ke mesin pencari seperti Google. Sejumlah besar artikel menegaskan bahwa mengirimkan peta situs akan sangat meningkatkan kecepatan dan kedalaman penyertaan situs web. Hampir semua metode SEO lainnya mungkin sulit dibuktikan, tidak efektif atau bahkan menimbulkan efek samping, kecuali mengirimkan peta situs!
Linq to XML memberi kita pengalaman pengoperasian yang hampir sempurna.
<%@ WebHandler Language="C#" Kelas="situs web" %>
menggunakan Sistem;
menggunakan Sistem.Web;
menggunakan Sistem.Xml;
menggunakan System.Xml.Linq;
menggunakan System.Linq;
situs web kelas publik : IHttpHandler {
public void ProcessRequest (konteks HttpContext) {
konteks.Response.ContentType = "teks/xml";
//Informasi deklarasi file. Nilai yes dari parameter ketiga yang berdiri sendiri menunjukkan bahwa dokumen XML ini mandiri dan tidak bergantung pada DTD yang ditentukan secara eksternal.
Deklarasi XDeklarasi = new XDeclaration("1.0", "UTF-8", "yes");
konteks.Respon.Tulis(deklarasi);
//Ruang nama file XML
XNamespace ns = " http://www.google.com/schemas/sitemap/0.84 ";
XElement siteMap = XElement baru(ns + "urlset");
string fixedUrl = " http://www.freeflying.com/article ";
string utuhUrl = string.Kosong;
//Keluarkan data dan ubah menjadi node XML
foreach (item var di Articles.GetArticles())
{
XElement url = XElement baru("url");
WholeUrl = string.Format("{0}?id={1}&catelog={2}",fixedUrl,item.ID,item.Catelog);
XElement loc = XElement baru("loc", WholeUrl);
XElement lastmod = XElement baru("lastmod", item.LastMod.AddDays(-23).ToShortDateString());
XElement changefreq = new XElement("changefreq", item.Frequency);
Prioritas XElement = XElement baru("prioritas", item.Berat);
url.Tambahkan(loc, lastmod, changefreq, prioritas);
peta situs.Tambahkan(url);
}
//Akhirnya menampilkan seluruh file xml
konteks.Respon.Tulis(Peta Situs);
}
bool publik Dapat Digunakan Kembali {
mendapatkan {
kembali salah;
}
}
}
Teknologi XML juga akan digunakan di RSS
<%@ WebHandler Language="C#" Kelas="rss" %>
menggunakan Sistem;
menggunakan Sistem.Web;
menggunakan Sistem.Xml;
menggunakan System.Xml.Linq;
rss kelas publik : IHttpHandler {
public void ProcessRequest (konteks HttpContext) {
konteks.Response.ContentType = "teks/xml";
konteks.Respon.Write("<?xml version="1.0" coding="UTF-8" ?>");
XElement rssFeed = XElement baru("rss", XAttribute baru("versi","2.0"));
string fixedUrl = " http://www.freeflying.com/article ";
string utuhUrl = string.Kosong;
saluran XElement = XElement baru("saluran",
XElement baru("judul", "terbang bebas"),
XElement baru("tautan",Url tetap),
XElement baru("deskripsi", "situs web untuk mimpi terbang bebas"),
XElement baru("pubDate",DateTime.Sekarang.ToString())
);
foreach (artikel var di Articles.GetArticles())
{
XElemen barang = XElemen baru("barang");
Judul XElement = XElement baru("judul", artikel.Judul);
WholeUrl = string.Format("{0}?id={1}&catelog={2}", fixedUrl, artikel.ID, artikel.Catelog);
Tautan XElement = XElement baru("tautan", utuhUrl);
Deskripsi XElement = XElement baru("deskripsi", artikel.Deskripsi);
XElement pubDate = XElement baru("pubDate", article.LastMod.ToString());
item.Tambahkan(judul,tautan,deskripsi,Tanggal pub);
saluran.Tambahkan(item);
}
rssFeed.Tambahkan(saluran);
konteks.Respon.Tulis(rssFeed);
}
bool publik Dapat Digunakan Kembali {
mendapatkan {
kembali salah;
}
}
}
data simulasi
menggunakan Sistem;
menggunakan Sistem.Data;
menggunakan Sistem.Konfigurasi;
menggunakan System.Linq;
menggunakan Sistem.Web;
menggunakan Sistem.Web.Keamanan;
menggunakan Sistem.Web.UI;
menggunakan Sistem.Web.UI.HtmlControls;
menggunakan Sistem.Web.UI.WebControls;
menggunakan System.Web.UI.WebControls.WebParts;
menggunakan System.Xml.Linq;
menggunakan System.Web.UI.MobileControls;
menggunakan System.Collections.Generik;
/// <ringkasan>
/// Deskripsi ringkasan untuk Artikel
/// </ringkasan>
Artikel kelas publik
{
Artikel publik()
{
//
// TODO: Tambahkan logika konstruktor di sini
//
}
Daftar statis publik<Artikel> GetArticles()
{
kembalikan Daftar baru<Artikel>(){
Artikel baru(234, "blog", DateTime.Now.AddDays(-23), Freq.none, 0.8, "asp.net seo", "artikel tentang SEO di asp.net"),
Artikel baru(267, "blog", DateTime.Now.AddDays(-245), Freq.daily, 0.6, "ado.net pro","tentang penggunaan kumpulan data"),
Artikel baru(653, "berita", DateTime.Now.AddDays(-45), Freq.daily, 1,"CLR via C#",,"buku catatan tentang buku ini")
};
}
}
Artikel kelas publik
{
ID int publik;
Katalog string publik;
DateTime LastMod publik;
Berat ganda publik;
Frekuensi Frekuensi publik;
Judul string publik;
Deskripsi string publik;
Artikel publik (int id, kategori string, DateTime lastMod, Frekuensi frekuensi, bobot ganda, judul string, deskripsi string)
{
tanda pengenal = tanda pengenal;
Kategorilog = kategorilog;
Mod Terakhir = Mod terakhir;
Berat = berat;
Frekuensi = frekuensi;
Judul = judul;
Deskripsi = deskripsi;
}
}
frekuensi enum publik
{
tidak ada = 1,
setiap hari = 2,
mingguan = 3,
}
Penulis: Tautan Asli Terbang Gratis