[Django]Twitter Cardに表示するコンテンツやURLをページごとに変える
ツイッターで共有するのはもはや必須の時代となりました。そこで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に!