SEOClerks

Placing blogs in subdomains or subdirectories?



Write the reason you're deleting this FAQ

Placing blogs in subdomains or subdirectories?

What is the based place to place a blog from an SEO point of view? Make them subdomains or subdirectories (aka blog.domainame.com or domainame.com/blog)?

Placing blogs in subdomains or subdirectories?

From what I've tried over the years, subdomains (blog.domainame.com) make terrible blogs from an SEO point of view. Really terrible rankings no matter how much you try to create quality content and get good backlinks!

I had way much better results having blogs in subdirectories (domainame.com/blog ) and I even installed Magento on the domain and Wordpress on the subdirectory, had no problems in ranking high-level keywords.

On the other hand, subdomains are more visual appealing than subdirectories in my opinion and I wish Google will become smart enough to treat subdomain blogs as it treats subdirectory blogs.

What do you think?

Comments

Please login or sign up to leave a comment

Join
anwebservices
From my experience, subdomains are not wrong, but subdirectories working much better then subdomains i guess. Because of SEO and SERP. It's also easier to track your stats when you keep your blog on subdirectory. in some cases, blog on subdomain can be treated as completely different website. Probably get different domain and page authority as well. So i always stick to use blog on subdirectory



Are you sure you want to delete this post?

idealmike
Well there are pros and cons to both. And for one site that goes with one way and another that goes with another. Both can have their own pros and cons and you'd think that one version would be better than the other and that by now people would know what's better. I think when it comes to a blog though, a blog should be in a sub directory rather than a sub-domain. Because a blog is another part of the site but like an extension to it. So it should be kept in a separate part of the domain as well such as /blog or /forum etc.



Are you sure you want to delete this post?

Cristian
But what about e-commerce websites for example, from my point of view, I think a subdomain will make a lot more sense because I want to keep my online store and the actual blog separate.

Also, Mike what are the current benefits of owning a subdomain blog compared with a subdirectory? Because from a SEO point of view, I don't see any.



Are you sure you want to delete this post?

vinaya
I think it is good to have the blog on a sub-directory instead of subdomain. I have been on Hubpages since 2010. Hubpages allowed to have a subdomain for each user. After letting users have a subdomain for years, Hubpages finally moved the user accounts from subdomain to sub directory. The reason they stated was: Google did not have high opinion about subdomain and it did not care much about subdomains, which resulted in the loss of Google traffic. Since Hubpages is one if the biggest writing websites, we can trust their findings.



Are you sure you want to delete this post?

Order Now
Process Time: 0.24330902099609

Possible Duplicate queries found!
MatchCountSQLScript
SELECT * FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='18698'1SELECT q.*, c.seo as CatSEO, c.name as CatName, c.parentid FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='18698'

/opt/clerks-staging/docroot/viewfaq.php 496 () ()

SELECT * FROM seoclerks.members WHERE USERID='134'1SELECT * FROM seoclerks.members WHERE USERID='134'

/opt/clerks-staging/docroot/include/functions/includes/member.php 445 GetAllUserDetails() ()

SELECT * FROM seoclerks.members WHERE USERID=1341SELECT googleplus_profile FROM seoclerks.members WHERE USERID=134

/opt/clerks-staging/docroot/include/functions/main.php 16914 GetGooglePlusProfileFromId() ()

SELECT * FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=18698 LIMIT 51SELECT m.username FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=18698 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM answers a, seoclerks.members b WHERE a.quesid='18698' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc1SELECT a.answer, a.USERID, a.upvotes, a.downvotes, a.ansid, a.parentid, a.combined_votes, a.date_answered, b.username, b.userlevel, b.profilepicture FROM answers a, seoclerks.members b WHERE a.quesid='18698' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc

/opt/clerks-staging/docroot/viewfaq.php 1245 () ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=103462 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=103462 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=103648 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=103648 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=103714 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=103714 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=133522 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=133522 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

UPDATE questions SET total_views = total_views + 1 WHERE quesid='18698'1UPDATE questions SET total_views = total_views + 1 WHERE quesid='18698'

/opt/clerks-staging/docroot/include/functions/main.php 1765 update_Faqviewcount() ()

SELECT * FROM questions WHERE quesid!='18698' AND status='1' AND (question like '%Placing blogs subdomains subdirectories?%' OR question like '%Placing%' OR question like '%blogs%' OR question like '%subdomains%' OR question like '%subdirectories?%') -- ORDER BY RAND() LIMIT 151SELECT quesid, question, seo, userid FROM questions WHERE quesid!='18698' AND status='1' AND (question like '%Placing blogs subdomains subdirectories?%' OR question like '%Placing%' OR question like '%blogs%' OR question like '%subdomains%' OR question like '%subdirectories?%') -- ORDER BY RAND() LIMIT 15

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM seoclerks.members WHERE USERID='2044' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='2044' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='43' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='43' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='18151' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='18151' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='18733' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='18733' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='17031' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='17031' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=18698%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID 1SELECT USERID, username FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=18698%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM categories1SELECT * FROM categories

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() parseRedundantQueriesCache()

select * from categories_software order by name asc1select * from categories_software order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetSoftwareCategories()

select * from categories_wanttobuy order by name asc1select * from categories_wanttobuy order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_wantcategories()

select * from categories_wanttotrade order by name asc1select * from categories_wanttotrade order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_tradecategories()

SELECT * FROM seoclerks.members WHERE USERID='254580.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='254580.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='272.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='272.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='134.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='134.png'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='585810.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='585810.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

select * from categories_faq order by name asc1select * from categories_faq order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetFaqCategories()

Invalid SQL

count(*)sql1error_msg

Expensive SQL

Tuning the following SQL could reduce the server load substantially
LoadCountSQLMaxMin

Suspicious SQL

The following SQL have high average execution times
Avg TimeCountSQLMaxMin
0.2940011SELECT A.*, B.seo, B.name as categoryname, C.username, C.userlevel, C.lastlogin, C.ip, C.profilepicture FROM wanttobuy A, categories_wanttobuy B, seoclerks.members C WHERE A.active = 1 AND A.category = B.CATID AND A.USERID = C.USERID ORDER BY A.bdays desc LIMIT 0,400.2940010.294001