- why long URLs occur,
- how to make long URLs short,
- the wish to stuff URLs with keywords (both of domains and every single URL slugs),
- the necessity (or, to be honest, the wish too) to reproduce the site's structure in the matching URL's structure.
Long URLs cause: keywords
Exact match domains aren't so valuable as they were once. Now they are only good for branding perposes, so it's no longer worth to stuff keywords into the domain name. I hope, we agree, that this source of the URL's length we can successfully avoid;)But what with the keywords in the URL slugs? Well, in some circumstances they will give a SEO and usability benefits. For example, if URL contains not only hard transactional / commercial keywords but is descriptive, and the page with this URL has valuable content. In such cases it is reasonable to shorten URLs so it has nothing beside of the domain name and following descriptive URL slug - no categories, no subcategories, no parameters.
Long URLs cause: site structure
Another common long URL origin is the site architecture and correlating URL structure:- example.com/forum/category/subcategory/thread
- example.com/shop/brand/product-kind/product
- example.com/magazin/news/theme/article
- example.com/blog/author/date/article
Note!
- Breadcrumb establishes the site's structure through the parent and child entities, not through the URL's nesting!
- Breadcrumb may have any URL as parent, and any URL as child element.
How to optimize long URLs SEO impact
Site structure
Avoid nested site structures! You folders may have nesting of any depth - don't create correlating URL structure of nested folders.Breadcrumb usage
- Communicate your site's structure with a breadcrumb on the pages, which you mean as nested.
- Your article's page should have an URL: example.com/article.html.
- The breadcrumb on the article's page should have a structure like homepage→link-to-magazin→link-to-themes-page→link-to-article-page,
- The breadcrumb on the article's page should contain URLs like example.com→example.com/magazin.html→example.com/theme.html→example.com/article.html
Breadcrumb structured markup
To negotiate the site's structure to Google it isn't necessary to create nested URL structure - this will only complicate the crawling. Much better is to create flat URLs like example.com/article.html and negotiate the site's structure with all of navigational site levels like magazin, theme, author and so on, implement the structured markup for the breadcrumb, and happy Googlebot will reward it with the beautiful visible breadcrumb on the search results page.Look in the Google's structured data testing tool how the following structured breadcrumb markup generates visible breadcrumb:
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="http://www.example.com/" itemprop="url"> <span itemprop="title">Home</span> </a> › <div itemprop="child" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="http://www.example.com/magazin.html" itemprop="url"> <span itemprop="title">Magazin</span> </a> › <div itemprop="child" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="http://www.example.com/theme.html" itemprop="url"> <span itemprop="title">Theme</span> </a> <div itemprop="child" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="http://www.example.com/article.html" itemprop="url"> <span itemprop="title">Article</span> </a> </div> </div> </div> </div>
Note!Use structured markup i cited or RDFa and...Enjoy your breadcrumbs:)
Schema.org markup doesn't generate visible breadcrumbs in SERP!