WP Manifestindependent plugin directory
manifest / seo / wp-plugin-kashiwazaki-seo-link-card

Kashiwazaki SEO Link Card

This plugin allows you to display a link in a card format by simply using a shortcode. It fetches the OGP (Open Graph Protocol) data from the specified URL and displays the title, description, and thumbnail image in a clean and modern card.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/tsuyoshikashiwazaki/wp-plugin-kashiwazaki-seo-link-card/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

URLを記述するだけで、ページの情報を取得してカード形式で表示するWordPressプラグインです。OGPデータの自動取得、内部リンク最適化、クリックトラッキング、カスタマイズ可能なデザインなど、豊富な機能を搭載しています。

主要機能

1. 自動OGPデータ取得

  • 外部サイトからOGP(Open Graph Protocol)データを自動取得
  • タイトル、ディスクリプション、サムネイル画像を美しいカードで表示
  • OGP画像がない場合の高度なフォールバック機能
    • Twitter Card、meta タグ、favicon の自動検索
    • ヘッダー・ロゴエリアの画像を優先的に取得
    • 本文画像をサイズで判定して最適なものを選択

2. 内部リンク最適化

  • WordPressデータベースから直接データ取得(高速・正確)
  • SEOプラグイン対応(Yoast SEO、All in One SEO)
  • アイキャッチ画像の自動取得
  • カスタム抜粋・自動生成抜粋の対応

3. インテリジェントキャッシュシステム

  • 外部リンク・内部リンクで異なるキャッシュ期間
    • 外部リンク:デフォルト 6時間
    • 内部リンク:デフォルト 72時間
  • 管理画面からキャッシュ期間のカスタマイズ可能
  • ワンクリックでキャッシュクリア機能

4. クリックトラッキング&アナリティクス

  • JavaScriptによる非侵襲的なクリック追跡
  • データベースへのクリックログ保存
  • 管理画面でのアナリティクス表示
    • リンクごとのクリック数
    • ページごとの集計
    • 期間絞り込み機能

5. 柔軟なデザインカスタマイズ

カラーテーマ

  • 8種類のプリセットテーマ:赤、青、緑、紫、オレンジ、灰色、白、黒
  • カスタムカラー機能:カラーピッカーで自由に色を設定
  • 外部リンク・内部リンクで個別設定可能

サムネイル設定

  • 表示/非表示の切り替え
  • 位置設定(左/右)
  • サイズのカスタマイズ(幅・高さ)
  • 外部リンク・内部リンクで個別設定可能

バッジ機能

  • 「外部リンク」「内部リンク」バッジの自動表示
  • 表示/非表示の切り替え可能
  • サムネイル上への配置で視認性向上

6. SEO対策

  • <blockquote cite="URL"> タグで引用を明示
  • 適切なセマンティックHTML構造
  • target="_blank" には自動的に rel="noopener" を追加

7. 開発者向け機能

REST API

  • カスタムエンドポイント /kslc/v1/all-posts
  • 投稿タイプフィルター、検索機能
  • エディタ統合用のデータ取得

ブロックパターン

  • Gutenbergブロックパターンの登録
  • ブロックエディタでの簡単挿入

インストール

手動インストール

  1. このリポジトリをダウンロード

    git clone https://github.com/TsuyoshiKashiwazaki/wp-plugin-kashiwazaki-seo-link-card.git
  2. WordPressの /wp-content/plugins/ ディレクトリにアップロード

    cd wp-content/plugins/
    mv /path/to/wp-plugin-kashiwazaki-seo-link-card kashiwazaki-seo-link-card
  3. WordPress管理画面のプラグインメニューから有効化

  4. 設定メニュー「Kashiwazaki SEO Link Card」から設定を調整

使い方

基本的なショートコード

外部リンク

[linkcard url="https://example.com"]

内部リンク(投稿ID指定)

[linkcard post_id="123"]

カスタムタイトル

[linkcard url="https://example.com" title="カスタムタイトル"]

target と rel 属性のカスタマイズ

[linkcard url="https://example.com" target="_blank" rel="nofollow"]

利用可能なショートコード

  • [linkcard] - 推奨
  • [kashiwazaki_seo_link_card] - 正式名
  • [nlink] - 短縮版

ショートコード属性

属性 説明 デフォルト 例
url リンク先URL(外部リンク用) - url="https://example.com"
post_id 投稿ID(内部リンク用) 0 post_id="123"
title カスタムタイトル OGPから取得 title="記事タイトル"
target リンクターゲット 外部:_blank
内部:なし
target="_blank"
rel rel属性 外部:noopener rel="nofollow"

