SEOClerks

Which menu/url structure is more SEO friendly?



Write the reason you're deleting this FAQ

Which menu/url structure is more SEO friendly?

I am planning to structure my menu and following 4 types came into my mind.

**Menu 1**

Extensions (/extensions)
|-- Magento Extensions (/extensions/magento)
|-- Prestashop Extensions (/extensions/prestashop)
|-- WooCommerce Extensions (/extensions/woocommerce)
Themes (/themes)
|-- Magento Themes (/themes/magento)
|-- Prestashop Themes (/extensions/prestashop)
|-- WooCommerce Themes (/extensions/woocommerce)
Free Stuff (/free-stuff)



- Looks cleaner to me & require less space to fit in menu.
- More Sub-Categories/Types can be added easily under `Extensions` & `Themes`
- `Free Stuff` generalizes all the Free stuff from `Extensions` & `Themes`

**Menu 2**

Extensions (/extensions)
|-- Magento Extensions (/extensions/magento-extensions)
|-- Prestashop Extensions (/extensions/prestashop-extensions)
|-- WooCommerce Extensions (/extensions/woocommerce-extensions)
Themes (/themes)
|-- Magento Themes (/themes/magento-themes)
|-- Prestashop Themes (/extensions/prestashop-themes)
|-- WooCommerce Themes (/extensions/woocommerce-themes)
Free Stuff (/free-stuff)

- This menu is exactly same as #1. It only differs in url structure - prefix has been added to sub-menu.

**Menu 3**

Magento (/magento)
|-- Free Stuff (/magento/free-stuff)
|-- Premium Extensions (/magento/premium-extensions)
|-- Premium Themes (/magento/premium-themes)
Prestashop (/prestashop)
|-- Free Stuff (/prestashop/free-stuff)
|-- Premium Extensions (/prestashop/premium-extensions)
|-- Premium Themes (/prestashop/premium-themes)
WooCommerce (/woocommerce)
|-- Free Stuff (/woocommerce/free-stuff)
|-- Premium Extensions (/woocommerce/premium-extensions)
|-- Premium Themes (/woocommerce/premium-themes)

- Require more space in menu.
- If you want to add New Type(Drupal, Joomla etc.), you have to be careful with the available space in menu.

**Menu 4**

Magento (/magento)
|-- Free Stuff (/magento/magento-free-stuff)
|-- Premium Extensions (/magento/magento-premium-extensions)
|-- Premium Themes (/magento/magento-premium-themes)
Prestashop (/prestashop)
|-- Free Stuff (/prestashop/prestashop-free-stuff)
|-- Premium Extensions (/prestashop/prestashop-premium-extensions)
|-- Premium Themes (/prestashop/prestashop-premium-themes)
WooCommerce (/woocommerce)
|-- Free Stuff (/woocommerce/woocommerce-free-stuff)
|-- Premium Extensions (/woocommerce/woocommerce-premium-extensions)
|-- Premium Themes (/woocommerce/woocommerce-premium-themes)

- This menu is exactly same as #3. It only differs in url structure - prefix has been added to sub-menu

Moreover, I am targeting for following keywords:

- "Magento Extensions"
- "Free Magento Extensions"
- "Magento Themes"
- "Free Magento Themes"

and similar goes for `Prestashop` & `Woocommerce`

Which menu structure should I implement in terms of SEO friendliness? or I should adopt a new structure.
Please do suggest.

Comments

Please login or sign up to leave a comment

Join
hotcontent
i didn't get you what you exactly want ?



Are you sure you want to delete this post?

WebMania
Menu 4 is much better than other 3
It has clear understanding for Human being & Search Engine Bot as well, So go for it without any hesitation.



Are you sure you want to delete this post?

sanfora
now google relay on unique content and simple try the simple one that will work



Are you sure you want to delete this post?

williamjohn
URL should be dynamic. Don't include special character in the URL. Implement the target keyword in the URL to make the URL seo friendly.



Are you sure you want to delete this post?

elizbethsewell
You should first set generic and than specification of your product like menu #1 is better than others so I think you should go for first.



Are you sure you want to delete this post?

Lindan01
Menu #4



Are you sure you want to delete this post?

hrishivardhan
Menu #1 is more efficient than other.



Are you sure you want to delete this post?

Order Now
Process Time: 0.062089920043945

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='15864'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='15864'

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

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

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

SELECT * FROM seoclerks.members WHERE USERID=4425471SELECT googleplus_profile FROM seoclerks.members WHERE USERID=442547

/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=15864 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=15864 LIMIT 5

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

SELECT * FROM answers a, seoclerks.members b WHERE a.quesid='15864' 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='15864' 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=85360 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=85360 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=85361 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=85361 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=85362 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=85362 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=85363 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=85363 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=85364 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=85364 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=85365 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=85365 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=85366 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=85366 LIMIT 5

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

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

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

SELECT * FROM questions WHERE quesid!='15864' AND status='1' AND (question like '%Which menu/url structure SEO friendly?%' OR question like '%Which%' OR question like '%menu/url%' OR question like '%structure%' OR question like '%friendly?%') -- ORDER BY RAND() LIMIT 151SELECT quesid, question, seo, userid FROM questions WHERE quesid!='15864' AND status='1' AND (question like '%Which menu/url structure SEO friendly?%' OR question like '%Which%' OR question like '%menu/url%' OR question like '%structure%' OR question like '%friendly?%') -- ORDER BY RAND() LIMIT 15

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

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

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

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

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

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

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

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

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

SELECT * FROM seoclerks.members WHERE USERID='677' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='677' 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=15864%' 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=15864%' 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='104322.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='104322.png'

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

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

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

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

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

SELECT * FROM seoclerks.members WHERE USERID='443457.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='443457.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.3960771SELECT A.*, C.username, C.profilepicture, C.userlevel, C.ratingcount, C.rating, C.lastlogin, C.ip, C.lip, C.profile_data from posts A, seoclerks.members C WHERE A.active=1 AND A.USERID=C.USERID AND A.sold_out=0 AND category IN (93) AND gtags like'%SOCIAL%' AND type !=99 AND A.feat=0 AND A.catfeatured_upgrade=0 order by A.lastgigedit desc limit 0, 400.3960770.396077