ゆーじぇいブログ

ゆーじぇいブログ

プログラミングとか色々

[Django]Twitter Cardに表示するコンテンツやURLをページごとに変える

f:id:jyouj:20181124164719j:plain

ツイッターで共有するのはもはや必須の時代となりました。そこでTwitter Cardに表示する内容をDjangoでページごとに変更してみようと思ったわけです。

結構簡単にできるので見てみてください。

通常のTwitter Card

URLに変数が含まれていないページではheadタグの中にこう記述します。

    {% block meta %}
    <meta name="twitter:card" content="summary">
    <meta name="twitter:site" content="<アカウント名>">
    <meta name="og:url" content="<url>">
    <meta name="og:title" content="<title>">
    <meta name="og:description" content="<説明>">
    <meta name="og:image" content="<画像取得>">
    {% endblock %}

ページごとに変わる場合

簡単ですね。Djangoのテンプレートに渡す変数のタグを使えばOK

{% block meta %}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="<アカウント名>">
<meta name="og:url" content="https://<url>/{{ post.id }}/">
<meta name="og:title" content="{{ post.post_title }}">
<meta name="og:description" content="{{ post.text}}">
<meta name="og:image" content="<画像取得>">
{% endblock %}

Twitter Card Validatorで表示されていたらOKです。変更にはタイムラグがあるかも。


https://cards-dev.twitter.com/validator

何かあれば、じぇい👨‍💻 (@jyouj__) | Twitterに!