I recently had to fix some issues in Jekyll in which on my site because the
canonical links
were broken.
Instead of linking to an URL ending in / they linked to index.html
which works fine but is not actually the canonical link.
The easiest fix I thought up was to
replace
the string index.html
in the URL.
This can be done using
| replace:'foo','bar',
which will replace foo with bar.
This is how I solved the canonical URL issue:
<link rel="canonical" href="{{ site.url }}{{ page.url | replace:'index.html',''}}">