homepage Welcome to WebmasterWorld Guest from 23.20.220.61
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member

Home / Forums Index / Microsoft / Microsoft IIS Web Server and ASP.NET
Forum Library, Charter, Moderators: ocean10000

Microsoft IIS Web Server and ASP.NET Forum

    
Share your pet microsoft development hates
Microsoft want to know why SEOs hate their products
Receptional




msg:3736441
 11:01 am on Sep 2, 2008 (gmt 0)

Microsoft are beginning to realize they've been developing products that SEOs just can't use for one reason or another. They apprantly got crucified at a recent conference and now they are wondering how to fix it [blogs.msdn.com]...

Maybe the members can help them along by telling them what's wrong (from an SEO perspective) with all of Microsoft's products?

I'm no programmer, but I do end up having to face the fallout. For example:

1. Last time I looked, .net sites seem to have bloated code all over the place. Mostly something called "viewstate" which to my mind seems totally unnecessary for most web sites and something that could be a cookie or something much cleaner than being stick in the code.

2. I see .net applications doing 302 redirects where 301s would be better... I recall from my colleague Receptional Andy [webmasterworld.com] that there is a workaround, but it shouldn't be a problem in the first place. Even the workaround creates 301s... which makes me wonder the technically challenged obvious question... why is an internal link on a web page a redirect at all? Why doesn't every link give a 200 response? Surely 200 trumps 301.

3. Adhering to some sort of cross party (W3C?) complaince. I know that it's impossible these days, but for goodness sakes - let's at least TRY to create code that confirms to at least some cross party standard.

4. We also used to have problems with wysiwyg systems (Front Page) changing our code on the fly years back... to the point where we stopped using Front Page. I seem to recall member PageOneResults [webmasterworld.com] telling me that ExpressionWeb is much cleaner - but since it's not part of the main office family, there's really not enough people using it and talking about it to give me all that much confidence.

5. And while we are here... have you ever tried to create a web page using Word or Powerpoint or office app? I'm not suggesting Word as a web development tool, but still... what on earth is all that code, subdirectories and general mess? Again - maybe it's better in newer versions of office, but I'm not going to buy newer versions just to find that out?

I'm sure the list could go on and on... from the server level through office products up to Community Server, .Net and beyond.

What's your particular beef with Microsoft's devlopment tools?

 

mrMister




msg:3736459
 12:05 pm on Sep 2, 2008 (gmt 0)

1. ..."viewstate" which to my mind seems totally unnecessary for most web sites and something that could be a cookie or something much cleaner than being stick in the code.

If a programmer wants to use cookies then they can. Microsoft have provided two different ways for storing state using cookies. It's niot Microsoft's fault that a programmer can't use the right tool for the job.

2. I see .net applications doing 302 redirects where 301s would be better... I recall from my colleague Receptional Andy that there is a workaround

There are five different types of redirects. The most common is a 302 redirect so that is the one ASP.Net uses. The supposed "workaround" isn't a workaround at all, it's just a matter of using the correct redirect for the purpose, something that the programmer has to decide (this is true of all web environments, not just ASP.Net)


3. Adhering to some sort of cross party (W3C?) complaince. I know that it's impossible these days, but for goodness sakes - let's at least TRY to create code that confirms to at least some cross party standard.

It's not impossible at all. In fact Visual Studio actually makes it quite easy. It even has inline W3C validation. If the programmer is incapable of creating valid code, then it allows invalid code to execute. If you don't want that to happen then force fully compliant XHTML and the page will break if it's not well formed.


4. We also used to have problems with wysiwyg systems (Front Page) changing our code on the fly years back... to the point where we stopped using Front Page.

Yup, Front Page was rubbish. That's why Microsoft have stopped making it.

5. And while we are here... have you ever tried to create a web page using Word or Powerpoint or office app? I'm not suggesting Word as a web development tool, but still... what on earth is all that code, subdirectories and general mess?

Welcome to the world of automated document converters. As you say, they're not for web development, they're for quickly converting a document to another format so that someone who doesn't have Word installed can view it in another piece of software (in this case, a web browser).

centime




msg:3736494
 1:42 pm on Sep 2, 2008 (gmt 0)

Actually, my .net sites do as well as they deserve, after a lot of work.

Plus, I find the separation of html and .net code achieved by .net make life easier.

What I would want is standard and default hiding of the viewstate code, it should not have to require extra , quite complex code to handle it.

