read_seo.html 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {% extends 'base.html' %}
  2. {% load crispy_forms_tags %}
  3. {% load static %}
  4. {% block add_meta_description %}
  5. <!-- Inclusion des métadonnées SEO avancées pour les articles -->
  6. {% include 'seo_meta.html' %}
  7. {% endblock %}
  8. {% block main %}
  9. <div class="card-body">
  10. {% if page.blog_art %}
  11. {% for item in page.blog_art %}
  12. <!-- Fil d'Ariane visible pour l'utilisateur -->
  13. <nav aria-label="breadcrumb" style="background: transparent; padding: 0;">
  14. <ol class="breadcrumb" style="background: transparent; padding: 0.5rem 0;">
  15. <li class="breadcrumb-item"><a href="{% url 'core_index' %}">Accueil</a></li>
  16. <li class="breadcrumb-item"><a href="{% url 'blog_index' %}">Blog</a></li>
  17. {% if item.b_cat.all %}
  18. {% for cat in item.b_cat.all|slice:":1" %}
  19. <li class="breadcrumb-item"><a href="{% url 'blog_tag' cat.cb_titre_slgify %}">{{ cat.cb_titre }}</a></li>
  20. {% endfor %}
  21. {% endif %}
  22. <li class="breadcrumb-item active" aria-current="page">{{ item.b_titre|truncatechars:50 }}</li>
  23. </ol>
  24. </nav>
  25. <!-- Article avec optimisations SEO -->
  26. <article itemscope itemtype="https://schema.org/BlogPosting">
  27. <!-- Métadonnées invisibles pour les moteurs de recherche -->
  28. <meta itemprop="headline" content="{{ item.b_titre }}">
  29. <meta itemprop="description" content="{{ item.b_description|striptags|truncatechars:160 }}">
  30. {% if item.b_description_img %}
  31. <meta itemprop="image" content="{{ item.b_description_img }}">
  32. {% endif %}
  33. {% if item.b_publdate %}
  34. <meta itemprop="datePublished" content="{{ item.b_publdate|date:'c' }}">
  35. <meta itemprop="dateModified" content="{{ item.b_publdate|date:'c' }}">
  36. {% endif %}
  37. <!-- Contenu principal de l'article -->
  38. <div itemprop="articleBody">
  39. <p class="card-text">{{item.b_contenu|safe}}</p>
  40. </div>
  41. </article>
  42. <!-- Bouton d'édition flottant pour les admins -->
  43. {% if user.is_staff %}
  44. <a href="/admin/blog/blog/{{item.id}}/change/"
  45. class="btn btn-warning btn-edit-article"
  46. target="_blank"
  47. title="Modifier cet article">
  48. <i class="fas fa-edit"></i> Modifier
  49. </a>
  50. <style>
  51. .btn-edit-article {
  52. position: fixed;
  53. bottom: 30px;
  54. right: 30px;
  55. z-index: 1000;