Last night, several of us were treated to a dinner as a part of this year’s Microsoft Web Developer Summit (great dinner, by the way – Anthony’s in Kirkland, WA). Seems like there was just about a one-to-one ratio at one point of MS employees to PHP developers attending. It was interesting to see how this played out in conversations and in the general flow of the evening.
At the table I was sitting at there was a MS rep from the Windows team, Ani, who was pleasant, engaging and genuinely seemed interested in what “this PHP thing” was all about. Some of her questions could have been answered by a few trips to Google, but overall it was good to see the interest level from someone not in the usual web bubble PHP normally operates in. There were a few great debates that came out of her questions with the most memorable being about SEO. She had asked about our take on it and if it even played a part in the work that we did. Most at the table were of the opinion that, if it’s going to happen, it was someone else’s job – the responsibility of the front end folks as a part of making the site “pretty”.
This and another comment about application structure got me thinking…with a lot of the sites out there going with an MVC pattern for their structure, does this mean a sort of SEO-friendliness is already built in? I’m not talking that black magic, voodoo stuff that lots of firms pass off as SEO consulting. I mean the good placement of data, good content and a well though out site structure. By default, MVC makes this last one super simple. For most frameworks, it’s just a built in part of their routing to make search-engine friendly URLs. Of course, it’s still up to you to fill those URLs with good meaningful content, but it’s a start.
So, do we as developers still have a responsibility to create an application that will, in the end, make more sense to the outside world and to the major search engines? Should we step outside of our bubble and branch out into the wider ecosystem of the application, making sure that what we’re doing fits with the whole?
I think its developers responsibility 😉 .
The designers may not be aware much about SEO tricks .
A good developer doesn’t make a website that’s icky.
They have already used “good practices” for design – semantic html, nice urls, appropriate meta-data tags.
The SEO is simply a side effect – “best practices” are there for a reason, but I don’t think going out of your way to do “SEO optimization” gains you anything but a headache.
@elizabeth any recommendations on resources (books, sites, etc) for learning these “good practices” for those out there not schooled yet? 😉
Good question. In my opinion yes, it is at least in part the responsibility of the developer to ensure that a site is “search engine friendly”. In my experience a lot of the “tips” given by so-called SEO experts revolve around using well-placed meta data and simple, semantic, if you will, URIs for resources. As a developer I already do these things with class names, semantic markup, PHPDoc blocks (metadata), so on and so forth, so why would I not extend this approach to the presentation layer as well?
I think the question is compounded in larger groups where there are separate teams working on the back end (application code) and the front end (presentation code). This true separation of concerns leads to a feeling of “not my responsibility” for anything to do with the other team’s layer. However, I still believe that the whole team is responsible for working on SEO whether the task is designing the URI scheme, providing hooks for meta data, or just making the architecture easy to see as SEO-friendly “routes”.
Your mileage my vary.
My answer would be Yes; who else will make the app SEO friendly otherwise?… unless the company doesn’t care about SEO at all and never decides to want to (which will be very unlikely).
We developers basically provide the bins, and the SEO expert (whoever that may be in a company) fills them with good high valuable SEO stuff..
It’s definitely the developer’s responsibility. Without good groundwork (good URLs, markup) the content won’t be so effective.
A good start with urls is putting relevant keywords – often the title – into them. In markup, as Elisabeth points out, semantics are good (ie. use h1 tags etc.).
When you have that, you have a good start. After that content matters most, and there are some more specialized tricks you can try
Oh and don’t forget links from other sites
I think it’s the developers responsibility to plan for SEO. Make it simple to update meta info, titles and URL slugs. The biggest head ache is having to go back and implement such things. I believe an application developer should be aware of basic SEO optimizations. I would leave all the SEO research (keyword density and “the long tail”) to the “SEO Experts”.
Developers should be acquainted to all aspects of the web site/application they are producing.
I agree with Elizabeth. I did a little independent study a couple of weeks ago: http://www.designvsdevelop.com/seo-is-a-tiebreaker-nothing-more/ Some of the highest ranking pages for those terms have awful, non-validating, garbage, 1997-era HTML. If you plan ahead and give your code the flexibility to dynamically add header tags, change meta descriptions, and generate nice URLs to begin with, you’re set. MVC makes it easier for you to keep your markup in one place, which in turn is easier to maintain and validate.
I have to agree with what people have been saying about seo and coding. The majority of the work should occur naturally. Along the lines of what Joe is saying when you use something like zend framework as long as you name your actions and controllers appropriately that can go a long way. Then if you add good titles, meta tags, and proper use of other tags you are almost done with seo.
As always, Chris you are going so deep into this and, as always you are right. The URL-friendly part is almost always covered by the framework one uses and it only comes as a challenge to those who create php applications from scratch and who do consider application architecture.
However I found an interesting quote somewhere some time back (excuses for not citing the owner but I simply can’t remember at this point): ‘Any fool can write code that a computer can understand. Good programmers write code that humans can understand.’
Yes it is the developers role I have started using model view controller of the last two years this does help with the seo and also with managing the data.