SEO20 Aug 2007 08:04 pm

I just stumbled upon a very valuable resource (in my opinion). I’ve taken to reading SEO blogs to get insight into what ranks one in Google and the other engines. SEOMoz surveyed the top SEO professionals and did a great job of organizing their opinions.

Here’s the link:

http://www.seomoz.org/article/search-ranking-factors

Uncategorized and Blogging31 Jul 2007 11:08 pm

A friend of mine is a director and he recently directed 21 PSAs for the moral code, The Way To Happiness. His PSAs are a work of art, and I’m amazed by a few of them. Very nicely put. Here’s the first few:

Click here to view other Public Service Announcements

Click here to view other Public Service Announcements

Click here to view other Public Service Announcements

Uncategorized27 Jul 2007 11:35 pm

Going from Classic ASP to ASP.NET using VB.NET you can run into conversion problems. Some of these are:

Abs() - This function requires importing the namespace System.Math.

At the top of your code put this: Imports System.Math

A float is now a double.

Use it like Dim i as Double, etc.

ASP.NET and SEO13 Jun 2007 03:37 pm

One of the features of ASP.NET is that it remembers the state of controls that are on the page throughout the page cycle. It does this automatically for you by creating a hidden field called Viewstate.

This field can often times become very large. This can impact SEO because search engine bots don’t like to wade through lots of code to get to the content. Many SEOs will tell you to optimize your code so as to remove all needless HTML, Javascript and CSS from the page and to use external files whenever possible.

I researched this recently and found a good forum thread on this topic.


http://www.webmasterworld.com/forum47/2044.htm

It goes into several methods for working around ASP.NET’s viewstate for SEO.

The first is to disable viewstate all together:

< %@ Page EnableViewState="false" %>

or

remove the runat=server attribute of the form tag. (I have not tried that)

The second is to minimize the size of the viewstate field by removing the runat=server attribute of all controls you don’t need to remember their state.

The last thing they recommended was to move the viewstate field to the bottom of the page. There is some code there that supposidly did this, but I haven’t tried it. Keep in mind that the post is dated 2004 so I don’t know if it willl work without bugs in ASP.NET 2.0

Here is the excerpt from the post:

Actually…I just found the code in the DNN project…they use it in a base page…if you are not familiar with that it is a class that inherits from Inherits System.Web.UI.Page and then any page you make should inherit from your custom base page. You could also probably copy and past the below code into each of your pages.

' This method overrides the Render() method for the page and moves the ViewState
' from its default location at the top of the page to the bottom of the page. This
' results in better search engine spidering.
'
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Dim stringWriter As System.IO.StringWriter = New System.IO.StringWriter
Dim htmlWriter As HtmlTextWriter = New HtmlTextWriter(stringWriter)
MyBase.Render(htmlWriter)
Dim html As String = stringWriter.ToString()
Dim StartPoint As Integer = html.IndexOf("<input type=""hidden"" name=""__VIEWSTATE""")
If StartPoint />= 0 Then 'does __VIEWSTATE exist?
Dim EndPoint As Integer = html.IndexOf("/>", StartPoint) + 2
Dim ViewStateInput As String = html.Substring(StartPoint, EndPoint - StartPoint)
html = html.Remove(StartPoint, EndPoint - StartPoint)
Dim FormEndStart As Integer = html.IndexOf("") - 1
If FormEndStart >= 0 Then
html = html.Insert(FormEndStart, ViewStateInput)
End If
End If
writer.Write(html)
End Sub

SQL Server12 Jun 2007 02:27 pm

As far as I could tell there was no easy way to query MSSQL to get a list of all of its tables and their respective sizes. I wrote a sql script that does this for you.

It’s below:


declare @RowCount int, @tablename varchar(100)
declare @Tables table (
PK int IDENTITY(1,1),
tablename varchar(100),
processed bit
)
INSERT into @Tables (tablename)
SELECT TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_TYPE = 'BASE TABLE' and TABLE_NAME not like 'dt%' order by TABLE_NAME asc

declare @Space table (
name varchar(100), rows nvarchar(100), reserved varchar(100), data varchar(100), index_size varchar(100), unused varchar(100)
)
select top 1 @tablename = tablename from @Tables where processed is null
SET @RowCount = 1
WHILE (@RowCount <> 0)
BEGIN
insert into @Space exec sp_spaceused @tablename
update @Tables set processed = 1 where tablename = @tablename
select top 1 @tablename = tablename from @Tables where processed is null
SET @RowCount = @@RowCount
END

update @Space set data = replace(data, ‘ KB’, ‘’)
update @Space set data = convert(int, data)/1000
update @Space set data = data + ‘ MB’
update @Space set reserved = replace(reserved, ‘ KB’, ‘’)
update @Space set reserved = convert(int, reserved)/1000
update @Space set reserved = reserved + ‘ MB’

