Brödsmulor till Symfony2

breadcrumbs

När man bygger stora webbplatser med en stor hierarki av undersidor kan det vara förmånligt att använda sig av brödsmulor för att underlätta navigeringen och låta besökarna få en bättre förståelse på hur webbplatsen är uppbyggd. Brödsmulorna hjälper även google att indexera alla sidor i hierarkin.

Jag byggde nyligen ett Symfony2-projekt med kategorisidor. Jag ville använda brödsmulor och jag ville se till att Google insåg att det var brödsmulor. Jag hittade en källa som beskrev att jag skulle beskriva brödsmulor på detta sätt:

<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
   <a href="http://www.example.com/dresses" itemprop="url">
     <span itemprop="title">Dresses</span>
   </a> ›
 </div>
 <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
   <a href="http://www.example.com/dresses/real" itemprop="url">
     <span itemprop="title">Real Dresses</span>
   </a> ›
 </div>
 <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
   <a href="http://www.example.com/clothes/dresses/real/green" itemprop="url">
     <span itemprop="title">Real Green Dresses</span>
   </a>
 </div>

Jag skrev då en twig-fil för att skriva ut dessa brödsmulor. Twig-filen fick se ut så här:

<div class="breadcrumb">
  <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
    <a href="{{ path('site_root')}}" itemprop="url">
      <span itemprop="title">Startsida</span>
    </a>
  </div>
  {% for crumble in breadCrumbles %}
  <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
    › <a href="{{path('category_show', {'id':crumble.id})}}" itemprop="url">
       <span itemprop="title">{{ crumble.name }}</span>
    </a>
  </div>
  {% endfor %}
  <div class="clear"></div>
</div>

Crumble är ett kategoriobjekt som jag hämtar id och namn ifrån. Två veckor efter att jag publicerade sidan var de flesta kategorier indexerade och Google noterade direkt att jag använda brödsmulor. På bilden nedan visas hur ett sökresultat ser ut. Notera sökvägen över snippeten.



Relaterat:

  1. Symfony2 med ny version
  2. Drupal tar efter Symfony2
  3. Unikt index med Doctrine och Symfony2
  4. Symfony2 forum
Skrivet mars 2nd, 2012 av