Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Jekyll how do I make paginator have canonical url?

In my Jekyll how do I make my blog paginator have a canonical url?

In my base template I have:

<link rel="canonical" href="{{ site.url }}{{ page.url|remove:'index.html' }}">

I expect when I go to /blog/page2/ that the meta data will be http://www.foo.com/blog/ instead I see <link rel="canonical" href="http://www.foo.com/blog/page2/">

How can I make the canonical url for all my blog pages be /blog/?

Here is the code for my paginator:

<!-- Pagination links -->
<div class="pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path }}" class="previous">Previous</a>
  {% endif %}
  <span class="page_number ">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path }}" class="next">Next</a>
  {% endif %}
</div>
like image 995
David Silva Smith Avatar asked Nov 17 '25 19:11

David Silva Smith


1 Answers

{% if page.url contains "blog/page" %}
{% assign canonical = "/blog/" %}
{% else %}
{% assign canonical = page.url|remove:'index.html' %}
{% endif %}
<link rel="canonical" href="{{ site.url }}{{ canonical }}">
like image 198
David Jacquel Avatar answered Nov 19 '25 09:11

David Jacquel