管理画面での設定

WordPress管理画面の「設定」→「Kashiwazaki SEO Link Card」から以下の設定が可能です:

デザイン設定

外部リンク設定

  • カラーテーマ:8種類のプリセット + カスタムカラー
  • サムネイル表示:オン/オフ
  • サムネイル位置:左 or 右
  • バッジ表示:オン/オフ

内部リンク設定

  • カラーテーマ:8種類のプリセット + カスタムカラー
  • サムネイル表示:オン/オフ
  • サムネイル位置:左 or 右
  • バッジ表示:オン/オフ

サムネイルサイズ

  • 幅:デフォルト 200px
  • 高さ:デフォルト 140px

キャッシュ設定

  • 外部リンクキャッシュ期間:デフォルト 6時間
  • 内部リンクキャッシュ期間:デフォルト 72時間
  • キャッシュクリア:ワンクリックで全キャッシュをクリア

アナリティクス

「リンク統計」サブメニューから以下の情報を確認できます:

  • リンクごとのクリック数
  • 掲載ページごとの集計
  • クリック日時の詳細ログ
  • 期間フィルタリング

技術仕様

動作環境

  • WordPress: 5.5以上(ブロックパターン機能を使用)
  • PHP: 7.0以上(推奨)、5.4以上で動作可能

技術的詳細

  • PHP 5.4以上で動作(短配列構文使用)
  • セキュリティサポートのためPHP 7.0以上を推奨
  • WordPress 5.5のブロックパターンAPI使用
  • REST API対応

使用技術

  • フロントエンド:jQuery、Vanilla JavaScript
  • バックエンド:PHP、WordPress API
  • データベース:カスタムテーブル(wp_kslc_analytics)
  • キャッシュ:WordPress Transients API
  • HTTP:WordPress HTTP API

データベーステーブル

プラグイン有効化時に自動作成されます:

wp_kslc_analytics
├── id (bigint) - 主キー
├── url (varchar) - リンク先URL
├── page_url (varchar) - 掲載ページURL
├── ip_address (varchar) - アクセス元IP
├── user_agent (text) - ユーザーエージェント
├── title (varchar) - リンクタイトル
└── clicked_at (datetime) - クリック日時

カスタマイズ

定数によるカスタマイズ

wp-config.php または テーマの functions.php で以下の定数を定義できます:

// デバッグログを有効化
define('KSLC_ENABLE_DEBUG_LOGS', true);

// 出力バッファハンドリングを完全無効化
define('KSLC_DISABLE_OUTPUT_BUFFER_HANDLING', true);

フィルターフック

今後のバージョンでカスタムフィルターフックを追加予定です。

トラブルシューティング

キャッシュが更新されない

管理画面の「キャッシュをクリア」ボタンをクリックしてください。

画像が表示されない

  1. 外部サイトのOGP設定を確認
  2. サムネイル表示設定がオンになっているか確認
  3. ファイアウォールがOGP画像URLをブロックしていないか確認

クリック統計が記録されない

  1. JavaScriptが有効になっているか確認
  2. AJAX URLが正しく設定されているか確認(ブラウザのコンソールでエラーを確認)
  3. データベーステーブルが作成されているか確認

プラグインを再有効化

プラグインを一度無効化し、再度有効化することでデータベーステーブルが再作成されます。

セキュリティ

  • WordPress Nonce によるCSRF対策
  • サニタイゼーション・エスケープ処理の徹底
  • SQLインジェクション対策(prepared statements使用)
  • XSS対策(esc_html, esc_url, esc_attr の使用)

パフォーマンス

  • トランジェントAPIによる効率的なキャッシュ
  • 内部リンクはデータベース直接取得(HTTP不要)
  • 外部リンクはタイムアウト設定(10秒)
  • 画像検索は最初の10個のみスキャン(過負荷防止)

ライセンス

GPL-2.0 or later

このプラグインはフリーソフトウェアです。GNU General Public License v2以降の条件の下で再配布および変更が可能です。

作者

柏崎剛 (Tsuyoshi Kashiwazaki)

サポート

バグ報告や機能リクエストは、GitHubのIssuesページでお願いします。

https://github.com/TsuyoshiKashiwazaki/wp-plugin-kashiwazaki-seo-link-card/issues

変更履歴

詳細は CHANGELOG.md を参照してください。

貢献

プルリクエストを歓迎します!大きな変更の場合は、まずissueを開いて変更内容を議論してください。

クレジット

このプラグインは WordPress コミュニティの素晴らしいツールとドキュメントに基づいて開発されました。