The code produced by the treeview control, the need to manually construct a sitemap to make it work, should be over come. let it pull its bits from a database. Okay, I've seen some really complex code to achieve this, but, according to the ethos of .net, that should not be necessary,

visual developer 2008 is appallingly slow, clunky, and its publish web site function is poor compared to its predessesor. However, overally, it is actually much better than Frontpage. But when it struggles on a 3.0ghz p4,500mb ram, machine, then its a bit painfull to use. Fix this

Improve compatibility with MySQL, PHP, Apache. I use MySQL a lot via independently developed "connectors" from the MySQL developers community, help these guys more. Perhaps make MSSQL cheaper to run
Actually, I think one reason a lot of chaps don't use it is that its so totally different from php and the LAMPS setup. Plus it always costs more to run , to buy,

woop01




msg:3736525
 2:54 pm on Sep 2, 2008 (gmt 0)

Receptional, you listed problems with Microsoft's USERS, not products.

pageoneresults




msg:3736533
 3:13 pm on Sep 2, 2008 (gmt 0)

Microsoft want to know why SEOs hate their products.

It may be a little late for them wanting to know. Maybe if this question was posed a few years back?

.NET is an SEOs nightmare! I'm fortunate in that I have quality people on board who have taken my instructions over the years and we've built around .NET's shortcomings. Thankfully we have ISAPI_Rewrite 3.0 because if we didn't, I'd surely be developing on an Apache platform with PHP.

.NET X/HTML is crap! It is bloated to the nth degree. It requires a programmer on board to do things that could normally be done by someone with X/HTML coding experience.

There are way too many ways to achieve the same result. From the complex to the simplest. Many over complicate the .NET environment.

I could go on forever about .NET. We've finally tackled it. It took years and a lot of money and fumbling about but we did it. Screw you Microsoft! You've cost my team a lot of money and countless hours of lost sleep from the servers side. If I didn't have the type of money I do invested along with some killer classic asp and .NET applications, I'd be making the switch to Apache right now. You're freakin' licenses alone are enough to keep most from coming over to this side.

And then we have your attitude of not wanting to follow the standards and do your own thing. :(

Yup, Front Page was rubbish. That's why Microsoft have stopped making it.

I knew that was coming. If there is one product from Microsoft that I have rave reviews for, it is Front Page and EWD. Actually, I prefer FP over EWD and will use it most of the time. .NET sites require EWD for editing or you may end up breaking something. I did! :)

Microsoft, me thinks you're a bit late to the party as usual. With the release of Google Chrome recently, your market share just shattered some more. It won't be long before IE goes the way of Netscape.

Microsoft want to know why SEOs hate their products.

Why? What do they want to know? Why now and why not years ago when their brand ship was sinking? What, did they lodge themeselves on a sandbar somewhere?

Receptional




msg:3737311
 1:23 pm on Sep 3, 2008 (gmt 0)

did they lodge themselves on a sandbar somewhere?

I'll venture to say yes! :)

Actually I also had great success with Front Page over the years, but it DID have a tendency to change code out of the box.

I think that the general theme is consistent in the thread... "Out of the Box", nothing from Microsoft is SEO friendly and fixing that is a right pain - but mostly possible. Learning that path is something that developers shouldn't need to do. It should be there by default.

I'll go for another - akin to your Asapi_Rewrite. It seems to generally be necessary to have access to the server on Microsoft hosted websites to be able to properly do 301s on the fly. You can do so much with .htaccess on unix servers (without needing any more than FTP access) that seems to need third party software to achieve on Microsoft server.

[edited by: Receptional at 1:26 pm (utc) on Sep. 3, 2008]

Ocean10000




msg:3738256
 1:55 pm on Sep 4, 2008 (gmt 0)

Depending on your version of IIS. This Blog Article might be worth the read.

IIS 7.0 and URL Rewrite, make your Web Site SEO [blogs.iis.net]

I think it covers the some of the more common issues that crop up for SEO's.

pageoneresults




msg:3738274
 2:17 pm on Sep 4, 2008 (gmt 0)

I think it covers the some of the more common issues that crop up for SEO's.

Actually, that annoying Silverlight ad covers what I want to read on that page. And, it chases me around so I can't get rid of it! :(

Ocean10000




msg:3738793
 2:12 am on Sep 5, 2008 (gmt 0)

I guess I am lucky I never installed silverlight, and run with javascript disabled. Saves a great deal of headaches.

pageoneresults