select * from @Space order by convert(int, replace(data, ‘ MB’, ‘’)) desc

ASP.NET and AJAX23 May 2007 03:50 pm

Microsoft came out with an AJAX library for use with ASP.NET 2.0. They have a great support website located at ajax.asp.net. Lots of great videos and it works easily when you create a new website from scratch.

I ran into trouble when trying to use their AJAX library with an existing website. It wouldn’t give me any errors, the javascript just wouldn’t work with any of the AJAX controls. It was as if the AJAX didn’t exist!

After about an hour of searching and head scratching I figured that it must be web.config’s fault. I found a page that talks about updating your web.config for integrating the AJAX library into your site. Here it is:

http://ajax.asp.net/docs/ConfiguringASPNETAJAX.aspx

I followed all the directions and like magic, my site works with AJAX now! Phew.

Random15 Nov 2006 12:53 am

One of the first and hardest part of starting to design a site is to get the color scheme. The scheme can come from a number of places. For example:

  • A site you want to imitate
  • A photo you want to include in the site - for instance in the header
    You can then pull colors from the photo
  • A holiday - certain holidays have color associated with them. Halloween has black and orange, Christmas has red and green, etc.
  • A profession - for instance the medical profession tends to favor blues

No matter where you get your inspiration, it is good to have a few tools to help you. I recently ran across a page that lists a number of these tools:

http://www.kelieresources.com/color.htm

I’ve included the most valuable tools, from my perspective, here:

    That’s it - if you have any others you think should be on this list, let me know and I’ll add them.

SQL Server06 Oct 2006 11:25 am

I just ran across this post that was referenced from an article written on MSDN.

For the past 2-3 years I’ve been working under the idea that @@Identity would return the identity of the most recently added row in the table you were just working with. Not so - it will give you the identity of the most recently added row in the entire database! I believe, however, that @@identity is limited to working within the connection to the database. For instance, if you have 2 scripts and they both add a row to the database, they would be using separate connections to the database and thus wouldn’t be confused. If your database uses triggers and your trigger adds a row in another table, @@identity will return the identity of that row, not the one you want.

The alternative offered in the article is to use scope_identity(). It acts the same way, only without this little idiosyncrasy.

SQL Server08 Sep 2006 10:53 pm

This may not interest many of you, but I found a great article on designing database tables in Microsoft SQL Server 2000. Before reading, I had a general understanding of all the types, but I didn’t have any base for choosing which type to use where.

You may want to check it out:

http://www.mssqlcity.com/Articles/General/choose_data_type.htm

Uncategorized and Classic ASP and Blogging and Affiliate Marketing01 Sep 2006 03:57 pm

Amazon AStoreAmazon just recently released a new beta tool for their associates (affiliates). It’s called Amazon AStore.

It allows you to build your own customizable store. This is what a store looks like: http://astore.amazon.com/bristolwebdes-20

The things I like about it are:

  • It’s simple and easy to set up. Mine took less than 5 minutes.
  • It allows you to feature products on the homepage and add your own descriptions to them.
  • You can add your own logo and customize the color scheme.

Unfortunately, one of the first things you’ll notice is where the store is located. It is hosted on Amazon’s servers. To use or promote the store you are stuck with three options.

These descriptions are taken directly from Amazon’s page:

Link to your aStore as a stand-alone site
Make your aStore a stand-alone section of your Web site by adding a “Store” link to your main site navigation bar that links directly to your new store. This is the easiest way to integrate your aStore; however, it will appear to your users as if they are leaving your website when visiting your store.
Link to the Store
Embed your aStore using an inline frame
An inline frame is a great way to embed your aStore into any existing or new page on your Web site. This method of embedding your aStore will appear to your visitors as if the aStore is part of your site and enable them to shop without leaving your site.
iFrame
Integrate your aStore using a frameset
Frame your aStore into your Web site using a frameset by placing your aStore in one frame and your Web site’s navigation in another frame. This method of embeding your store will also be appear to your visitors as if the store is part of your Web site and enable them to shop without leaving your site.
Frameset

You’ll notice that none of the options are search engine friendly. Search engines treat frames and iframes as links, simply following them rather than thinking of it as part of your site. If it were possible to make it part of your site, it would allow you to rank your Amazon category and product detail pages in the search engines separately.

I’ve recently come up with a solution whereby you can have your AStore hosted on your own domain and fully indexable by the search engines. Here is my first store:

http://www.gift-unique.com

Would you be interested in this solution?

How important is it to be able to customize the headers and footers (outside of the customization allowed by Amazon)?

If enough people are interested, I’ll make it available for download.

« Previous PageNext Page »