The best news is that now you can specify the sitemap in your robots.txt file and Google's Webmaster Tools, MSN Live, and Yahoo all allow you to submit a site map URL when listing your site.
Here is an example sitemap.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.dotnetdesignguide.com/</loc> <changefreq>daily</changefreq> <priority>0.5</priority> </url> </urlset> Unless you have a blog or CMS you have to manually update your sitemap every time you add a new page to your site. Because aspiring web developers never do anything manual we will create a dynamic sitemap using ASP.NET and SQL Server. The urls of the pages on our site will be stored in a SQL Server table and we'll create an ASP.Net page to display the XML syntax. Additionally we could take it a step further and create navigation hyperlinks for our site or even content specific landing pages using the urls from the table
Step 1. SQL Server Table and Stored Procedure
First we create a table called "mysitemap". Open SQL Server and open a new query window in your database. Cut and paste the following SQL statement below to create the table. This table will store our data about the urls on our webite that we want search engines to find. CREATE TABLE [dbo].[MySitemap]( [ID] [int] IDENTITY(1,1) NOT NULL, [Location] [varchar](200) NULL, [ChangeFreq] [varchar](20) NULL CONSTRAINT [DF_MySitemap_ChangeFreq] DEFAULT ('daily'), [Priority] [varchar](3) NULL CONSTRAINT [DF_MySitemap_Priority] DEFAULT ((0.5)), [Category] [varchar](50) NULL, CONSTRAINT [PK_MySitemap] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] |
Next keeping an eye on security and performance we'll create a SQL Server stored procedure called sp_mysitemap_select to query the urls from the table we just created. Be sure to assign execute permissions for this stored procedure to the sql login that your web site uses to query the database.
We are going to add a conditional statement to this stored procedure so that we can use it later on in the example to create navigation menus for the site as well. This way once we have a new page ready on the site all we have to do is add the url to the SQL table and it will be available in the navigation menu as well as the site map automatically.
CREATE PROCEDURE [dbo].[sp_mysitemap_select] ( @category varchar(50) ) AS if (@category is null) begin select Location, ChangeFreq, Priority from mysitemap order by Category end else begin select Location from mysitemap where Category=@category end return |
No comments:
Post a Comment