msg:3738801
 2:51 am on Sep 5, 2008 (gmt 0)

Hmmm, it appears that Server 2008 have addressed quite a few of our concerns. We're reviewing a new install now and will be fiddling with it over the next month or so. My lead prog tells me we probably won't need ISAPI_Rewrite anymore. All rewrites are handled through xml.

msndude




msg:3740158
 9:47 pm on Sep 7, 2008 (gmt 0)

Hey, I wanted to thank you all for your feedback on the Microsoft Stack. I would appreciate any and all comments. I will track this thread and roll up your feedback to the engineers at Microsoft working on our stack.

So please keep the feedback coming!

MSNdude

carguy84




msg:3740576
 5:07 pm on Sep 8, 2008 (gmt 0)

It's not impossible at all. In fact Visual Studio actually makes it quite easy. It even has inline W3C validation. If the programmer is incapable of creating valid code, then it allows invalid code to execute.

Visual studio can make it as easy as possible, but unless you're using 100% custom modules, you won't get HTML that actually validates. The mere fact that even if you turn off viewstate, it's tags are still put in will cause your page not to validate.

That being said, I couldn't care less about my sites validating as long as they look correct in all browsers. Viewstate is very important in multi-front end server enviornments.

If I could change one thing about a Microsoft feature in the web world, I want a better zip handler. If the output cache directive is used, and you have gzip enabled, why can't IIS store the output just like it does with .html, .js, .css...files? Why does it still need to render the page first then zip it up?

Also, it needs a better way of handling content and expiration headers.

Chip-

Ocean10000




msg:3741673
 3:05 am on Sep 10, 2008 (gmt 0)

One of my main grips about Microsoft's Application Stack is there unwillingness to update the User-Agent Browser Definition files they created for Classic Asp and Asp.Net 1.x and 2.x. Which they pawn off on a private vendor (I won't name) which doesn't bother updating the public definitions, but instead pushes there own product instead.

And second the code browser identification code would be nice to use in stats programs offline but is not possible currently the way they are implemented without resorting to hacks. I would love to show the stats of browsers the same way as they are detected in the web application without extra work.

vincevincevince




msg:3753223
 4:33 am on Sep 27, 2008 (gmt 0)

For me, quite simply, I want to be able to open the website with FTP, download a file into a text editor, edit it for SEO and then upload it again. I understand logic and syntax as well as the next guy but whenever I try that with a .net driven website something goes wrong.

I don't much care why the sites are so hard to update using a text editor. At present potential clients using .net are advised to rebuild in LAMP or look elsewhere. It's not worth my effort tooling up with Microsoft IDEs which don't even support my operating system just to adjust a site.

GaryK




msg:3753251
 6:31 am on Sep 27, 2008 (gmt 0)

unwillingness to update the User-Agent Browser Definition files they created for Classic Asp and Asp.Net 1.x and 2.x. Which they pawn off on a private vendor (I won't name) which doesn't bother updating the public definitions, but instead pushes there own product instead.

Owen, there are easy to find sources for this information without resorting to buying third-party applications! ;)

docluv




msg:3767119
 2:56 pm on Oct 16, 2008 (gmt 0)

>>>> 1. Last time I looked, .net sites seem to have bloated code all over the place. Mostly something called "viewstate" which to my mind seems totally unnecessary for most web sites and something that could be a cookie or something much cleaner than being stick in the code.

ViewState is used to manage values of Web controls. It is not needed to build applications, but since most ASP.NET developers use web controls to create elements on the FORM, then it is needed. I move mine to the bottom of the page. But yes, the vast majority of ASP.NET applications are business applications and not optimized for SEO because that is not their target use.

2. I see .net applications doing 302 redirects where 301s would be better... I recall from my colleague Receptional Andy that there is a workaround, but it shouldn't be a problem in the first place. Even the workaround creates 301s... which makes me wonder the technically challenged obvious question... why is an internal link on a web page a redirect at all? Why doesn't every link give a 200 response? Surely 200 trumps 301.

ASP.NET does 301 redirects when you use a 301 redirect. I think the use of Response.Redirect does perform a 302 and if you are doing response.redirect for seo then you do not know what you are doing. I have written a lot about using 301 redirects in ASP.NET, which typically should be done in an httpModule.

3. Adhering to some sort of cross party (W3C?) complaince. I know that it's impossible these days, but for goodness sakes - let's at least TRY to create code that confirms to at least some cross party standard.

