Add OG social card, update fallback og:image across all templates
- Generate 1200x630 social card with diamond mark, wordmark, tagline
- Landing page uses summary_large_image Twitter card
- All fallback og:image references updated from logo.png to og-card.png
- MT: partial index on removed_at, session read warnings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6 files changed,
+11 insertions,
-11 deletions
| 17 |
17 |
|
<meta name="twitter:image" content="{{ img }}">
|
| 18 |
18 |
|
{% else %}
|
| 19 |
19 |
|
<meta name="twitter:card" content="summary">
|
| 20 |
|
- |
<meta property="og:image" content="{{ host_url }}/static/images/logo.png">
|
| 21 |
|
- |
<meta name="twitter:image" content="{{ host_url }}/static/images/logo.png">
|
|
20 |
+ |
<meta property="og:image" content="{{ host_url }}/static/images/og-card.png">
|
|
21 |
+ |
<meta name="twitter:image" content="{{ host_url }}/static/images/og-card.png">
|
| 22 |
22 |
|
{% endif %}
|
| 23 |
23 |
|
<script type="application/ld+json">
|
| 24 |
24 |
|
{
|
| 10 |
10 |
|
<meta property="og:type" content="website">
|
| 11 |
11 |
|
<meta property="og:url" content="{{ host_url }}/">
|
| 12 |
12 |
|
<link rel="canonical" href="{{ host_url }}/">
|
| 13 |
|
- |
<meta name="twitter:card" content="summary">
|
| 14 |
|
- |
<meta property="og:image" content="{{ host_url }}/static/images/logo.png">
|
| 15 |
|
- |
<meta name="twitter:image" content="{{ host_url }}/static/images/logo.png">
|
|
13 |
+ |
<meta name="twitter:card" content="summary_large_image">
|
|
14 |
+ |
<meta property="og:image" content="{{ host_url }}/static/images/og-card.png">
|
|
15 |
+ |
<meta name="twitter:image" content="{{ host_url }}/static/images/og-card.png">
|
| 16 |
16 |
|
{% endblock %}
|
| 17 |
17 |
|
|
| 18 |
18 |
|
{% block content %}
|
| 21 |
21 |
|
<meta property="og:image" content="{{ img }}">
|
| 22 |
22 |
|
<meta name="twitter:image" content="{{ img }}">
|
| 23 |
23 |
|
{% else %}
|
| 24 |
|
- |
<meta property="og:image" content="{{ host_url }}/static/images/logo.png">
|
| 25 |
|
- |
<meta name="twitter:image" content="{{ host_url }}/static/images/logo.png">
|
|
24 |
+ |
<meta property="og:image" content="{{ host_url }}/static/images/og-card.png">
|
|
25 |
+ |
<meta name="twitter:image" content="{{ host_url }}/static/images/og-card.png">
|
| 26 |
26 |
|
{% endif %}
|
| 27 |
27 |
|
<script type="application/ld+json">
|
| 28 |
28 |
|
{
|
| 17 |
17 |
|
<meta property="og:image" content="{{ img }}">
|
| 18 |
18 |
|
<meta name="twitter:image" content="{{ img }}">
|
| 19 |
19 |
|
{% else %}
|
| 20 |
|
- |
<meta property="og:image" content="{{ host_url }}/static/images/logo.png">
|
| 21 |
|
- |
<meta name="twitter:image" content="{{ host_url }}/static/images/logo.png">
|
|
20 |
+ |
<meta property="og:image" content="{{ host_url }}/static/images/og-card.png">
|
|
21 |
+ |
<meta name="twitter:image" content="{{ host_url }}/static/images/og-card.png">
|
| 22 |
22 |
|
{% endif %}
|
| 23 |
23 |
|
<script type="application/ld+json">
|
| 24 |
24 |
|
{
|
| 17 |
17 |
|
<meta property="og:image" content="{{ img }}">
|
| 18 |
18 |
|
<meta name="twitter:image" content="{{ img }}">
|
| 19 |
19 |
|
{% else %}
|
| 20 |
|
- |
<meta property="og:image" content="{{ host_url }}/static/images/logo.png">
|
| 21 |
|
- |
<meta name="twitter:image" content="{{ host_url }}/static/images/logo.png">
|
|
20 |
+ |
<meta property="og:image" content="{{ host_url }}/static/images/og-card.png">
|
|
21 |
+ |
<meta name="twitter:image" content="{{ host_url }}/static/images/og-card.png">
|
| 22 |
22 |
|
{% endif %}
|
| 23 |
23 |
|
<script type="application/ld+json">
|
| 24 |
24 |
|
{
|