Search Engine Optimization (SEO)

De Current Page-Breadcrumb

By 16 december 2018 juli 19th, 2019 No Comments

Sinds de introductie van Schema.org voor het opmaken van gestructureerde data in juni 2011 hebben webbouwers een vaste standaard om hun HTML code van tags te voorzien. Het initiatief, gestart door de zoekmachines Google, Bing en Yahoo, had als doel een eenvoudig uit te lezen codering op te stellen waarmee websites hun data konden labelen.

Zeven jaar later en één probleem met het opmaken van data middels Schema.org lijkt nog steeds niet opgelost de correcte methode voor het opmaken van de laatste broodkruimel in de BreadcrumbList. Online was er tot op heden geen eenzijdig antwoord te vinden op de vraag hoe deze “current page-breadcrumb” probleemloos geïmplementeerd moet worden via Schema.org. De breadcrumb dient namelijk niet aanklikbaar te zijn op de pagina zelf, maar moet volgens Google en Schema.org wél ingevuld worden in de gestructureerde data.

Google’s antwoord

Een online veel aangehaalde stelregel van Google is:

Each breadcrumb item should appear in order, with the first item representing the top-level page, and the final item representing the parent of the current page.

Kortgezegd: neem de laatste stap (de “current page”) niet in het broodkruimelspoor op. Deze uitspraak is inmiddels echter niet meer terug te vinden op Google’s informatiepagina’s en wellicht verwijderd omdat deze achterhaald is. Wat Google nu wél stelt is het volgende:

Specify all required properties for your rich result type. Items that are missing required properties are not eligible for rich results1.

Op Google’s informatiepagina over de implementatie van BreadcrumbList-rich snippets zijn de voorbeeldlinks die zij bieden daarnaast allemaal voorzien van een URL, en ook op Schema.org gebeurt dit2.  Qua SEO is dit echter niet wenselijk; een pagina dient geen naar zichzelf verwijzende link te bevatten.

De opmaak van deze laatste broodkruimel in het broodkruimelspoor leidt voor veel sites bij het gebruik van MicroData tot één van de volgende problemen:

  • als de laatste kruimel in de gestructureerde data weggelaten wordt verschijnt deze niet op de pagina én niet in de SERPs;
  • als de laatste kruimel in de gestructureerde data niet weggelaten wordt verschijnt deze wel op de pagina, maar dit maakt de kruimel ongewenst aanklikbaar; of
  • als de laatste kruimel zonder URL opgemaakt wordt in de structured data geeft dit een fout in Google’s Structured Data Testing Tool (SDTT), zoals te zien in Figuur 1.

Figuur 1 – Google SDTT-test van BreadcrumbList opgemaakt middels MicroData zonder URL voor de laatste broodkruimel

De oplossing: de juiste opmaak van de “current page-breadcrumb”

Hoewel Google aanraadt de BreadcrumbList aan te maken middels MicroData ligt het antwoord op dit probleem echter in het negeren van dit advies. Alle problemen met het opmaken van de current page-breadcrumb kunnen verholpen worden door het toepassen van de volgende strategie:

  • maak het broodkruimelspoor op middels HTML;
  • implementeer de BreadcrumbList-snippets conform Schema.org middels JSON-LD.

Het is hierbij geen probleem als voor de overige gestructureerde data op de site gebruik gemaakt wordt van (bijvoorbeeld) MicroData in plaats van JSON-LD. Aangezien een BreadcrumbList-snippet opgemaakt met JSON-LD niet visueel op een pagina verschijnt leidt de voorgenoemde implementatiemethode ook niet tot de vertoning van twee broodkruimelsporen op de site zelf.

Een voorbeeld van de mark-up

Ter illustratie van deze methode van opmaak is in Figuur 2 het broodkruimelspoor voor https://www.smart-im.nl/diensten/seo/ te zien, bestaande uit de homepagina “smart-im.nl” en de subcategoriepagina’s “/diensten” en “/seo”. In Figuur 3 is daarnaast een voorbeeld te zien van hoe dit broodkruimelspoor zonder mark-up opgemaakt is. In dit voorbeeld is te zien dat “SEO”, de current page-breadcrumb, geen link bevat.


Figuur 2 – Breadcrumb trail van https://www.smart-im.nl/diensten/seo/

Hoe deze breadcrumbs vervolgens conform Schema.org met JSON-LD opgemaakt kunnen worden als BreadcrumbList is te zien in Figuur 4. Deze BreadcrumbList verwijst naar de zichtbaar geïmplementeerde broodkruimels, welke opgemaakt kunnen worden zoals weergegeven in Figuur 3.


Figuur 3 – Implementatie breadcrumbs trail voor Figuur 2

Hoe deze breadcrumbs vervolgens conform Schema.org met JSON-LD opgemaakt kunnen worden als BreadcrumbList is te zien in Figuur 4. Deze BreadcrumbList verwijst naar de zichtbaar geïmplementeerde broodkruimels, welke opgemaakt kunnen worden zoals weergegeven in Figuur 3.

Figuur 4 – Implementatie breadcrumbs trail voor Figuur 2 middels JSON-LD

Zoals in Figuur 5 te zien is, wordt de implementatie van deze methode voor het opmaken van gestructureerde data als correct bevonden door Google’s SDTT; er wordt namelijk geen verplichte informatie weggelaten.

Figuur 5 – Google SDTT-test van BreadcrumbList opgemaakt middels JSON-LD

De implementatiemethode leidt daarnaast tot de gewenste vertoning van rich snippets in de organische zoekresultaten, zoals te zien is in Figuur 6: hier worden de bovenliggende pagina’s als breadcrumbs weergegeven, terwijl de current page-breadcrumb de hoofdlink beslaat.

Rich snippets in organische zoekresultaten
Figuur 6 – Vertoning van rich snippets in de organische zoekresultaten op basis van Figuur 1 en Figuur 2

Conclusie

Het opmaken van BreadcrumbList-snippets conform Schema.org met MicroData resulteert, wanneer de laatste breadcrumb in de lijst voorzien wordt van een URL, in een ongewenst aanklikbare broodkruimel. Wordt de laatste URL hier echter weggelaten, dan wordt dit als een fout aangekaart door Google’s Structured Data Testing Tool.

Om deze problemen te voorkomen kan er gekozen worden voor het instellen van een broodkruimelspoor zonder mark-up, waaraan vervolgens een structured data-schema op basis van JSON-LD kan worden gekoppeld. De JSON-LD mark-up verwijst daarbij naar de zichtbaar geïmplementeerde broodkruimels, zonder hier direct wijzigingen in aan te brengen: dit voorkomt dat de laatste broodkruimel op de bijbehorende pagina aanklikbaar wordt, terwijl de mark-up toch geaccepteerd wordt door Google.

Bronnen

Google. “Breadcrumb” [26-11-2018] Google Search (11-10-2018). https://developers.google.com/search/docs/data-types/breadcrumb.

Google. “Structured Data General Guidelines” [26-11-2018] Google Search (04-09-2018). https://developers.google.com/search/docs/guides/sd-policies.

Schema.org. “BreadcrumbList” [26-11-2018] Schema.org (24-10-2018).  https://schema.org/BreadcrumbList.