Yes, again this has nothing to do with ASP.NET, but the developer behind the application. Most developers are not honestly aware of W3C compliance and standards.

4. We also used to have problems with wysiwyg systems (Front Page) changing our code on the fly years back... to the point where we stopped using Front Page. I seem to recall member PageOneResults telling me that ExpressionWeb is much cleaner - but since it's not part of the main office family, there's really not enough people using it and talking about it to give me all that much confidence.

FrontPage sucked and has been discontinued. ExpressionWeb, like FP is good for small static sites. Visual Studio is actually pretty good for markup. It is my only editor.

5. And while we are here... have you ever tried to create a web page using Word or Powerpoint or office app? I'm not suggesting Word as a web development tool, but still... what on earth is all that code, subdirectories and general mess? Again - maybe it's better in newer versions of office, but I'm not going to buy newer versions just to find that out?

No one should ever do that, HTML is not what Office was made for. Wrong tool for the web.

[edited by: engine at 3:55 pm (utc) on Oct. 16, 2008]
[edit reason] urls, see WebmasterWorld TOS [/edit]

Response




msg:3777757
 8:36 pm on Oct 31, 2008 (gmt 0)

Ok, I'll jump in here.

1 ) My biggest wish is a fix for the changing of tag ID's when output is sent to the Client. .NET has a nasty problem of converting a tag's ID (say MyID) to include all the ID's in the DOM up to that point. If you have three DIV's with runat="sever" set, you can end up with an ID of DIV1_DIV2_MyID, when all you want is MyID for use with JavaScript. Drives me nuts that I have a span tag in my page that has an ID twenty or thirty characters in length, when all I want is SPAN1. This is some serious bloat. There is a work around to produce developer friendly ID's for JavaScript use, but is there really a reason that is has to be this way?

2) The second wish is a way to turn off ID's not needed on the Client. As soon as you use the runat="server", bam, you end up with an ID that is not needed or wanted on the Client. I looked at a page I have, that has a lot of code behind processing to produce relatively little HTML code. But .NET produces so many extra ID's on the tags, that the page doubled in size just from the ID's not needed.

-R

marcel




msg:3779311
 4:53 pm on Nov 3, 2008 (gmt 0)

If you have three DIV's with runat="sever" set, you can end up with an ID of DIV1_DIV2_MyID, when all you want is MyID for use with JavaScript. Drives me nuts that I have a span tag in my page that has an ID twenty or thirty characters in length, when all I want is SPAN1. This is some serious bloat.

You shouldn't be adding a runat="server" to divs and spans, try using Literals and Placeholders instead, as they don't create a client side ID. (If you want to manipulate the span or id with js you can try adding a span or div with an id, (without the runat='server') within the placeholder in code before)

Also, replacing Labels with literals will also save you the problem of client side IDs

Response




msg:3779992
 3:54 pm on Nov 4, 2008 (gmt 0)

Marcel, I would disagree. When working with Web Applications and not just Web Sites, server side rendering of DIVS is necessary for layout in many cases. Literals and Placeholders do not provide structure. Use of SPANS over Literals also has advantages, as there is a container wrapping the content that is distinctly different from what the Literal's container would be.

Without runat="sever", you do not have access to the tag as a control on the server side. In cases where you are dynamically loading HTMLGenericControls or HtmlContainerControls, .NET is creating long ID's that may or may not be needed on the client-side.

ContentPlaceholders are the worst at producing bloated pages. They add just one more level to the naming convention.

Let's just agree that .NET does produce an excess of long client-side ID's that add to page bloat.

darrenG




msg:3780167
 8:24 pm on Nov 4, 2008 (gmt 0)

Response, Im sure you are aware, but .net makes the clientID of an element available on the server-side, via the clientID property. It's a trivial task to pass the value to javascript..

Response




msg:3780180
 8:55 pm on Nov 4, 2008 (gmt 0)

but .net makes the clientID of an element available on the server-side, via the clientID property. It's a trivial task to pass the value to javascript..

Oh yes, I have a entire class that takes advantage of this to output a JavaScript array of Client ID's. It is based on the library of James Gregory.

There are lots of work arounds and fixes that can be implemented. We can redesign layouts to avoid using tags with ID's, scrub the ID's during the PreRender events, make JavaScript arrays. But in the end, wouldn't it be nice if the .NET Framework would produce clean code? :)

Global Options:
 top home search open messages active posts  
 

Home / Forums Index / Microsoft / Microsoft IIS Web Server and ASP.NET
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved