Im wondering what other aspects of our Drupal site we can fine tune for optimal search engine optimization.
We have clean URLs setup. We have the path_auto module setup creating filenames based on node title. We've tweaked the page title settings to display the headline of a node as the page title.
Beyond this, are there best practices for Drupal and SEO?
For example, would one suggest modifying page.tpl.php (or template.tpl.php) so that the content portion of a page appears above the sidebar blocks in terms of HTML code.
Any suggestions for better internal linking structure/practices?
Has anyone seen any increase/decrease in traffic due to the number of nodes displayed on the front page, or teaser length for nodes?
Do certain modules decrease the SEO aspect of a site in any way?
Are certain modules limited in regards to increasing SEO?
We are getting ready to launch our site, and wanted to hear some feedback from the community as to what has worked for them, or what has worked against them.
Thanks,
-=Vince
Comments
I would think having the
I would think having the actual content as close to the top of the HTML page would be good general coding as well as yummy spider food.
My Experience
Ive switched from a static, heavily optimized site with huge traffic to a drupal powered site. My site is back in drupal in terms of content, navigation, meta tags etc but i dont know why the traffic is still down to 50% than before.
The nodewords module will help you a lot in defining meta tags for each node; specially description and the keywords. The css based theme structure will help the spiders in their work also.
Ive also modified my adsense modules to get the exact ad placement and tracking. Still im unable to get the traffic upto the same level. Maybe now im getting more link-outs from the page thats reducing SE rank of the pages..
this might be the reason...
adnanshareef,
one of the reasons of the lower traffic may be due to the transition over to the drupal powered site.
if your site had a different directory structure and page names, its possible all the incoming links to those pages were lost (unless all publications were notified of the switch to the new cms)...also i could assume that google now has to index all the newly created pages, whereas your older site's pages had an older lifetime to them.
i already did that.
when i converted my site to drupal, i created exactly the same links of pages as they were before using the path alias module. i also rechecked to see whether cross-linking across the website is working fine or not. so, i also assured that there are no "page cannot be found" messages.. but yes, it took me a week to apply all that. so, for one week my sites were not presenting good stuff for the SE..
its been a month since things are fine with the website except the SE traffic.
i saw the pages of my website in google and msn search results and they were updated so, google indexed my old pages.
another issue
there is one more issue with linking and path alias which one must know. i had a page on my non-drupal website called mysite.com/my-dir/index.htm and it was also accessed through
mysite.com/my-dir
mysite.com/my-dir/
when you shift to drupal, you can specify only one path alias for a node. so, for drupal my-dir/ and my-dir/index.htm are totally two different nodes..
If you understand the problem, you can imagine how harsh it could be with the SE rankings.
The solution I applied was to place a permanent redirect in the server's .htaccess file that redirects "anything/index.htm" to "anything"
multiple instances of nodes?
Do you think this caused a problem with the search engines due to duplicate content?
SEO in the context of Drupal
I am currently getting ready to re-launch a number of my clients websites into Drupal (my choice CMS) and I have had to defend Drupal concerning SEO mainly based on my understanding of the application. This discussion is therefore of interest to me. Not to bore your with my stories:
FYI: In my experience,
- I use the google sitemap submission tool to help google learn my new site structure and with my lastest project (brand new site & URL), out of the new 110+ pages, I have seen google crawl at least 1 page every hour (the site is 5 weeks old), the homepage is already on most engines and I believe that in 6 months (yes, it can take that long for a brand new website to start ranking on Google) I will get a good ranking.
- The gsitemap module in Drupal looks like a folder to google and the engine refuses to use it to crawl apges outside that 'folder', so I had to create a path alias for it (that works, but generates an erro in the watchdog), so I stopped google from downloading the sitemap and opted to have the gsitemap module submit the map to google whenever I make updates
This post is getting too long, and i'd rather refer you to an existing log entry on SEO instead of duplicating it here
http://www.cmsproducer.com/click/133/3
NB: Personally, I have reservations about using path_auto. I prefer to manually declare the path aliases that I need for stable pages, and leave the rest as node/# . This is because if the subject/title of the page in question changes, you are now stuck with the old path and being that Drupal only allows your one Alias per path, you better have it right the first time or you may get stuck with less than perfect indexed paths.
-----
iDonny - Web CMS Development, Design, and Web Marketing Advice
not sure..
not sure completely but as far as i see, google also considers site.com/dir/index.htm and site.com/dir/ as two different pages even the content is same.. i observed that one of them recently got a pagerank from google while other didnt..
im still searching for the major issue that caused the rankings to go down.
Another problem with path alias
I just came to know that the urls created through path alias are also case sensitive. So, site.com/test and site.com/Test are different..
This also could be negative in terms of SE ranking if a spider starts to land at "page cannot be found" pages..
I suppose a simple patch in the path alias module will do the trick or in other case .htacces will do.
multi-site issue
previously we had more than 20 websites, each with its own ip. some websites are related to a topic, some were not. when we shifted to drupal we opted for a mult-site environment i.e. running all sites with a single code-base. that helped a lot in customizing all sites in a flash etc.
But, here is the other side of the picture; as all sites were running under same drupal codebase, hence all sites were falling under the same ip adress. i think this also might be the reason for the downfall in the SE rankings of my sites. Im still unable to assign each site a unique ip and run them all with single codebase.
Multiple IP addresses and Drupal Multisite
I am in the process of moving several websites (some sharing IPs and others not) to Drupal and my approach is going to be to maintain unique IPs for some of them, and for those that will share a codebase, we are going to use virtual hosting using IPs as opposed to headers (some of the websites willl have their own codebase so that we can avoid breaking everything if something ever goes wrong).
Here is how you can mix IPs and names/headers in Apache and still take advantage of Drupal Multi-site features:
** Drupal's codefilter does not allow me to enter configuration code here, please read the sample code at the following page:
http://www.cmsproducer.com/click/136/2
-----
Web Development, Production & Marketing Advice - http://www.cmsproducer.com/click/26/3
you made my day..
thanks for the great advice.. ive consulted with my web-hosting company and its fairly possible and im looking forward to implement it.. I think this'll also help a lot in gaining SE rankings.
May I know how to have multi
May I know how to have multi sites and all using different IP?
Linking Strategies
While shifting your site to drupal, you have to keep an eye on your linking schemes on the website to maintain good SE rankings.. As you see that the drupal pages contain relatively more links than static or non-CMS sites.
For example: on every page you have a link to the homepage with link text "Home". It would be better to rename it with the theme keyword of your site. You can do it by just modifying it at one place in the includes/menu.inc
On book pages, you have links that say "next", "previous", "up". Then on the next line you see the titles of whats behind "next", "previous" "up". It would be a better idea to do some tweaking in the book.module and convert those previous, next, up into the links with actual titles as link-text.
More the links evolving out of a page, hard it would be to get page rank of that page.
For drupal 4.6 and previous versions, you have to be really careful to place cross-linking across the pages. For example if i use an on-page anchor i.e < a href = #bottom.. it wont work and instead of placing on-page anchor, it'll link to the homepage.. Moreover, the cross-linking within the website should be either absolute or relative to the homepage but not relative to the current path alias.
Good pointers on often overlooked issues
Thanks for the good pointers on often overlooked issues in a CMS such as Drupal. If anyone has an idea how to tweak the book module, please post it. If I make a breakthrough, I will post it here. Also, talking about crosslinking, I think that with a good taxonomy and terms that are keywords instead of just classification words that made sense to the author, you can get some good cross-linking within the website from the base at the bottom of the page that lists all the related taxonomy terms with links to all the pages that belong to that given term.
In addition to SEO, those links make it much easier for surfers to pick a topic that interests them in the document they just read and reading more documents on the same.
The comment on the "Home" breadcrumb is a winner, I am modifying mine as we speak. It is on line 467 of the menu.inc file at it reads $links[] = l(t('Home'), '');
- I hope that the forum codefilter will let this be visible
NB: After modifying it, when you call a taxonomy term, you will still see 'Home' I think that you will also have to find and modify this within the Folksonomy module
-----
iDonny - Web CMS Development, Design, and Web Marketing Advice
Can the locale module be useful?
Thanks for the tips. In terms of changing anchor text for inter-site linking, would one be able to use the localisation module to change the anchor text of certain links (such as the 'home' in the breadcrumbs), or is it necessary to dig into the code and modify it?
It seems like using the translation feature would make this much quicker and more efficient. If its only producing a visible result and no change when the spiders hit the site, then it would be worth the effort to dig into the code.
Any thoughts?
-=Vince
Technology White Papers
How to modify the 'Home' in breadcrumbs
Yes, you can modify the 'Home' text in the breadcrumb to take advantage of this link for Search Engine optimization as follows:
Edit the menu.inc file (found in includes/). I have detailed the process in a document http://www.cmsproducer.com/Drupal-Breadcrumb-Keyword-Search-Engine
-----
iDonny - Web CMS Development, Design, and Web Marketing Advice
tweaking book.module
To convert text "up", "previous", "next" into book navigation links, ive modified my book.module. For "next", "previous" you have to make updations in function theme_book_navigation. For "up" i added a new function. I can provide if someone needs my version of book.module.
How to add keywords/keyphrases META to main page of Drupal site?
Greetings,
The discussion is very useful and helpful, but could one add easily customizable META tags (keywords, keyphrases) to *main* page of a Drupal-powered site?
Is it possible without modifying template sources?
Thanks!
Konstantin
Use nodewords
Hi,
You can use node words module which is here (for 4.6 version):
http://ftp.osuosl.org/pub/drupal/files/projects/nodewords-4.6.0.tar.gz
Standard keywords, descriptions & Google
To declare the keywords for the home page, you should access the settings for the node-words module and it will enable you to declare the Global Keyword meta tags that will be used where none are provided. Also, make sure that you select the 'use teaser' when no descriptionis provided for the description.
Although for regular pages you will have the opportunity to add a description, I sometimes use it, but often I leave it blank and optimise the first 3 limes of my page content. This is preferable if you are targetting Google. Google ignores META description and uses the first few lines of your page as the description for the page... so it's better to focus on optimising the first few lines and Drupal will provide those as the description, just as Google will extract them from the page contet... that way you will end up with the same description in all search engines... and you will not have to do the double work of optimising the node-words description as well as the first few lines.
As for keywords, I would suggest adding them manually in nodewords for those engines that still bother with META Keywords. Please, do not try to stuff keywords that are not in your page content into the META tag even if they have some relationship to your overall business. Be honest and change the page content if you really want a certain keyword to be associated with that page. You can use this tool to scour your pages for relevant keywords that are common on the particular page you are optimizing: http://www.searchenginepromotionhelp.com/m/keywords/processor.php
As always, if you need Search Engine Optimization Advice or Guidelines, contact us.
-----
iDonny - Web CMS Development, Design, and Web Marketing Advice
Thanks for the detailed answer
Thanks! I have visited your site several times and glad you've provided very detailed explanation. I'll contact you when I need more advice, directly.
Respect, Konstantin.
Internet presence: [Personal site] [Gold Gatherer]
Just Bookmarking
just keeping track of this thread - thanks
--Ryan
Ryan Cross
James Cross Construction Services
Project Management Software
Problem with url alias.. Can anyone observe that?
As far as SEO is concerned, the links carry a lot of importance. I use url aliases to get keyword rich urls and its really helpful. Ive observed sometimes on the website's pages, the links generated are not rendered by the url alias module and instead i see node/* urls behind the links. This could shatter your rank in the search engine i.e. finding duplicate content on two diferrent urls.
Does anybody observe the same problem? or anyone knows the cause? Im also not that much aware of cron and throttle modules.
Thats why in my robots.txt ive disabled node/ links as im completely following url aliases.
Adnan Shareef
node/* aliasing approaches - My First Thoughts
I have not observed what you mentioned... but I have a number of pages that are indexed with the node/* because I did not specify the alias immediately and Google beat me to it by crawling the page first.
You have actually mentioned most of the places I would suggest looking for the cause. You are right to block indexing/crawl of node/* but BEWARE, only do it if all/most of your important pages already have aliases, otherwire all pages that do not have aliases will not be indexed.
I have read in places that implementing path_auto on a very large website can get it to become very slow (especially in 4.66 without the patch); hence why I only have my biggest pages have aliases. If you implement path_auto and throttle, you can be sure that at one time, throttle may prevent aliasing from working (I am kind of repeating your points here).
* If you always create the alias when you create the page for the first time, the only thing I would suspect is if you have page-to-page links that use the node/* address for the destination page, the SE crawler will remember that address as it records the link from one page to another.
Also, the appearance of node/x links could be as a result of linking using node/x before you created the alias. Paradoxically, unless you are organised and certain that you will never modify your aliases, using node/x for internal links ensures that the link will never break even if the focus of the page changes down the road and you decide to rename the path and 301 redirect it - you do not want a nest of 301 redirect within your site's internal linking (In this respect, I often use node/x to link between documents) and the alias for external links.
A smart approach to fixing any broken links within your site after linking using keyword-rich aliases is to install and use the search404 module. It redirects 404 errors to a search result of all the pages containing the keywords int he URL. Smart he!
-----
iDonny - Web CMS Development, Design, and Web Marketing Advice
For 4 months i am looking
For 4 months i am looking for a solution to improve the forum module of drupal. id like to rename the forum title. There is only a silly "Forums" in the title. Thats bad for seo. Any ideas to rename the title of the forums startpage?
I have already suggested it, but nothing happens. In Drupal 5, you can not rename the forum....
I am using drupal 4.7x
Relative & absolute adresses
http://drupal.org/node/258630
Relative & absolute adresses
Hi evrybody,
on most drupal sites I notice that the internal links are all relative and not absolute.
This is very bed for seo because
/anyfolder (relative link)
and
www.domainname.com/anyfolder (absolute link)
when linking there are two other diffrent page that google index!!! the credits splits!
We want to avoid duplicate data on our sites, the solution will be pretty simple for someone
who knows php i guess.
Does anyone else notice this? am I wrong? there is a solution that I don't know of?
Thanks
It is not simply true that relative URLs are bad for SEO
That is simply not true. Who told you that and/or where did you ever get such an idea? It is possible you could be having problems with running on multiple domains, but relative URLs are viewed exactly the same as absolutely URLs when on the same domain. Doing otherwise would be violating the W3C HTML specification.
Relative & absolute adresses
they are viewed exactly but indexed diffrently.
www.example.com
example.com
www.example.com/index.htm
and
www.example.com/index.html
are four other pages as far as google concerned. I wish I had a reference that I could show you this. I'm learning seo professionaly and
one of the most experts with an heavy reputation told me this (my teacher). it's even written in the printed data pages of the course.
SEO
Hi I am no expert in the field of SEO but over the last couple of weeks I have been concentrating my efforts on get up the page on Google and I have just managed to hit page one for
Ferrari California GT one of my news articles it has been very hard work not making the changes but sifting through all the stuff on the web to find a basic list
i.e. step 1 do this
Step 2
The SEO module was a good start, but there is oh so much more to do and I don’t think I am there yet, but it feels good to hit page one on Google and with that comes a nice hit with the traffic
If you do a search for SEO check list there are some good guides which help step through what needs to be done
Like amending the .htaccess to point to www.car99.net only
The robot.txt file needs some work
Then the document
Think about keywords
Rather than keywords go for key phrases
i.e. "Ferrari California GT"
Then put it in the URL, page title, and a couple of times in the document
www.car99.net www.mobbly.com