Are absolute links better than relative links for seo?

by Michael Martinez on May 28, 2008

Believe it or not, the subject for this post is a query string that keeps showing up in SEO Theory’s search referrals. I think people are reading this post on internal linking technical tips for SEO where I wrote:

Of course, I recommend that you use the traditional HTML structure but I also prefer the use of absolute URLs (where you start the link with http://) for a variety of reasons. First, if you fall into the lazy habit of using relative URLs, you end up with canonicalization issues. Your internal links for your root URL will all end with “index.html” but your external links will in many if not most cases just use your domain name.

That doesn’t really answer the question, however, of whether “absolute links are better than relative links for SEO”.

Technically, it doesn’t matter, and I think I have always said so. A search engine will do it’s level best to resolve all relative links correctly. But there are occasions when a search engine programmer’s resolution logic might fail. For example, suppose you put content on both your secure (https) and unsecure (http) Web URLs. If you’re using relative URLs to link to certain files that are only located on one or the other site, you’ll not only create some Error 404 situations, you’ll find it difficult to track down what is going on with your search indexing.

A lot of people use multiple formats for relative URLs, and those multiple formats can be confusing and create problems if you move content around your site. For example, if you move a page to a higher directory you’ve just broken all your links starting with “../”. That tells the search engines (and Web browsers) to look in the wrong place for related content.

In and of themselves relative URLs work just fine for search engine optimization but they assume an illusory flexibility that actually impedes your ability to manage your internal linkage properly. It’s always easier to update absolute URLs than to update a mixture of relative URL formats.

People are also searching for SEO internal linking. The intent behind that query is not clear, but I would guess that people are looking for “internal linking tips for SEO” or “how to SEO your internal linking” or something along those lines.

Here is a concise list of internal linking rules I usually (but not always) abide by. Consider these the official SEO Theory “SEO Tips for Internal Linking” in bullet point format:

  1. Always use absolute URLs to ensure your links are pointing to the right documents regardless of where your pages go
  2. Use HTML text links in as many places as possible (especially as alternatives to image, flash, and Javascript links)
  3. Always use relevent, descriptive anchor text in your internal navigation
  4. Always provide at least TWO internal navigation systems (three is better if you can include site search)
  5. Always include cross-promotional (internal) links in your content wherever it is relevant
  6. Always use a tiered design for any site larger than 15-20 pages to help emphasize which of your pages are most important
  7. It’s a good idea to put rel=nofollow on user-generated content like profile pages and other pages where outbound links you don’t review may be placed by anyone
  8. NEVER use rel=nofollow on “About us” and “Contact Us” pages

Can you do more with internal links for search optimization? Sure, but everything else is optional. For the most part, these are the rules I adhere in my own personal Web architecture and these are the strengths (and weaknesses) I look for in other people’s site architectures.

There are a lot of people trying to answer the question “are absolute links better than relative links for SEO” but they don’t really discuss “SEO internal linking” concepts when addressing the first question. As far as I am concerned, the two ideas are closely related. If you want to understanding how to optimize internal linking, you need to understand the advantages and disadvantages of using absolute URLs versus using relative URLs.

{ 6 comments… read them below or add one }

BuddhaBen 05.28.08 at 11:45 am

Michael, any reason that each paragraph of this post is a link? is this an error, or are you mixing up something in the lab?

Michael Martinez 05.29.08 at 7:36 am

That was weird. My computer must have burped when I wrote the post and I didn’t have time to go back and review it for obvious glitches (which I usually do).

Thanks.

Stef 05.29.08 at 8:17 am

Hi Michael, could you clarify no 8 “NEVER use rel=nofollow on “About us” and “Contact Us” pages

” a bit more? Personally I don’t think nofollowing internal pages could harm your site/rankings. It just stops passing value to less important pages in which I don’t see any problem. It doesn’t go under the black hat, Google itself introduced it, but that offcourse was for other purposes like comment spam. I’ve used it on several sites on internal pages and didn’t got penalised or saw any important changes in rankings.

tinkerbellchime 05.29.08 at 8:55 am

Michael ~ Why don’t you use the letters “www” after the http:// in your links on this SEO Theory site? Thanks to your sage advice, I need to start changing the links on a site to their full addresses, but I’d like to know if I should use the 3w’s. What made you decide to not use them? Was there a reason, or am I reading too much into this? Also, do you have any SEO advice or theories about using JavaScript on a website? I’m in the process of learning it, and I’m wondering what planning measures could be taken in the early stages. I won’t be using JavaScript links, but I’d like to post JavaScript quizzes–the kind with the radio buttons.

Michael Martinez 05.29.08 at 4:19 pm

Stef, if you’re going to nofollow links to important pages like “About Us” and “Contact Us” you might as well not put those pages on your site. To suggest that they are not important or that they are less important than other content on your site is to reflect a very naive viewpoint.

For example, Stanford University’s Website credibility project strongly suggests that you make it easy for people to identify who is behind a Website. They made that recommendation (as I understand it) on the basis of research which shows that people place more trust in Websites whose operators are identifiable and reachable.

In fact, site search data that I have reviewed for multiple sites indicates that people often look for exactly the kind of information that one would expect to find on “About Us” and “Contact Us” pages.

A few opportunistic SEOs who really don’t know what they are talking about jumped on their blogs last year and told people to use nofollow on “incidental” internal pages that are “not important”.

Those pages are among the most important content any business Website can include, and not only do they need to be followed, linked, indexed, and searchable, they need to provide people with exactly the kind of information they want.

SEOs need to stop obsessing about managing PageRank. There is absolutely NO ONE in the SEO industry who knows how to manage PageRank. You cannot see it or measure it, so it’s completely impossible for you to manage it.

Tinkerbellchime, this blog’s URLs are a canonicalist’s nightmare. Nonetheless, it ranks well for many expressions. I try not to fix too many problems with this blog to show people that having technical issues is not the kiss of death.

Besides that, I just don’t have time to set it all up the way I’d really like to.

As far as Javascript goes, don’t count on it for search engine optimization. Some search engines will parse and index your Javascript text but I have not made a systematic study of which ones do it or what the limits are. There are way too many skanky things that people do with Javascript.

Besides, I don’t like AJAX. But that’s just me.

You can, by the way, implement radio buttons through traditional HTML forms. I don’t know if those elements have been deprecated for HTML 5.

foto - Sorin Buturugeanu 01.13.09 at 4:44 am

I used to be against AJAX myself, but there are some advantages to it. I like to use it on user registration forms, to notify users if they already have registered their e-mail address, or if the username isn’t available. As in most things, you have to be flexible, and not get fixed ideas like “AJAX is bad”. Not saying you do so, this is mearly a peice of advice for your readers.